Compartilhar via


Usar uma identidade gerenciada para executar uma política de atualização

A política de atualização deve ser configurada com uma identidade gerenciada nos seguintes cenários:

  • Quando a consulta de política de atualização faz referência a tabelas em outros bancos de dados.
  • Quando a consulta de política de atualização faz referência a tabelas com uma política de segurança em nível de linha habilitada.

Uma política de atualização configurada com uma identidade gerenciada é executada em nome da identidade gerenciada.

Neste artigo, você aprenderá a configurar uma identidade gerenciada atribuída pelo sistema ou atribuída pelo usuário e criar uma política de atualização usando essa identidade.

Pré-requisitos

Configurar uma identidade gerenciada

Há dois tipos de identidades gerenciadas:

  • Atribuído pelo sistema: uma identidade atribuída pelo sistema está conectada ao cluster e é removida quando o cluster é removido. Somente uma identidade atribuída pelo sistema é permitida por cluster.

  • Atribuído pelo usuário: uma identidade gerenciada atribuída pelo usuário é um recurso autônomo do Azure. Várias identidades atribuídas pelo usuário podem ser atribuídas ao cluster.

Selecione uma das guias a seguir para configurar seu tipo de identidade gerenciada preferencial.

  1. Siga as etapas para Adicionar uma identidade atribuída pelo usuário.

  2. No portal do Azure, no menu à esquerda do recurso de identidade gerenciada, selecione Propriedades. Copie e salve a ID do Locatário e a ID da Entidade de Segurança para uso nas etapas a seguir.

    Captura de tela de portal do Azure área com IDs de identidade gerenciada.

  3. Execute o comando .alter-merge policy managed_identity a seguir, substituindo <objectId> pela ID do objeto de identidade gerenciada da etapa anterior. Esse comando define uma política de identidade gerenciada no cluster que permite que a identidade gerenciada seja usada com a política de atualização.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Observação

    Para definir a política em um banco de dados específico, use database <DatabaseName> em vez de cluster.

  4. Execute o comando a seguir para conceder a identidade gerenciada permissões do Visualizador de Banco de Dados em todos os bancos de dados referenciados pela consulta de política de atualização.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Substitua <DatabaseName> pelo banco de dados relevante, <objectId> pela ID da entidade de segurança de identidade gerenciada da etapa 2 e <tenantId> pela ID do locatário da ID de Microsoft Entra da etapa 2.

Criar uma política de atualização

Selecione uma das guias a seguir para criar uma política de atualização que será executada em nome de uma identidade gerenciada atribuída pelo usuário ou atribuída pelo sistema.

Execute o comando .alter table policy update com a ManagedIdentity propriedade definida como a ID do objeto de identidade gerenciada.

Por exemplo, o comando a seguir altera a política de atualização da tabela MyTable no MyDatabase banco de dados que faz referência à tabela OtherTable no banco de dados OtherDatabase em nome de uma identidade gerenciada atribuída pelo usuário. <objectId> deve ser uma ID de objeto de identidade gerenciada.

.alter table MyDatabase.MyTable policy update
```
[
    {
        "IsEnabled": true,
        "Source": "MyTable",
        "Query": "UpdatePolicyFunction",
        "IsTransactional": false,
        "PropagateIngestionProperties": false,
        "ManagedIdentity": "<objectId>"
    }
]
```