Criar e gerenciar um Banco de Dados do Azure para PostgreSQL – Servidor Flexível com os dados criptografados por CMK (chaves gerenciadas pelo cliente) usando a CLI do Azure
APLICA-SE A: Banco de dados do Azure para PostgreSQL - Servidor Flexível
Observação
Os exemplos da CLI abaixo se baseiam na versão 2.45.0 das bibliotecas da CLI do Banco de Dados do Azure para PostgreSQL – Servidor Flexível
Neste artigo, você aprenderá a criar e gerenciar um Banco de Dados do Azure para PostgreSQL – Servidor Flexível com os dados criptografados por chaves gerenciadas pelo cliente usando a CLI do Azure. Para saber mais sobre o recurso CMK (chaves gerenciadas pelo cliente) com o servidor flexível do Banco de Dados do Azure para PostgreSQL, confira a visão geral.
Configurar a chave gerenciada pelo cliente durante a criação do servidor
Pré-requisitos:
- É necessário ter uma assinatura do Azure e ser um administrador nessa assinatura.
Siga as etapas abaixo para habilitar o CMK ao criar uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL usando a CLI do Azure.
- Crie um cofre de chaves e uma chave para usar em uma chave gerenciada pelo cliente. Habilite também a proteção de limpeza e a exclusão temporária no cofre de chaves.
az keyvault create -g <resource_group> -n <vault_name> --location <azure_region> --enable-purge-protection true
- No Azure Key Vault criado, crie a chave que será usada para a criptografia de dados da instância do servidor flexível do Banco de Dados do Azure para PostgreSQL.
keyIdentifier=$(az keyvault key create --name <key_name> -p software --vault-name <vault_name> --query key.kid -o tsv)
- Crie uma identidade gerenciada que será usada para recuperar a chave do Azure Key Vault.
identityPrincipalId=$(az identity create -g <resource_group> --name <identity_name> --location <azure_region> --query principalId -o tsv)
- Adicione uma política de acesso com as permissões de chave wrapKey, unwrapKey, get e list no Azure Key Vault à identidade gerenciada que você criou acima.
az keyvault set-policy -g <resource_group> -n <vault_name> --object-id $identityPrincipalId --key-permissions wrapKey unwrapKey get list
- Por fim, vamos criar uma instância do servidor flexível do Banco de Dados do Azure para PostgreSQL com a criptografia baseada em CMK habilitada.
az postgres flexible-server create -g <resource_group> -n <postgres_server_name> --location <azure_region> --key $keyIdentifier --identity <identity_name>
Atualizar a chave gerenciada pelo cliente na instância de servidor flexível do Banco de Dados do Azure para PostgreSQL habilitada para CMK
Pré-requisitos:
- É necessário ter uma assinatura do Azure e ser um administrador nessa assinatura.
- Key Vault com chave na região em que a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL será criada. Siga este tutorial para criar o Key Vault e gerar a chave.
Siga as etapas abaixo para alterar/girar a chave ou a identidade após a criação do servidor com a criptografia de dados.
- Altere a chave/identidade para criptografia de dados para o servidor existente. Primeiro, obtenha o novo identificador de chave:
newKeyIdentifier=$(az keyvault key show --vault-name <vault_name> --name <key_name> --query key.kid -o tsv)
- Atualize o servidor com a nova chave e/ou identidade.
az postgres flexible-server update --resource-group <resource_group> --name <server_name> --key $newKeyIdentifier --identity <identity_name>