Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Key Vault pomáhá chránit klíče, tajné kódy a certifikáty, jako jsou klíče rozhraní API a připojovací řetězce databáze.
V tomto kurzu nastavíte Python aplikaci pro čtení informací z Azure Key Vault pomocí spravované identity pro prostředky Azure. Naučíte se:
- Vytvořte trezor klíčů.
- Uložení tajného kódu do Key Vault
- Vytvoření virtuálního počítače Azure s Linuxem
- Umožněte spravovanou identitu pro virtuální počítač
- Udělte požadovaná oprávnění ke čtení dat z Key Vault konzolové aplikace.
- Načtení tajného kódu z Key Vault
Než začnete, přečtěte si základní koncepty Key Vault.
Pokud nemáte předplatné Azure, vytvořte si účet free.
Požadavky
Pro Windows, Mac a Linux:
Přihlásit se do Azure
Přihlaste se k Azure pomocí Azure CLI:
az login
Vytvořte skupinu prostředků a trezor klíčů
V tomto rychlém startu se používá předem vytvořený trezor klíčů Azure. Pro vytvoření úložiště klíčů postupujte podle kroků uvedených v těchto rychlých úvodech.
- rychlý start Azure CLI
- Azure PowerShell průvodce rychlým startem
- rychlý průvodce portálem Azure
Případně můžete tyto příkazy Azure CLI nebo Azure PowerShell spustit.
Důležité
Každý trezor klíčů musí mít jedinečný název. Nahraďte <vault-name> názvem trezoru klíčů v následujících příkladech.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Naplnit trezor klíčů tajemstvím
Pojďme vytvořit tajný kód s názvem mySecret s hodnotou Success!. Tajným kódem může být heslo, připojovací řetězec SQL nebo jakékoli jiné informace, které potřebujete k zabezpečení a dostupnosti vaší aplikace.
K přidání tajného kódu do nově vytvořeného trezoru klíčů použijte následující příkaz:
az keyvault secret set --vault-name "<vault-name>" --name "mySecret" --value "Success!"
Vytvoření virtuálního počítače
Pomocí jedné z následujících metod vytvořte virtuální počítač myVM s názvem myVM :
| Linux | Windows |
|---|---|
| Azure CLI | Azure CLI |
| PowerShell | PowerShell |
| portál Azure | portál Azure |
Pokud chcete vytvořit virtuální počítač s Linuxem pomocí Azure CLI, použijte příkaz az vm create. Následující příklad přidá uživatelský účet s názvem azureuser. Tento --generate-ssh-keys parametr slouží k automatickému vygenerování klíče SSH a jeho umístění do výchozího umístění klíče (~/.ssh).
az vm create \
--resource-group <resource-group> \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Všimněte si hodnoty publicIpAddress ve výstupu.
Přiřazení identity k virtuálnímu počítači
Pomocí příkazu az vm identity assign vytvořte spravovanou identitu přiřazenou systémem pro virtuální počítač:
az vm identity assign --name "myVM" --resource-group "<resource-group>"
Všimněte si identity přiřazené systémem ve výstupu:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Přiřazení oprávnění identitě virtuálního počítače
Pokud chcete získat oprávnění k trezoru klíčů prostřednictvím Role-Based Access Control (RBAC), přiřaďte roli k "User Principal Name" (UPN) pomocí příkazu Azure CLI az role assignment create.
az role assignment create --role "Key Vault Secrets User" --assignee "<upn>" --scope "/subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/<vault-name>"
Nahraďte hodnoty <upn>, <subscription-id> a <vault-name> skutečnými hodnotami. Pokud jste použili jiný název skupiny prostředků, nahraďte také myResourceGroup. Hlavní název uživatele (UPN) bude obvykle v formátu e-mailové adresy (např. username@domain.com).
Přihlášení k virtuálnímu počítači
Pokud se chcete přihlásit k virtuálnímu počítači, postupujte podle pokynů v části Připojení a přihlaste se k Azure virtuálnímu počítači s Linuxem nebo Připojením a přihlaste se k Azure virtuálnímu počítači se spuštěným Windows.
Pokud se chcete přihlásit k virtuálnímu počítači s ssh Linuxem, použijte <public-ip-address> z kroku Vytvoření virtuálního počítače:
ssh azureuser@<public-ip-address>
Instalace knihoven Python na virtuální počítač
Na virtuálním počítači nainstalujte dvě knihovny Python, které ukázkový skript používá: azure-keyvault-secrets a azure-identity.
Na virtuálním počítači s Linuxem je nainstalujte pomocí pip3:
pip3 install azure-keyvault-secrets azure-identity
Vytvoření a úprava ukázkového skriptu Python
Na virtuálním počítači vytvořte soubor Python s názvem sample.py. Do souboru vložte následující kód a nahraďte <vault-name> ho názvem vašeho trezoru klíčů:
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
key_vault_name = "<vault-name>"
key_vault_uri = f"https://{key_vault_name}.vault.azure.net"
secret_name = "mySecret"
credential = DefaultAzureCredential()
client = SecretClient(vault_url=key_vault_uri, credential=credential)
retrieved_secret = client.get_secret(secret_name)
print(f"The value of secret '{secret_name}' in '{key_vault_name}' is: '{retrieved_secret.value}'")
Spuštění ukázkové aplikace Python
Spusťte sample.py. Pokud je všechno správně nakonfigurované, aplikace vytiskne hodnotu tajného kódu:
python3 sample.py
The value of secret 'mySecret' in '<vault-name>' is: 'Success!'
Upravte zdroje
Pokud je už nepotřebujete, odstraňte virtuální počítač a trezor klíčů. Nejrychlejším způsobem je odstranit skupinu prostředků, do které patří:
az group delete -g "myResourceGroup"