Sdílet prostřednictvím


Správa služby Key Vault pomocí Azure CLI

Tento článek popisuje, jak začít pracovat se službou Azure Key Vault pomocí Azure CLI. Můžete zobrazit informace o:

  • Vytvoření posíleného kontejneru (trezoru) v Azure
  • Přidání klíče, tajného klíče nebo certifikátu do trezoru klíčů
  • Registrace aplikace pomocí Microsoft Entra ID
  • Autorizace aplikace pro použití klíče nebo tajného kódu
  • Nastavení pokročilých zásad přístupu trezoru klíčů
  • Práce s moduly hardwarového zabezpečení (HSM)
  • Odstranění trezoru klíčů a přidružených klíčů a tajných klíčů
  • Různé příkazy příkazového řádku Azure pro různé platformy

Azure Key Vault je dostupný ve většině oblastí. Další informace najdete na stránce s cenami Key Vault.

Poznámka:

Tento článek neobsahuje pokyny k zápisu aplikace Azure, kterou zahrnuje jeden z kroků, který ukazuje, jak autorizovat aplikaci k použití klíče nebo tajného klíče v trezoru klíčů.

Přehled služby Azure Key Vault najdete v tématu Co je Azure Key Vault?) Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

Pokud chcete použít příkazy Azure CLI v tomto článku, musíte mít následující položky:

  • Předplatné služby Microsoft Azure. Pokud žádný nemáte, můžete si zaregistrovat bezplatnou zkušební verzi.
  • Azure CLI verze 2.0 nebo novější Pokud chcete nainstalovat nejnovější verzi, přečtěte si téma Instalace Azure CLI.
  • Aplikace, která bude nakonfigurována tak, aby používala klíč nebo heslo, které vytvoříte v tomto článku. Ukázková aplikace je k dispozici na webu Stažení softwaru společnosti Microsoft. Pokyny najdete v zahrnutého souboru Readme.

Získání nápovědy k rozhraní azure Command-Line pro různé platformy

Tento článek předpokládá, že znáte rozhraní příkazového řádku (Bash, Terminál, příkazový řádek).

Parametr --help nebo -h lze použít k zobrazení nápovědy pro konkrétní příkazy. Alternativně je možné použít také formát nápovědy Azure [command] [options]. Pokud pochybuje o parametrech potřebných příkazem, přečtěte si nápovědu. Například následující příkazy vrátí stejné informace:

az account set --help
az account set -h

Můžete si také přečíst následující články a seznámit se s Azure Resource Managerem v rozhraní azure pro různé platformy Command-Line:

Vytvoření posíleného kontejneru (trezoru) v Azure

Trezory jsou zabezpečené kontejnery zajištěné moduly hardwarového zabezpečení. Trezory pomáhají snížit riziko nechtěné ztráty informací o zabezpečení tím, že centralizují ukládání tajných kódů aplikací. Trezory klíčů také řídí a protokolují přístup k všemu, co je v nich uloženo. Azure Key Vault dokáže zpracovávat žádosti o certifikáty TLS (Transport Layer Security) a obnovovat je a poskytuje funkce potřebné pro robustní řešení správy životního cyklu certifikátů. V dalších krocích vytvoříte trezor.

Připojení k předplatným

Pokud se chcete přihlásit interaktivně, použijte následující příkaz:

az login

Pokud se chcete přihlásit pomocí účtu organizace, můžete předat svoje uživatelské jméno a heslo.

az login -u username@domain.com -p password

Pokud máte více než jedno předplatné a potřebujete zadat, které chcete použít, zadejte následující příkaz, abyste viděli předplatná pro váš účet:

az account list

Zadejte předplatné s parametrem předplatného.

az account set --subscription <subscription name or ID>

Další informace o konfiguraci rozhraní Command-Line Azure pro různé platformy najdete v tématu Instalace Azure CLI.

Vytvoření nové skupiny prostředků

Při použití Azure Resource Manageru se všechny související prostředky vytvoří uvnitř skupiny prostředků. Trezor klíčů můžete vytvořit v existující skupině prostředků. Pokud chcete použít novou skupinu prostředků, můžete vytvořit novou.

az group create -n "ContosoResourceGroup" -l "East Asia"

Prvním parametrem je název skupiny prostředků a druhým parametrem je umístění. Pokud chcete získat seznam všech možných umístění, zadejte:

az account list-locations

Registrace poskytovatele prostředků služby Key Vault

Při pokusu o vytvoření nového trezoru klíčů se může zobrazit chyba "Předplatné není zaregistrované pro použití oboru názvů Microsoft.KeyVault". Pokud se tato zpráva zobrazí, ujistěte se, že je ve vašem předplatném zaregistrovaný poskytovatel prostředků služby Key Vault. Jedná se o jednorázovou operaci pro každé předplatné.

az provider register -n Microsoft.KeyVault

Vytvořte trezor klíčů.

az keyvault create Pomocí příkazu vytvořte trezor klíčů. Tento skript má tři povinné parametry: název skupiny prostředků, název trezoru klíčů a zeměpisné umístění.

Chcete-li vytvořit nový trezor s názvem ContosoKeyVault ve skupině prostředků ContosoResourceGroup umístěné ve Východní Asii, zadejte:

az keyvault create --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --location "East Asia"

Výstup tohoto příkazu zobrazuje vlastnosti trezoru klíčů, který jste vytvořili. Dvě nejdůležitější vlastnosti jsou:

  • name: V příkladu je název ContosoKeyVault. Tento název použijete pro další příkazy služby Key Vault.
  • vaultUri: V příkladu je URI https://contosokeyvault.vault.azure.net. Aplikace, které používají váš trezor prostřednictvím REST API musí používat tento identifikátor URI.

Váš účet Azure je teď autorizovaný k provádění jakýchkoli operací s tímto trezorem klíčů. Zatím nikdo jiný nemá oprávnění.

Přidání klíče, tajného klíče nebo certifikátu do trezoru klíčů

Pokud chcete, aby služba Azure Key Vault vytvořila klíč chráněný softwarem za vás, použijte tento az key create příkaz.

az keyvault key create --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --protection software

Pokud máte v souboru .pem existující klíč, můžete ho nahrát do služby Azure Key Vault. Můžete zvolit ochranu klíče pomocí softwaru nebo HSM. Tento příklad naimportuje klíč ze souboru .pem a chrání ho softwarem pomocí hesla "hVFkk965BuUv":

az keyvault key import --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --pem-file "./softkey.pem" --pem-password "hVFkk965BuUv" --protection software

Teď můžete odkazovat na klíč, který jste vytvořili nebo nahráli do služby Azure Key Vault, pomocí jeho identifikátoru URI. Umožňuje https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey vždy získat aktuální verzi. Slouží https://<keyvault-name>.vault.azure.net/keys/<keyname>/<key-unique-id> k získání této konkrétní verze. Například: https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87.

Přidejte do trezoru tajný klíč, což je heslo s názvem SQLPassword a které má hodnotu hVFkk965BuUv do služby Azure Key Vaults.

az keyvault secret set --vault-name "ContosoKeyVault" --name "SQLPassword" --value "hVFkk965BuUv "

Na toto heslo můžete odkazovat pomocí jeho identifikátoru URI. Umožňuje https://ContosoVault.vault.azure.net/secrets/SQLPassword vždy získat aktuální verzi a https://<keyvault-name>.vault.azure.net/secret/<secret-name>/<secret-unique-id> získat tuto konkrétní verzi. Například: https://ContosoVault.vault.azure.net/secrets/SQLPassword/90018dbb96a84117a0d2847ef8e7189d.

Importujte certifikát do trezoru pomocí souboru .pem nebo .pfx.

az keyvault certificate import --vault-name "ContosoKeyVault" --file "c:\cert\cert.pfx" --name "ContosoCert" --password "hVFkk965BuUv"

Podívejme se na klíč, tajný klíč nebo certifikát, který jste vytvořili:

  • Pokud chcete zobrazit klíče, zadejte:
az keyvault key list --vault-name "ContosoKeyVault"
  • Pokud chcete zobrazit tajné kódy, zadejte:
az keyvault secret list --vault-name "ContosoKeyVault"
  • Pokud chcete zobrazit certifikáty, zadejte:
az keyvault certificate list --vault-name "ContosoKeyVault"

Registrace aplikace pomocí Microsoft Entra ID

Tento krok obvykle provádí vývojář na samostatném počítači. Informace není specifická pouze pro Azure Key Vault, ale je zde zahrnuta pro informaci. K dokončení registrace aplikace musí být váš účet, trezor a aplikace ve stejném adresáři Azure.

Aplikace, které používají trezor klíčů, se musí ověřovat pomocí tokenu z ID Microsoft Entra. Vlastník aplikace ji musí nejprve zaregistrovat v Microsoft Entra. Na konci registrace získá vlastník aplikace následující hodnoty:

  • ID aplikace (označované také jako ID klienta Microsoft Entra nebo appID)
  • Ověřovací klíč (označovaný také jako sdílený tajný klíč)

Aplikace musí předložit obě tyto hodnoty Microsoft Entra ID, aby získala token. Způsob konfigurace aplikace pro získání tokenu bude záviset na aplikaci. U ukázkové aplikace Key Vault nastaví vlastník aplikace tyto hodnoty v souboru app.config.

Podrobné pokyny k registraci aplikace pomocí Microsoft Entra ID byste si měli přečíst v článcích nazvaných Integrace aplikací s Microsoft Entra ID, Vytvoření aplikace Microsoft Entra a služebního objektu, který má přístup k prostředkům, pomocí portálu a Vytvoření služebního objektu Azure pomocí Azure CLI.

Registrace aplikace v Microsoft Entra ID:

az ad sp create-for-rbac -n "MyApp" --password "hVFkk965BuUv" --role Contributor --scopes /subscriptions/<subscription id>
# If you don't specify a password, one will be created for you.

Autorizace aplikace pro použití klíče nebo tajného kódu

Pokud chcete aplikaci autorizovat pro přístup ke klíči nebo tajnému kódu v trezoru, použijte az keyvault set-policy příkaz.

Pokud je například název vašeho trezoru ContosoKeyVault a chcete aplikaci autorizovat k dešifrování a přihlašování pomocí klíčů v trezoru, použijte následující příkaz s ID vaší aplikace:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --key-permissions decrypt sign

Pokud chcete autorizovat stejnou aplikaci ke čtení tajných kódů v trezoru, zadejte následující příkaz:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --secret-permissions get

Nastavení pokročilých zásad přístupu trezoru klíčů

Pomocí příkazu az keyvault update povolte pokročilé zásady pro trezor klíčů.

Povolení služby Key Vault pro nasazení: Umožňuje virtuálním počítačům načítat certifikáty uložené jako tajné kódy z trezoru.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-deployment "true"

Povolení služby Key Vault pro šifrování disků: Vyžaduje se při použití trezoru pro azure Disk Encryption.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-disk-encryption "true"

Povolení služby Key Vault pro nasazení šablony: Umožňuje Resource Manageru načíst tajné kódy z trezoru.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-template-deployment "true"

Práce s moduly hardwarového zabezpečení (HSM)

Pro větší záruku můžete importovat nebo generovat klíče z modulů hardwarového zabezpečení (HSM), které nikdy neopustí hranice HSM. Moduly hardwarového zabezpečení jsou ověřeny pomocí FIPS 140. Pokud se tento požadavek nevztahuje na vás, přeskočte tuto část a přejděte na Odstranění trezoru klíčů a přidružených klíčů a tajných kódů.

Pokud chcete vytvořit tyto klíče chráněné HSM, musíte mít předplatné trezoru, které podporuje klíče chráněné HSM.

Když vytvoříte keyvault, přidejte parametr sku:

az keyvault create --name "ContosoKeyVaultHSM" --resource-group "ContosoResourceGroup" --location "East Asia" --sku "Premium"

Do tohoto trezoru můžete přidat klíče chráněné softwarem (jak je znázorněno výše) a klíče chráněné HSM. Pokud chcete vytvořit klíč chráněný HSM, nastavte cílový parametr na HSM:

az keyvault key create --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --protection "hsm"

Pomocí následujícího příkazu můžete importovat klíč ze souboru .pem ve vašem počítači. Tento příkaz naimportuje klíč do hsM ve službě Key Vault:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --pem-file "/.softkey.pem" --protection "hsm" --pem-password "PaSSWORD"

Další příkaz naimportuje balíček BYOK (Bring Your Own Key). To vám umožní vygenerovat klíč v místním HSM a přenést ho do hsM ve službě Key Vault, aniž by klíč opustil hranice HSM:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --byok-file "./ITByok.byok" --protection "hsm"

Podrobnější pokyny k vygenerování tohoto balíčku BYOK najdete v tématu Použití klíčů HSM-Protected se službou Azure Key Vault.

Odstranění trezoru klíčů a přidružených klíčů a tajných klíčů

Pokud už trezor klíčů a jeho klíče nebo tajné klíče nepotřebujete, můžete trezor klíčů odstranit pomocí az keyvault delete příkazu:

az keyvault delete --name "ContosoKeyVault"

Nebo můžete odstranit celou skupinu prostředků Azure, která zahrnuje trezor klíčů a všechny další prostředky, které jste do této skupiny zahrnuli:

az group delete --name "ContosoResourceGroup"

Různé příkazy příkazového řádku Azure pro různé platformy

Další příkazy, které můžou být užitečné pro správu služby Azure Key Vault

Tento příkaz zobrazí tabulkové zobrazení všech klíčů a vybraných vlastností:

az keyvault key list --vault-name "ContosoKeyVault"

Tento příkaz zobrazí úplný seznam vlastností zadaného klíče:

az keyvault key show --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Tento příkaz zobrazí tabulkové zobrazení všech názvů tajných kódů a vybraných vlastností:

az keyvault secret list --vault-name "ContosoKeyVault"

Tady je příklad odebrání konkrétního klíče:

az keyvault key delete --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Tady je příklad odebrání konkrétního tajného kódu:

az keyvault secret delete --vault-name "ContosoKeyVault" --name "SQLPassword"

Další kroky