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 databázové připojovací řetězec.
V tomto kurzu nastavíte aplikaci Pythonu pro čtení informací ze služby Azure Key Vault pomocí spravovaných identit pro prostředky Azure. Naučíte se:
- Vytvořte trezor klíčů.
- Uložení tajného kódu ve službě Key Vault
- Vytvoření virtuálního počítače Azure s Linuxem
- Umožněte spravovanou identitu pro virtuální počítač
- Udělení požadovaných oprávnění ke čtení dat ze služby Key Vault pro konzolovou aplikaci
- Získat tajemství z trezoru klíčů
Než začnete, přečtěte si základní koncepty Key Vault.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
Požadavky
Pro Windows, Mac a Linux:
- Git
- Tento kurz vyžaduje místní spuštění Azure CLI. Musíte mít nainstalované Azure CLI verze 2.0.4 nebo novější. Verzi zjistíte spuštěním příkazu
az --version
. Pokud potřebujete instalaci nebo upgrade rozhraní příkazového řádku (CLI), přečtěte si téma Instalace Azure CLI 2.0.
Přihlášení k Azure
Pokud se chcete přihlásit k Azure pomocí Azure CLI, zadejte:
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.
Alternativně můžete spustit tyto příkazy Azure CLI nebo Azure PowerShellu.
Důležité
Každý trezor klíčů musí mít jedinečný název. Nahraďte <váš-unikátní-název-trezoru> názvem vašeho trezoru klíčů v následujících příkladech.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<your-unique-keyvault-name>" -g "myResourceGroup" --enable-rbac-authorization
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 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 "<your-unique-keyvault-name>" --name "mySecret" --value "Success!"
Vytvoření virtuálního počítače
Vytvořte virtuální počítač s názvem myVM pomocí jedné z následujících metod:
Linux | Windows |
---|---|
Azure CLI | Azure CLI |
PowerShell | PowerShell |
Azure Portal | Azure Portal |
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 myResourceGroup \
--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 Azure CLI az vm identity assign vytvořte identitu přiřazenou systémem pro virtuální počítač:
az vm identity assign --name "myVM" --resource-group "myResourceGroup"
Poznamenejte si identitu přiřazenou systémem, která se zobrazí v následujícím kódu. Výstup předchozího příkazu by byl:
{
"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 řízení přístupu na základě role (RBAC), přiřaďte roli k hlavnímu názvu uživatele (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/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"
Nahraďte <upn>, <subscription-id>, <resource-group-name> a <your-unique-keyvault-name> skutečnými hodnotami. Hlavní název uživatele (UPN) bude obvykle ve 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 tématu Připojení a přihlaste se k virtuálnímu počítači Azure se systémem Linux nebo Connect a přihlaste se k virtuálnímu počítači Azure s Windows.
Pokud se chcete přihlásit k virtuálnímu počítači s Linuxem, můžete použít příkaz ssh s <publicIpAddress> zadaným v kroku Vytvoření virtuálního počítače :
ssh azureuser@<PublicIpAddress>
Instalace knihoven Pythonu na virtuální počítač
Na virtuálním počítači nainstalujte dvě knihovny Pythonu, které budeme používat v našem skriptu Pythonu: azure-keyvault-secrets
a azure.identity
.
Například na virtuálním počítači s Linuxem můžete nainstalovat následující pomocí pip3
.
pip3 install azure-keyvault-secrets
pip3 install azure.identity
Vytvoření a úprava ukázkového skriptu Pythonu
Na virtuálním počítači vytvořte soubor Pythonu s názvem sample.py. Upravte soubor tak, aby obsahoval následující kód a nahraďte <název-unique-keyvault-name> názvem vašeho trezoru klíčů:
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
key_vault_name = "<your-unique-keyvault-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 v Pythonu
Nakonec spusťte sample.py. Pokud všechno proběhlo dobře, mělo by vrátit hodnotu vašeho tajemství.
python3 sample.py
The value of secret 'mySecret' in '<your-unique-keyvault-name>' is: 'Success!'
Upravte zdroje
Pokud už je nepotřebujete, odstraňte virtuální počítač a trezor klíčů. Rychle se můžete zbavit skupiny prostředků, do které patří, tím, že ji odstraníte.
az group delete -g myResourceGroup