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 i certyfikaty. Ten przewodnik omawia proces wdrażania pliku Bicep w celu utworzenia magazynu kluczy oraz certyfikatu z podpisem własnym.
Bicep to język specyficzny dla domeny (DSL), który używa składni deklaratywnej do wdrażania zasobów platformy Azure. Zapewnia zwięzłą składnię, niezawodne bezpieczeństwo typów i obsługę ponownego użycia kodu. Bicep oferuje najlepsze środowisko do tworzenia rozwiązań typu infrastruktura jako kod w Azure.
Wymagania wstępne
- Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.
Przejrzyj plik Bicep
Szablon użyty w tym szybkim starcie pochodzi z szablonów szybkiego startu platformy Azure.
@description('The name of the key vault to be created.')
param vaultName string
@description('The name of the certificate to be created.')
param certificateName string
@description('The location of the resources.')
param location string = resourceGroup().location
@description('The SKU of the vault to be created.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('The common name (subject) for the self-signed certificate. Defaults to the certificate name.')
param certificateCommonName string = certificateName
@description('The validity of the certificate in months.')
@minValue(1)
@maxValue(1200)
param validityInMonths int = 12
resource vault 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: vaultName
location: location
properties: {
enableRbacAuthorization: true
enableSoftDelete: true
softDeleteRetentionInDays: 90
enablePurgeProtection: true
enabledForDeployment: false
enabledForDiskEncryption: false
enabledForTemplateDeployment: false
tenantId: subscription().tenantId
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
// Key Vault certificates are a data-plane concept and cannot be created
// directly through ARM. Use the public Bicep registry module which wraps
// `az keyvault certificate create` in a deployment script (it provisions a
// user-assigned managed identity with the Key Vault Certificate Officer
// role on the vault for the duration of the deployment).
module certificate 'br/public:deployment-scripts/create-kv-certificate:3.4.2' = {
name: 'create-${certificateName}'
params: {
akvName: vault.name
location: location
certificateNames: [certificateName]
certificateCommonNames: [certificateCommonName]
validity: validityInMonths
}
}
output location string = location
output name string = vault.name
output resourceGroupName string = resourceGroup().name
output resourceId string = vault.id
output certificateSecretId string = certificate.outputs.certificateSecretIds[0][0]
output certificateThumbprint string = certificate.outputs.certificateThumbprintHexs[0][0]
Dwa zasoby platformy Azure są zdefiniowane w pliku Bicep:
-
Microsoft. KeyVault/vaults: utwórz magazyn kluczy Azure z włączoną autoryzacją RBAC Azure (
enableRbacAuthorization: true). - Microsoft.Resources/deployments: zagnieżdżone wdrożenie, które uruchamia moduł rejestru create-kv-certificate w celu utworzenia certyfikatu z podpisem własnym w magazynie. Certyfikaty są zasobem płaszczyzny danych i nie można ich utworzyć bezpośrednio przy użyciu typu zasobu ARM.
Wdróż plik Bicep
Zapisz plik Bicep jako main.bicep na komputerze lokalnym.
Wdróż plik Bicep przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.
az group create --name myResourceGroup --location eastus az deployment group create --resource-group myResourceGroup --template-file main.bicep --parameters vaultName=<vault-name> certificateName=myCertNote
Zastąp
<vault-name>nazwą magazynu kluczy, która musi być globalnie unikatowa w przestrzeni nazwvault.azure.net.Po zakończeniu wdrażania powinien zostać wyświetlony komunikat informujący o pomyślnym wdrożeniu.
Przypisz rolę RBAC usługi Key Vault
Magazyn kluczy utworzony przez ten plik Bicep używa mechanizmu Azure RBAC do autoryzacji. Aby uzyskać dostęp do certyfikatów za pośrednictwem płaszczyzny danych (na przykład przy użyciu Azure CLI lub Azure PowerShell), musisz przypisać sobie odpowiednią rolę.
echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Certificates Officer" \
--assignee-object-id $(az ad signed-in-user show --query id -o tsv) \
--scope $(az keyvault show --name $keyVaultName --query id -o tsv)
Note
Propagacja przypisań ról może potrwać minutę lub dwie.
Przeglądanie wdrożonych zasobów
Możesz użyć portalu Azure do sprawdzenia magazynu kluczy i certyfikatu lub użyć następującego skryptu Azure CLI lub Azure PowerShell, aby wyświetlić listę utworzonych certyfikatów.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault certificate list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Uprzątnij zasoby
Gdy grupa zasobów i jej zasoby nie będą już potrzebne, użyj portalu Azure, Azure CLI lub Azure PowerShell.
az group delete --name myResourceGroup
Note
Usunięcie grupy zasobów powoduje również usunięcie magazynu kluczy, ale magazyn przechodzi następnie w stan usunięcia miękkiego i można go odzyskać przez okres przechowywania (domyślnie 90 dni). Nazwa magazynu pozostaje zarezerwowana globalnie w tym okresie i ponieważ włączono ochronę przed przeczyszczeniem, nie można wcześniej przeczyścić magazynu. W przypadku standardowych magazynów kluczy nie są naliczane opłaty za magazyny kluczy po usunięciu nietrwałym. Aby uzyskać więcej informacji, zobacz Omówienie usuwania nieostatecznego w usłudze Key Vault.
Następne kroki
W tym przewodniku Szybki start utworzono magazyn kluczy i certyfikat za pomocą Bicep, a następnie zweryfikowano wdrożenie. Aby dowiedzieć się więcej o usłudze Key Vault i usłudze Bicep, przejdź do poniższych artykułów.
- Przeczytaj omówienie usługi Azure Key Vault
- Dowiedz się więcej o Bicep
- Przegląd zabezpieczeń usługi Key Vault