Ügyfél által felügyelt kulcsok konfigurálása az Azure Cosmos DB-fiókhoz az Azure Managed HSM Key Vault

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Lásd: Ügyfél által felügyelt kulcsok konfigurálása az Azure Key Vault

Megjegyzés

Jelenleg az ügyfél által felügyelt kulcsok csak az új Azure Cosmos DB-fiókokhoz érhetők el. A fiók létrehozásakor konfigurálnia kell őket.

Az Azure Cosmos DB-erőforrás-szolgáltató regisztrálása az Azure-előfizetéshez

  1. Jelentkezzen be a Azure Portal, lépjen az Azure-előfizetésére, és válassza az Erőforrás-szolgáltatók lehetőséget a Beállítások lapon:

    Képernyőkép az Erőforrás-szolgáltatók lehetőségről az erőforrás-navigációs menüben.

  2. Keresse meg a Microsoft.DocumentDB erőforrás-szolgáltatót. Ellenőrizze, hogy az erőforrás-szolgáltató már regisztráltként van-e megjelölve. Ha nem, válassza ki az erőforrás-szolgáltatót, és válassza a Regisztráció lehetőséget:

    Képernyőkép a Microsoft.DocumentDB erőforrás-szolgáltató Regisztráció lehetőségéről.

Az Azure Managed HSM-Key Vault konfigurálása

Ha ügyfél által felügyelt kulcsokat használ az Azure Cosmos DB-vel, két tulajdonságot kell beállítania az Azure Key Vault-példányon, amelyeket a titkosítási kulcsok üzemeltetésére kíván használni: Helyreállítható törlés és törlés elleni védelem.

Mivel a helyreállítható törlés alapértelmezés szerint be van kapcsolva, csak a végleges törlés elleni védelmet kell engedélyezni. A felügyelt HSM létrehozásakor használja a következő CLI-parancsot:

objectId = az ad signed-in-user show --query id -o tsv
az keyvault create --hsm-name $hsmName --resource-group $rgName --location $location --enable-purge-protection true --administrators $objectId --retention-days 7

Ha meglévő Azure Managed HSM Key Vault-példányt használ, a tulajdonságok engedélyezését a Tulajdonságok szakaszban ellenőrizheti a következő paranccsal:

az keyvault show $hsmName $rgName

Ha a végleges törlés elleni védelem nincs engedélyezve, a következő parancs használható:

az keyvault update-hsm --enable-purge-protection true --hsm-name $hsmName --resource-group $rgName

A felügyelt HSM-hez elérhető PARANCSSOR-parancsokról az alábbi Azure-Key Vault

A titkosítási kulcs létrehozása és a levelező szerepkörök hozzárendelése

Miután aktiválta a felügyelt HSM-et, létre kell hoznia a CMK-fiókhoz használni kívánt kulcsot. Ehhez a "Managed HSM Crypto User" szerepkör hozzá van rendelve a rendszergazdához. Ha többet szeretne megtudni arról, hogy az RBAC (szerepköralapú hozzáférés-vezérlés) hogyan működik a felügyelt HSM-kel, tekintse meg a következő cikkeket: Felügyelt HSM helyi RBAC beépített szerepkörök – Azure Key Vault | A Microsoft Learn és az Azure által felügyelt HSM hozzáférés-vezérlési | Microsoft Learn

objectId = az ad signed-in-user show --query id -o tsv
$keyName = "Name of your key"
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto User" --assignee $objectId --scope /keys
az keyvault key create --hsm-name $hsmName --name $keyName --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

Most, hogy létrejött a kulcs, a levelező szerepkört hozzá kell rendelni a Cosmos DB-főazonosítóhoz vagy az Azure Managed Identity-hez a fiók kiépítéséhez. A "Managed HSM Crypto Service Encryption User" szerepkört azért használja a rendszer, mert csak három engedéllyel rendelkezik a CMK-fiók használatához: lekérés, körbefuttatás és kicsomagolás. Ezek az engedélyek hatóköre arra is kiterjed, hogy csak az Azure Managed HSM-en tárolt kulcsokon legyenek hasznosak.

Felügyelt Azure-identitás nélkül:

$cosmosPrincipal = az ad sp show --id a232010e-820c-4083-83bb-3ace5fc29d0b --query id -o tsv
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $cosmosPrincipal --scope /keys
$keyURI = "https://{0}.managedhsm.azure.net/keys/{1}" -f $hsmName, $keyName
az cosmosdb create -n $cosmosName -g $rgName --key-uri $keyURI

Felügyelt Azure-identitással:

$identityResourceID = az identity show -g $rgName -n $identityName --query id -o tsv
$identityPrincipal = az identity show -g $rgName -n $identityName --query principalId -o tsv
$defaultIdentity = "UserAssignedIdentity={0}" -f $identityResourceID
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $cosmosPrincipal --scope /keys
$keyURI = "https://{0}.managedhsm.azure.net/keys/{1}" -f $hsmName, $keyName
az cosmosdb create -n $cosmosName -g $rgName --key-uri $keyURI --assign-identity $identityResourceID --default-identity $defaultIdentity

Ezzel kiépül egy Cosmos DB CMK-fiók egy Azure-beli felügyelt HSM-Key Vault tárolt kulccsal.

Váltás a rendszer által hozzárendelt felügyelt identitásra.

A Cosmos DB támogatja a rendszer által hozzárendelt felügyelt identitás használatát egy CMK Cosmos DB-fiókhoz. A rendszer által hozzárendelt felügyelt identitás CMK-val kapcsolatos további információkért lásd: Ügyfél által felügyelt kulcsok konfigurálása az Azure Cosmos DB-fiókhoz

Hajtsa végre a következő parancsokat az alapértelmezett identitásról a rendszer által hozzárendelt felügyelt identitásra való váltáshoz:

az cosmosdb identity assign -n $cosmosName -g $rgName
$principalMSIId = az cosmosdb identity show -n $cosmosName -g $rgName --query principalId -o tsv
az keyvault role assignment create --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $principalMSIId --scope /keys
az cosmosdb update --resource-group $rgName --name $cosmosName --default-identity "SystemAssignedIdentity"

Nem kötelező megjegyzésként eltávolítható a Cosmos DB főazonosítójának vagy az Azure Managed Identitynek az eredeti szerepkör-hozzárendelése.

az keyvault role assignment delete --hsm-name $hsmName --role "Managed HSM Crypto Service Encryption User" --assignee $cosmosPrincipal --scope /keys

Következő lépések