Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Key Vault to usługa w chmurze, która zapewnia bezpieczny magazyn wpisów tajnych, takich jak klucze, hasła, certyfikaty i inne wpisy tajne. Ten szybki przewodnik koncentruje się na procesie wdrażania szablonu Azure Resource Manager (szablonu ARM) w celu utworzenia magazynu kluczy i tajemnicy.
Szablon Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. Szablon używa składni deklaratywnej. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.
Jeśli środowisko spełnia wymagania wstępne i znasz szablony ARM, wybierz przycisk Wdróż do Azure. Szablon zostanie otwarty w portalu Azure.
Wymagania wstępne
Aby ukończyć ten artykuł:
Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz konto free.
Aby skonfigurować uprawnienia, szablon wymaga identyfikatora obiektu użytkownika Microsoft Entra. Poniższa procedura pobiera identyfikator obiektu (GUID).
Uruchom następujące polecenie Azure PowerShell lub Azure CLI, wybierając pozycję Try it a następnie wklej skrypt w okienku powłoki. Aby wkleić skrypt, kliknij prawym przyciskiem myszy powłokę, a następnie wybierz polecenie Wklej.
echo "Enter your email address that is used to sign in to Azure:" && read upn && az ad user show --id $upn --query "Id" && echo "Press [ENTER] to continue ..."Zanotuj identyfikator obiektu. Potrzebujesz go w następnej sekcji tego przewodnika Szybki start.
Przegląd szablonu
Ważna
Ten przewodnik szybkiego startu wykorzystuje zewnętrzny szablon, który tworzy sejf ze starszymi zasadami dostępu. W przypadku wdrożeń produkcyjnych należy zamiast tego użyć autoryzacji RBAC Azure. Zobacz Utwórz magazyn kluczy za pomocą szablonu ARM jako szablon korzystający z enableRbacAuthorization: true lub zobacz Zabezpiecz swój Azure Key Vault, aby uzyskać kompleksowe wskazówki dotyczące bezpieczeństwa.
Szablon używany w tym przewodniku szybkiego startu pochodzi z Azure Quickstart Templates.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "8629186205194254058"
}
},
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the key vault should be created."
}
},
"enabledForDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
}
},
"enabledForDiskEncryption": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
}
},
"enabledForTemplateDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
}
},
"tenantId": {
"type": "string",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"description": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet."
}
},
"objectId": {
"type": "string",
"metadata": {
"description": "Specifies the object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. Get it by using Get-AzADUser or Get-AzADServicePrincipal cmdlets."
}
},
"keysPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to keys in the vault. Valid values are: all, encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, backup, restore, recover, and purge."
}
},
"secretsPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge."
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "Specifies whether the key vault is a standard vault or a premium vault."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the secret that you want to create."
}
},
"secretValue": {
"type": "securestring",
"metadata": {
"description": "Specifies the value of the secret that you want to create."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-07-01",
"name": "[parameters('keyVaultName')]",
"location": "[parameters('location')]",
"properties": {
"enabledForDeployment": "[parameters('enabledForDeployment')]",
"enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
"enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
"tenantId": "[parameters('tenantId')]",
"enableSoftDelete": true,
"softDeleteRetentionInDays": 90,
"accessPolicies": [
{
"objectId": "[parameters('objectId')]",
"tenantId": "[parameters('tenantId')]",
"permissions": {
"keys": "[parameters('keysPermissions')]",
"secrets": "[parameters('secretsPermissions')]"
}
}
],
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2023-07-01",
"name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretName'))]",
"properties": {
"value": "[parameters('secretValue')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('keyVaultName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
}
}
}
Dwa zasoby Azure są zdefiniowane w szablonie:
- Microsoft. KeyVault/vaults: utwórz magazyn kluczy Azure.
- Microsoft.KeyVault/vaults/secrets: utwórz tajemnicę magazynu kluczy.
Więcej przykładów szablonów Azure Key Vault można znaleźć w Azure Quickstart Templates.
Wdrażanie szablonu
Wybierz poniższy obraz, aby zalogować się do Azure i otworzyć szablon. Ten szablon umożliwia utworzenie magazynu kluczy oraz tajemnicy.
Wybierz lub wprowadź następujące wartości.
szablon

Jeśli nie jest to określone, użyj wartości domyślnej do utworzenia magazynu kluczy i tajemnicy.
- Subscription: wybierz subskrypcję Azure.
- Grupa zasobów: wybierz pozycję Utwórz nową, wprowadź unikatową nazwę grupy zasobów, a następnie kliknij przycisk OK.
- Lokalizacja: wybierz lokalizację. Na przykład Środkowe stany USA.
- Nazwa Key Vault: wprowadź nazwę magazynu kluczy, która musi być globalnie unikalna w przestrzeni nazw .vault.azure.net. Podczas walidacji wdrożenia będziesz potrzebować nazwy w następnej sekcji.
- Identyfikator dzierżawy: funkcja szablonu automatycznie pobiera identyfikator dzierżawy. Nie zmieniaj wartości domyślnej.
- Ad Identyfikator użytkownika: wprowadź identyfikator obiektu użytkownika Microsoft Entra pobrany z Prerequisites.
- Nazwa tajemnicy: wprowadź nazwę tajemnicy przechowywanej w magazynie kluczy. Na przykład adminpassword.
- Wartość tajna: wprowadź wartość tajną. Jeśli przechowujesz hasło, zalecane jest użycie wygenerowanego hasła utworzonego w sekcji Wymagania wstępne.
- Wyrażam zgodę na powyższe warunki i postanowienia: zaznacz.
Wybierz pozycję Kup. Po pomyślnym wdrożeniu skarbca kluczy dostaniesz powiadomienie.
szablon

Portal Azure służy do wdrażania szablonu. Oprócz portalu Azure można również użyć Azure PowerShell, Azure CLI i interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie szablonów.
Przeglądanie wdrożonych zasobów
Możesz użyć portalu Azure, aby sprawdzić Key Vault i tajny klucz, lub skorzystać z następującego skryptu Azure CLI lub Azure PowerShell, aby wyświetlić utworzony tajny klucz.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Dane wyjściowe wyglądają podobnie do następujących:
Uprzątnij zasoby
Inne szybkie starty i samouczki Key Vault opierają się na tym szybkim starcie. Jeśli planujesz nadal korzystać z kolejnych szybkich startów i samouczków, warto pozostawić te zasoby na miejscu. Gdy grupa zasobów nie jest już potrzebna, usuń grupę zasobów, która usuwa Key Vault i powiązane zasoby. Aby usunąć grupę zasobów przy użyciu Azure CLI lub Azure PowerShell:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Dalsze kroki
W tym szybkim rozpoczęciu utworzono magazyn kluczy i tajny przy użyciu szablonu Azure Resource Manager, po czym zweryfikowano wdrożenie. Aby dowiedzieć się więcej na temat Key Vault i Azure Resource Manager, przejdź do poniższych artykułów.
- Przeczytaj Omówienie Azure Key Vault
- Dowiedz się więcej o Azure Resource Manager
- Zapoznaj się z omówieniem zabezpieczeń Key Vault