Compartilhar via


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

Aplica-se a: ✅Azure Data Explorer

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 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 é conectada ao cluster e é removida quando o cluster é removido. Apenas 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 da área do portal do Azure com IDs de identidade gerenciada.

  3. Execute o comando .alter-merge policy managed_identity a seguir, substituindo <objectId> pela ID da entidade de segurança 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 à 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 da identidade gerenciada da etapa 2 e <tenantId> pela ID do locatário da ID do 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 seja executada em nome de uma identidade gerenciada atribuída pelo usuário ou 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 banco de dados MyDatabase. É importante observar que os Source parâmetros and Query só devem fazer referência a objetos dentro do mesmo banco de dados em que a política de atualização é definida. No entanto, o código contido na função especificada no Query parâmetro pode interagir com tabelas localizadas em outros bancos de dados. Por exemplo, a função MyUpdatePolicyFunction() pode acessar OtherTable em OtherDatabase 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": "MyUpdatePolicyFunction()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false,
        "ManagedIdentity": "<objectId>"
    }
]
```