Sdílet prostřednictvím


Konfigurace klíčů spravovaných zákazníkem pro účet služby Azure Cosmos DB pomocí služby Azure Managed HSM Key Vault

PLATÍ PRO: NoSQL MongoDB Cassandra Skřítek Stůl

Projděte si odkaz Konfigurace klíčů spravovaných zákazníkem pomocí služby Azure Key Vault.

Poznámka:

Klíče spravované zákazníkem jsou v současné době dostupné jenom pro nové účty Azure Cosmos DB. Měli byste je nakonfigurovat při vytváření účtu.

Registrace poskytovatele prostředků Azure Cosmos DB pro vaše předplatné Azure

  1. Přihlaste se k webu Azure Portal, přejděte do svého předplatného Azure a na kartě Nastavení vyberte Poskytovatele prostředků:

    Snímek obrazovky s možností Poskytovatelé prostředků v navigační nabídce prostředků

  2. Vyhledejte poskytovatele prostředků Microsoft.DocumentDB . Ověřte, jestli je poskytovatel prostředků již označený jako zaregistrovaný. Pokud ne, zvolte poskytovatele prostředků a vyberte Zaregistrovat:

    Snímek obrazovky s možností Zaregistrovat pro poskytovatele prostředků Microsoft.DocumentDB

Konfigurace služby Azure Managed HSM Key Vault

Použití klíčů spravovaných zákazníkem se službou Azure Cosmos DB vyžaduje, abyste v instanci služby Azure Key Vault nastavili dvě vlastnosti, které chcete použít k hostování šifrovacích klíčů: obnovitelné odstranění a vymazání ochrany.

Vzhledem k tomu, že je ve výchozím nastavení zapnuté obnovitelné odstranění, musí být povolena pouze ochrana před vymazáním. Při vytváření spravovaného HSM použijte následující příkaz rozhraní příkazového řádku:

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

Pokud používáte existující instanci služby Azure Managed HSM Key Vault, můžete ověřit, jestli jsou tyto vlastnosti povolené, pomocí následujícího příkazu v části Vlastnosti :

az keyvault show $hsmName $rgName

Pokud není povolená ochrana před vymazáním, můžete použít následující příkaz:

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

Další informace opříkazch

Vytvoření šifrovacího klíče a přiřazení odpovídajících rolí

Po aktivaci spravovaného HSM je potřeba vytvořit klíč, který se použije pro účet CMK. Za tímto účelem se správci přiřadí role Managed HSM Crypto User. Další informace o tom, jak RBAC (řízení přístupu na základě role) funguje se spravovaným HSM, najdete v následujících článcích: Předdefinované role RBAC spravovaného HSM – Azure Key Vault | Řízení přístupu ke spravovanému HSM v Microsoft Learn a Azure | 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

Teď, když je klíč vytvořený, musí být odpovídající role přiřazená k ID objektu zabezpečení služby Cosmos DB nebo spravované identitě Azure pro zřízení účtu. Role "Managed HSM Crypto Service Encryption User" se používá, protože má pouze tři oprávnění potřebná pro práci s účtem CMK: get, wrap a unrap. Tato oprávnění jsou také vymezená tak, aby byla užitečná jenom u klíčů uložených ve spravovaném HSM Azure.

Bez spravované identity Azure:

$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

S využitím spravované identity Azure:

$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

Tím se zřídí účet CMK služby Cosmos DB s klíčem uloženým ve službě Azure Managed HSM Key Vault.

Přepnutí na spravovanou identitu přiřazenou systémem

Cosmos DB podporuje použití spravované identity přiřazené systémem pro účet CMK Cosmos DB. Další informace o cmK spravované identity přiřazené systémem najdete v tématu: Konfigurace klíčů spravovaných zákazníkem pro účet služby Azure Cosmos DB.

Spuštěním následujících příkazů přepněte z výchozí identity na spravovanou identitu přiřazenou systémem:

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"

Jako volitelnou poznámku je možné odebrat původní přiřazení role k ID objektu zabezpečení služby Cosmos DB nebo spravované identitě Azure.

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

Další kroky