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 Gremlin Tabulka
Projděte si odkaz Konfigurace klíčů spravovaných zákazníkem pomocí 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 během vytváření účtu.
Registrace poskytovatele prostředků Azure Cosmos DB pro vaše předplatné Azure
Přihlaste se k Azure Portal, přejděte do svého předplatného Azure a na kartě Nastavení vyberte Poskytovatelé prostředků:
Vyhledejte poskytovatele prostředků Microsoft.DocumentDB . Ověřte, jestli je poskytovatel prostředků už označený jako zaregistrovaný. Pokud ne, zvolte poskytovatele prostředků a vyberte Zaregistrovat:
Konfigurace Key Vault spravovaného HSM Azure
Použití klíčů spravovaných zákazníkem se službou Azure Cosmos DB vyžaduje, abyste v instanci Azure Key Vault, kterou chcete použít k hostování šifrovacích klíčů, nastavili dvě vlastnosti: obnovitelné odstranění a ochranu proti vymazání.
Vzhledem k tomu, že obnovitelné odstranění je ve výchozím nastavení zapnuté, musí být povolená jenom ochrana proti vymazání. Při vytváření spravovaného modulu 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 spravovaného hsm Azure Key Vault, můžete ověřit, že jsou tyto vlastnosti povolené, a to pomocí následujícího příkazu v části Vlastnosti:
az keyvault show $hsmName $rgName
Pokud není povolená ochrana proti vymazání, 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 o příkazech rozhraní příkazového řádku, které jsou k dispozici pro spravované moduly HSM, najdete v následujících Key Vault Azure.
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 Spravovaný uživatel kryptografických služeb HSM. Další informace o tom, jak RBAC (řízení přístupu na základě role) funguje se spravovaným modulem HSM, najdete v následujících článcích: Předdefinované role spravovaného MÍSTNÍHO HSM RBAC – Azure Key Vault | | řízení přístupu ke službě Microsoft Learn a spravovanému hsm v 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ý, je potřeba pro zřízení účtu přiřadit roli korespondenta buď k ID objektu zabezpečení služby Cosmos DB, nebo spravované identitě Azure. Role "Uživatel šifrování spravované kryptografické služby HSM" se používá, protože má pouze tři oprávnění potřebná k práci s účtem CMK: získání, zabalení a rozbalení. Tato oprávnění jsou také vymezena tak, aby byla užitečná pouze pro klíče uložené ve spravovaném modulu 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
Se spravovanou identitou 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 spravovaném modulu HSM Azure 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 HLAVNÍMu ID 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.
- Získejte přehled o zabezpečeném přístupu k datům ve službě Azure Cosmos DB.