Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
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 certyfikat. Ten przewodnik szybkiego startu koncentruje się na procesie wdrażania pliku Bicep w celu utworzenia magazynu kluczy i klucza.
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 tworzenia rozwiązań infrastruktury jako kodu na platformie Azure.
Wymagania wstępne
Aby ukończyć ten artykuł:
- Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.
- Użytkownik powinien mieć przypisaną wbudowaną rolę platformy Azure, zalecana rola to współautor. Dowiedz się więcej tutaj
Przejrzyj plik programu Bicep
@description('The name of the key vault to be created.')
param vaultName string
@description('The name of the key to be created.')
param keyName 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 JsonWebKeyType of the key to be created.')
@allowed([
'EC'
'EC-HSM'
'RSA'
'RSA-HSM'
])
param keyType string = 'RSA'
@description('The permitted JSON web key operations of the key to be created.')
param keyOps array = []
@description('The size in bits of the key to be created.')
param keySize int = 2048
@description('The JsonWebKeyCurveName of the key to be created.')
@allowed([
''
'P-256'
'P-256K'
'P-384'
'P-521'
])
param curveName string = ''
resource vault 'Microsoft.KeyVault/vaults@2021-11-01-preview' = {
name: vaultName
location: location
properties: {
accessPolicies:[]
enableRbacAuthorization: true
enableSoftDelete: true
softDeleteRetentionInDays: 90
enabledForDeployment: false
enabledForDiskEncryption: false
enabledForTemplateDeployment: false
tenantId: subscription().tenantId
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
resource key 'Microsoft.KeyVault/vaults/keys@2021-11-01-preview' = {
parent: vault
name: keyName
properties: {
kty: keyType
keyOps: keyOps
keySize: keySize
curveName: curveName
}
}
output proxyKey object = key.properties
Dwa zasoby są zdefiniowane w pliku Bicep:
Więcej przykładów szablonów usługi Azure Key Vault można znaleźć w artykule Szablony szybkiego startu platformy Azure.
Parametry i definicje
| Parameter | Definition |
|---|---|
| keyOps | Określa operacje, które mogą być wykonywane przy użyciu klucza. Jeśli nie określisz tego parametru, wszystkie operacje można wykonać. Dopuszczalne wartości dla tego parametru to rozdzielona przecinkami lista operacji klucza zdefiniowanych przez specyfikację klucza internetowego JSON (JWK):["sign", "verify", "encrypt", "decrypt", " wrapKey", "unwrapKey"] |
| CurveName | Nazwa krzywej eliptycznej (EC) dla kluczy typu EC. Zobacz JsonWebKeyCurveName |
| Kty | Typ klucza, który należy utworzyć. Prawidłowe wartości można znaleźć w temacie JsonWebKeyType |
| tagi | Metadane specyficzne dla aplikacji w postaci par klucz-wartość. |
| nbf | Określa godzinę jako obiekt DateTime, przed którym nie można użyć klucza. Formatem będzie znacznik czasu Unix (liczba sekund po epoce Unix, 1 stycznia 1970 w UTC). |
| Exp | Określa czas wygaśnięcia jako obiekt DateTime. Formatem będzie znacznik czasu Unix (liczba sekund po epoce Unix, 1 stycznia 1970 w UTC). |
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 exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters vaultName=<vault-name> keyName=<key-name>Uwaga / Notatka
Zastąp <vault-name> nazwą magazynu kluczy. Zastąp <vault-name> nazwą magazynu kluczy i zastąp <key-name> nazwą klucza.
Po zakończeniu wdrażania powinien zostać wyświetlony komunikat informujący o pomyślnym wdrożeniu.
Przeglądanie wdrożonych zasobów
Możesz użyć portalu Azure, aby sprawdzić magazyn kluczy i klucz. Alternatywnie użyj następującego interfejsu wiersza polecenia platformy Azure lub skryptu programu Azure PowerShell, aby wyświetlić listę utworzonych kluczy.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault key list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Tworzenie klucza przy użyciu szablonu usługi ARM różni się od tworzenia klucza za pośrednictwem płaszczyzny danych
Tworzenie klucza za pośrednictwem usługi ARM
Możliwe jest tworzenie tylko nowych kluczy. Nie można zaktualizować istniejących kluczy ani utworzyć nowych wersji istniejących kluczy. Jeśli klucz już istnieje, istniejący klucz jest pobierany z magazynu i używany (nie będą wykonywane żadne operacje zapisu).
Aby móc korzystać z tego interfejsu API, podmiot wywołujący musi mieć akcję "Microsoft.KeyVault/vaults/keys/write" w ramach kontroli dostępu opartej na rolach (Azure RBAC). Wbudowana rola "Współautor usługi Key Vault" jest wystarczająca, ponieważ autoryzuje wszystkie akcje RBAC platformy Azure zgodne ze wzorcem "Microsoft.KeyVault/*".
Istniejący interfejs API (tworzenie klucza za pośrednictwem płaszczyzny danych)
- Można utworzyć nowe klucze, zaktualizować istniejące klucze i utworzyć nowe wersje istniejących kluczy.
- Obiekt wywołujący musi być autoryzowany do korzystania z tego interfejsu API. Jeśli magazyn używa zasad dostępu, obiekt wywołujący musi mieć uprawnienie do "utworzenia" klucza; jeśli magazyn jest włączony dla Azure RBAC, obiekt wywołujący musi mieć akcję "Microsoft.KeyVault/vaults/keys/create/action" w ramach Azure RBAC DataAction.
Uprzątnij zasoby
Inne przewodniki szybkiego startu i samouczki dotyczące Key Vault opierają się na tym przewodniku. Jeśli planujesz nadal korzystać z kolejnych szybkich startów i samouczków, warto pozostawić te zasoby na miejscu. Jeśli nie będą Ci one już potrzebne, usuń grupę zasobów, a zostanie także usunięta usługa Key Vault i powiązane zasoby. Aby usunąć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure lub programu 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 wprowadzeniu utworzyłeś Key Vault i klucz przy użyciu pliku Bicep, a następnie zweryfikowałeś wdrożenie. Aby dowiedzieć się więcej o usłudze Key Vault i usłudze Azure Resource Manager, zobacz te artykuły.
- Przeczytaj omówienie usługi Azure Key Vault
- Dowiedz się więcej o usłudze Azure Resource Manager
- Przegląd zabezpieczeń usługi Key Vault