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
- Um cluster e um banco de dados Crie um cluster e um banco de dados.
- AllDatabasesAdmin no banco de dados.
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.
Siga as etapas para Adicionar uma identidade atribuída pelo usuário.
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.
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 decluster
.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>"
}
]
```