Introducció a Azure Key Vault
Azure Key Vault és un servei de gestió de secrets que permet emmagatzemar i accedir a secrets de manera segura. Els secrets poden incloure claus d'encriptació, certificats, contrasenyes i altres dades sensibles. Key Vault ajuda a protegir aquestes dades mitjançant l'ús de mòduls de seguretat de maquinari (HSM) i altres mecanismes de seguretat avançats.
Objectius d'aprenentatge
- Comprendre què és Azure Key Vault i per què és important.
- Aprendre a crear i configurar un Key Vault.
- Gestionar secrets, claus i certificats dins del Key Vault.
- Integrar Key Vault amb altres serveis d'Azure.
Què és Azure Key Vault?
Azure Key Vault és un servei de gestió de secrets que proporciona una manera segura d'emmagatzemar i accedir a secrets com claus d'encriptació, certificats i contrasenyes. Els principals avantatges d'utilitzar Azure Key Vault inclouen:
- Seguretat: Utilitza HSM per protegir les claus criptogràfiques.
- Gestió centralitzada: Permet gestionar tots els secrets des d'un únic lloc.
- Integració: Es pot integrar fàcilment amb altres serveis d'Azure.
- Escalabilitat: Pot gestionar grans volums de secrets sense comprometre el rendiment.
Creació i configuració d'un Key Vault
Pas 1: Crear un Key Vault
- Accedeix al portal d'Azure.
- Navega a "Crear una recurs" i cerca "Key Vault".
- Selecciona "Key Vault" i fes clic a "Crear".
- Configura els paràmetres:
- Nom: Proporciona un nom únic per al teu Key Vault.
- Subscripció: Selecciona la subscripció adequada.
- Grup de recursos: Selecciona un grup de recursos existent o crea'n un de nou.
- Regió: Selecciona la regió on vols crear el Key Vault.
- Revisa i crea: Revisa la configuració i fes clic a "Crea".
Pas 2: Configurar l'accés
- Accedeix al teu Key Vault des del portal d'Azure.
- Navega a "Polítiques d'accés".
- Afegeix una nova política d'accés:
- Permisos de secret: Selecciona els permisos necessaris (per exemple, "Get", "List", "Set").
- Permisos de clau: Selecciona els permisos necessaris (per exemple, "Encrypt", "Decrypt").
- Permisos de certificat: Selecciona els permisos necessaris (per exemple, "Get", "List").
- Assigna la política d'accés a un principal de seguretat (usuari, grup o aplicació).
- Guarda els canvis.
Gestió de secrets, claus i certificats
Secrets
Crear un secret
from azure.keyvault.secrets import SecretClient from azure.identity import DefaultAzureCredential # Configura el client vault_url = "https://<your-key-vault-name>.vault.azure.net/" credential = DefaultAzureCredential() client = SecretClient(vault_url=vault_url, credential=credential) # Crea un secret secret_name = "mySecret" secret_value = "mySecretValue" client.set_secret(secret_name, secret_value)
Recuperar un secret
# Recupera un secret retrieved_secret = client.get_secret(secret_name) print(f"Secret: {retrieved_secret.value}")
Claus
Crear una clau
from azure.keyvault.keys import KeyClient from azure.identity import DefaultAzureCredential # Configura el client key_client = KeyClient(vault_url=vault_url, credential=credential) # Crea una clau key_name = "myKey" key = key_client.create_key(key_name, "RSA") print(f"Clau creada: {key.name}")
Recuperar una clau
# Recupera una clau retrieved_key = key_client.get_key(key_name) print(f"Clau: {retrieved_key.name}")
Certificats
Crear un certificat
from azure.keyvault.certificates import CertificateClient from azure.identity import DefaultAzureCredential # Configura el client cert_client = CertificateClient(vault_url=vault_url, credential=credential) # Crea un certificat cert_name = "myCert" cert_policy = { "issuer_parameters": {"name": "Self"}, "x509_certificate_properties": { "subject": "CN=MyCert", "validity_in_months": 12 } } cert_client.begin_create_certificate(cert_name, cert_policy) print(f"Certificat creat: {cert_name}")
Recuperar un certificat
# Recupera un certificat retrieved_cert = cert_client.get_certificate(cert_name) print(f"Certificat: {retrieved_cert.name}")
Integració amb altres serveis d'Azure
Azure Key Vault es pot integrar amb diversos serveis d'Azure per proporcionar una gestió segura de secrets. Alguns exemples inclouen:
- Azure App Service: Per emmagatzemar secrets com cadenes de connexió de bases de dades.
- Azure Functions: Per accedir a secrets durant l'execució de funcions.
- Azure DevOps: Per gestionar secrets durant el procés de CI/CD.
Exercicis pràctics
Exercici 1: Crear i gestionar un secret
- Crea un Key Vault seguint els passos descrits anteriorment.
- Crea un secret anomenat "dbPassword" amb el valor "P@ssw0rd!".
- Recupera el secret i mostra el seu valor.
Solució
from azure.keyvault.secrets import SecretClient from azure.identity import DefaultAzureCredential # Configura el client vault_url = "https://<your-key-vault-name>.vault.azure.net/" credential = DefaultAzureCredential() client = SecretClient(vault_url=vault_url, credential=credential) # Crea un secret secret_name = "dbPassword" secret_value = "P@ssw0rd!" client.set_secret(secret_name, secret_value) # Recupera el secret retrieved_secret = client.get_secret(secret_name) print(f"Secret: {retrieved_secret.value}")
Exercici 2: Crear i gestionar una clau
- Crea una clau anomenada "encryptionKey" de tipus RSA.
- Recupera la clau i mostra el seu nom.
Solució
from azure.keyvault.keys import KeyClient from azure.identity import DefaultAzureCredential # Configura el client vault_url = "https://<your-key-vault-name>.vault.azure.net/" credential = DefaultAzureCredential() key_client = KeyClient(vault_url=vault_url, credential=credential) # Crea una clau key_name = "encryptionKey" key = key_client.create_key(key_name, "RSA") print(f"Clau creada: {key.name}") # Recupera la clau retrieved_key = key_client.get_key(key_name) print(f"Clau: {retrieved_key.name}")
Resum
En aquesta secció, hem après què és Azure Key Vault i com ens pot ajudar a gestionar secrets, claus i certificats de manera segura. Hem vist com crear i configurar un Key Vault, així com gestionar els seus continguts mitjançant exemples pràctics. També hem explorat com integrar Key Vault amb altres serveis d'Azure per millorar la seguretat de les nostres aplicacions.
En el següent mòdul, explorarem la protecció DDoS d'Azure i com podem utilitzar-la per protegir les nostres aplicacions contra atacs distribuïts de denegació de servei.
Curs d'Azure
Mòdul 1: Introducció a Azure
- Què és Azure?
- Configuració del compte d'Azure
- Visió general del portal d'Azure
- Gestor de recursos d'Azure
Mòdul 2: Serveis bàsics d'Azure
Mòdul 3: Bases de dades d'Azure
- Base de dades SQL d'Azure
- Azure Cosmos DB
- Base de dades d'Azure per a MySQL
- Base de dades d'Azure per a PostgreSQL
Mòdul 4: Seguretat d'Azure
- Gestió d'identitat i accés d'Azure
- Centre de seguretat d'Azure
- Azure Key Vault
- Protecció DDoS d'Azure
Mòdul 5: Azure DevOps
Mòdul 6: Serveis avançats d'Azure
- Servei de Kubernetes d'Azure (AKS)
- Funcions d'Azure
- Aplicacions lògiques d'Azure
- Serveis cognitius d'Azure
Mòdul 7: Monitoratge i gestió
- Monitor d'Azure
- Anàlisi de registres d'Azure
- Informació d'aplicacions d'Azure
- Automatització d'Azure