Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma tabela externa é uma entidade de esquema que faz referência a dados armazenados fora da base de dados do Azure Data Explorer. Tabelas externas podem ser definidas para referenciar dados no Armazenamento do Azure ou SQL Server e suportar vários métodos de autenticação.
Neste artigo, aprende como criar uma tabela externa que autentique com uma identidade gerida.
Pré-requisitos
- Um cluster e um banco de dados do Azure Data Explorer. Crie um cluster e um banco de dados.
- Permissões de administrador de base de dados na base de dados Azure Data Explorer.
1 - Configurar uma identidade gerida para utilização com tabelas externas
Existem dois tipos de identidades gerenciadas:
Atribuído ao sistema: Uma identidade atribuída ao sistema está ligada ao seu cluster e é removida quando o cluster é removido. Apenas uma identidade atribuída pelo sistema é permitida por cluster.
Atribuído pelo utilizador: Uma identidade gerida atribuída pelo utilizador é um recurso Azure autónomo. Múltiplas identidades atribuídas pelo utilizador podem ser atribuídas ao seu cluster.
Selecione um dos separadores seguintes para configurar o tipo de identidade gerida preferido.
Siga os passos para adicionar uma identidade atribuída pelo utilizador ao seu cluster e guarde o ID do Objeto (principal) para uso posterior.
Execute o comando .alter-merge policy managed_identity. Este comando define uma política de identidade gerida no cluster que permite que a identidade gerida seja usada com tabelas externas. Substitui
<objectId>pelo ID do Objeto (principal)..alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "ExternalTable" } ]```Note
Para definir a política numa base de dados específica, use
database <DatabaseName>em vez decluster.
2 - Atribuir permissões de recurso externo à identidade gerida
A identidade gerida deve ter permissões para o recurso externo para se autenticar com sucesso.
Selecione o separador do tipo relevante de recurso externo e atribua as permissões necessárias.
A tabela seguinte mostra as permissões necessárias por recurso externo. Para importar ou consultar dados do recurso externo, conceda permissões de leitura à identidade gerida. Para exportar dados para o recurso externo, conceda permissões de escrita à identidade gerida.
| Armazenamento de dados externo | Permissões de leitura | Permissões de escrita | Conceder permissões |
|---|---|---|---|
| Armazenamento de Blobs do Azure | Leitor de Dados de Blob Storage | Contribuidor de Dados de Storage Blob | Atribuir uma função do Azure |
| Data Lake Storage Gen2 | Leitor de Dados de Blob Storage | Contribuidor de Dados de Storage Blob | Atribuir uma função do Azure |
3 - Criar uma tabela externa
Existem dois tipos de tabelas externas que suportam autenticação com identidades geridas: tabelas externas do Armazenamento do Azure e tabelas externas do SQL Server.
Selecione uma das guias a seguir para configurar um Armazenamento do Azure ou uma tabela externa do SQL Server.
Para criar uma tabela externa do Armazenamento do Azure, faça os seguintes passos:
Crie uma cadeia de ligação com base nos modelos de cadeias de ligação de armazenamento. Essa cadeia de caracteres indica o recurso a ser acessado e suas informações de autenticação. Especifique o método de autenticação de identidade gerida.
Execute o comando .create or .alter external table para criar a tabela. Use a cadeia de conexão da etapa anterior como o argumento storageConnectionString.
Exemplo
O comando seguinte cria MyExternalTable que se refere a dados formatados em CSV em mycontainer de mystorageaccount no Armazenamento de Blobs do Azure. A tabela tem duas colunas, uma para um x inteiro e outra para uma cadeia de caracteres s. A cadeia de ligação termina em ;managed_identity=system, o que indica usar uma identidade gerida atribuída pelo sistema para autenticação e aceder ao armazenamento de dados.
.create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv
(
h@'https://mystorageaccount.blob.core.windows.net/mycontainer;managed_identity=system'
)
Note
Para autenticar com uma identidade gerida atribuída pelo utilizador, substitua system pelo ID de objeto de identidade gerida.