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
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ů:
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:
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
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
- Přečtěte si další informace o šifrování dat ve službě Azure Cosmos DB.