Usar uma identidade gerenciada para executar um trabalho de exportação contínua
Um trabalho de exportação contínua exporta dados para uma tabela externa com uma consulta de execução periódica.
O trabalho de exportação contínua deve ser configurado com uma identidade gerenciada nos seguintes cenários:
- Quando a tabela externa usa autenticação de representação
- Quando a consulta faz referência a tabelas em outros bancos de dados
- Quando a consulta faz referência a tabelas com uma política de segurança de nível de linha habilitada
Um trabalho de exportação contínua configurado com uma identidade gerenciada é executado 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 um trabalho de exportação contínua usando essa identidade.
Pré-requisitos
- Um cluster e um banco de dados. Criar um cluster e um banco de dados.
- todas as permissões de de Administrador de Bancos de Dados no banco de dados.
Configurar uma identidade gerenciada
Há dois tipos de identidades gerenciadas:
atribuída pelo sistema: uma identidade atribuída pelo sistema é conectada ao cluster e removida quando o cluster é removido. Somente uma identidade atribuída pelo sistema é permitida por cluster.
atribuída 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 o de ID do Locatário
e de ID da Entidade de Segurança para uso nas etapas a seguir. Execute o seguinte comando .alter-merge policy managed_identity, substituindo
<objectId>
pela ID do objeto de identidade gerenciada da etapa anterior. Esse comando define um de política de identidade gerenciada no cluster que permite que a identidade gerenciada seja usada com exportação contínua..alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "AutomatedFlows" } ]```
Nota
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 a identidade gerenciada o Visualizador de Banco de Dados permissões em todos os bancos de dados usados para a exportação contínua, como o banco de dados que contém a tabela externa.
.add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
Substitua
<DatabaseName>
pelo banco de dados relevante,<objectId>
pela identidade gerenciada id da entidade de segurança da etapa 2 e<tenantId>
pela ID do Microsoft Entra id do locatário da etapa 2.
Configurar uma tabela externa
Tabelas externas referem-se a dados localizados no Armazenamento do Azure, como Armazenamento de Blobs do Azure, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 ou SQL Server.
Selecione uma das guias a seguir para configurar um Armazenamento do Azure ou uma tabela externa do SQL Server.
- de Armazenamento do Azure
- sql server
Crie uma cadeia de conexão com base nos modelos de cadeia de conexão de armazenamento . Essa cadeia de caracteres indica o recurso a ser acessado e suas informações de autenticação. Para fluxos de exportação contínua, recomendamos autenticação de representação.
Execute o comando .create ou .alter external table para criar a tabela. Use a cadeia de conexão da etapa anterior como o argumento
storageConnectionString. Por exemplo, o comando a seguir cria
MyExternalTable
que se referem a dados formatados em CSV emmycontainer
demystorageaccount
no Armazenamento de Blobs do Azure. A tabela tem duas colunas, uma para um inteirox
e outra para uma cadeia de caracteress
. A cadeia de conexão termina com;impersonate
, que indica usar a autenticação de representação para acessar o armazenamento de dados..create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv ( h@'https://mystorageaccount.blob.core.windows.net/mycontainer;impersonate' )
Conceda as permissões de gravação de identidade gerenciada no repositório de dados externo relevante. A identidade gerenciada precisa de permissões de gravação porque o trabalho de exportação contínua exporta dados para o armazenamento de dados em nome da identidade gerenciada.
Armazenamento de dados externo Permissões necessárias Conceder as permissões Armazenamento de Blobs do Azure Colaborador de Dados do Blob de Armazenamento atribuir uma função do Azure Data Lake Storage Gen2 Colaborador de Dados do Blob de Armazenamento atribuir uma função do Azure Data Lake Storage Gen1 Contribuinte atribuir uma função do Azure
Criar um trabalho de exportação contínua
Selecione uma das guias a seguir para criar um trabalho de exportação contínua executado em nome de uma identidade gerenciada atribuída pelo usuário ou atribuída pelo sistema.
Execute o comando .create-or-alter de exportação contínua
Por exemplo, o comando a seguir cria um trabalho de exportação contínua chamado MyExport
para exportar os dados em MyTable
para MyExternalTable
em nome de uma identidade gerenciada atribuída pelo usuário.
<objectId>
deve ser uma ID de objeto de identidade gerenciada.
.create-or-alter continuous-export MyExport over (MyTable) to table MyExternalTable with (managedIdentity=<objectId>, intervalBetweenRuns=5m) <| MyTable
Conteúdo relacionado
- visão geral da exportação contínua
- .show de exportações contínuas
- identidades gerenciadas