Partilhar via


Chaves gerenciadas pelo cliente na Instância Gerenciada do Azure para Apache Cassandra

Na Instância Gerenciada do Azure para Apache Cassandra, você pode usar sua própria chave para criptografar dados no disco. Este artigo descreve como implementar chaves gerenciadas pelo cliente usando o Cofre de Chaves do Azure.

Pré-requisitos

  • Configure um segredo usando o Azure Key Vault. Para obter mais informações, consulte Sobre os segredos do Cofre de Chaves do Azure.

  • Implante uma rede virtual em seu grupo de recursos.

  • Aplique a função de Colaborador de Rede com a entidade de serviço do Azure Cosmos DB como membro. Utilize o seguinte comando:

        az role assignment create \
        --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \
        --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \
        --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>
    

    Aplicar a função apropriada à sua rede virtual ajuda a evitar falhas ao implantar uma Instância Gerenciada do Azure para cluster Apache Cassandra. Para obter mais informações, consulte Criar uma instância gerenciada do Azure para cluster Apache Cassandra usando a CLI do Azure.

Este artigo requer a CLI do Azure versão 2.30.0 ou posterior. Se você estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.

Criar um cluster com uma identidade atribuída pelo sistema

  1. Crie um cluster usando o seguinte comando. Substitua <subscriptionID>, <resourceGroupName>, <vnetName>, e <subnetName> pelos valores apropriados.

    subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
    cluster="thvankra-cmk-test-wcus"
    group="thvankra-nova-cmk-test"
    region="westcentralus"
    password="PlaceholderPassword"
    
    az managed-cassandra cluster create \
        --identity-type SystemAssigned \
        --resource-group $group \
        --location $region \
        --cluster-name $cluster \
        --delegated-management-subnet-id $subnet \
        --initial-cassandra-admin-password $password
    
  2. Obtenha as informações de identidade do cluster criado:

    az managed-cassandra cluster show -c $cluster -g $group
    

    A saída inclui uma seção de identidade como o exemplo a seguir. Copie o principalId valor para uso posterior.

      "identity": {
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "SystemAssigned"
      }
    
  3. No portal do Azure, vá para o cofre da chave e selecione Políticas de acesso. Em seguida, selecione Adicionar política de acesso para criar uma política de acesso para suas chaves.

    Captura de ecrã que mostra o painel para políticas de acesso no portal do Azure.

  4. Para Permissões de chave, selecione obter, encapsular e desempacotar. Selecione a caixa Selecionar entidade de segurança para abrir o painel Principal . Insira o valor do principalId cluster recuperado anteriormente e selecione o botão Selecionar . (No portal, você também pode procurar a ID principal do cluster pelo nome do cluster.)

    Captura de ecrã que mostra um exemplo de adição de uma entidade de segurança para uma política de acesso.

    Aviso

    Certifique-se de que o cofre de chaves tem a proteção contra limpeza ativada. As implantações de datacenter falharão sem ele.

  5. Selecione Adicionar para adicionar a política de acesso e, em seguida, selecione Guardar.

    Captura de ecrã que mostra o botão para guardar uma política de acesso.

  6. Para obter o identificador de chave, selecione Chaves e, em seguida, selecione a chave.

    Captura de tela que mostra o painel para selecionar uma chave.

  7. Selecione a versão atual.

    Captura de tela que mostra a caixa para selecionar a versão atual de uma chave.

  8. Salve o identificador de chave para uso posterior.

    Captura de ecrã que mostra a cópia de um identificador de chave para a área de transferência.

  9. Crie o datacenter substituindo <key identifier> pela mesma chave (o URI copiado na etapa anterior) para criptografia de disco gerenciado (managed-disk-customer-key-uri) e armazenamento de backup (backup-storage-customer-key-uri). Use o mesmo valor para subnet o que você usou anteriormente.

    managedDiskKeyUri = "<key identifier>"
    backupStorageKeyUri = "<key identifier>"
    group="thvankra-nova-cmk-test"
    region="westcentralus"
    cluster="thvankra-cmk-test-2"
    dc="dc1"
    nodecount=3
    subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
    
    az managed-cassandra datacenter create \
        --resource-group $group \
        --cluster-name $cluster \
        --data-center-name $dc \
        --managed-disk-customer-key-uri $managedDiskKeyUri \
        --backup-storage-customer-key-uri $backupStorageKeyUri \
        --node-count $nodecount \
        --delegated-subnet-id $subnet \
        --data-center-location $region \
        --sku Standard_DS14_v2
    

Você também pode atribuir uma identidade a um cluster existente sem informações de identidade:

az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster

Rodar a chave

Para atualizar a chave, use este comando:

managedDiskKeyUri = "<key identifier>"
backupStorageKeyUri = "<key identifier>"
    
az managed-cassandra datacenter update \
    --resource-group $group \
    --cluster-name $cluster \ 
    --data-center-name $dc \
    --managed-disk-customer-key-uri $managedDiskKeyUri \
    --backup-storage-customer-key-uri $backupStorageKeyUri