Compartilhar via


Cadeias de conexão de armazenamento

O Azure Data Explorer pode interagir com serviços de armazenamento externos. Por exemplo, você pode criar tabelas externas do Armazenamento do Azure para consultar dados armazenados em armazenamentos externos.

Os seguintes tipos de armazenamento externo são suportados:

  • Armazenamento de Blobs do Azure
  • Azure Data Lake Storage Gen2
  • Azure Data Lake Storage Gen1
  • Amazon S3
  • Serviços Web HTTP (funcionalidade limitada)

Cada tipo de armazenamento tem formatos de cadeia de conexão correspondentes usados para descrever os recursos de armazenamento e como acessá-los. O Azure Data Explorer usa um formato de URI para descrever esses recursos de armazenamento e as propriedades necessárias para acessá-los, como credenciais de segurança.

Observação

O suporte a serviços Web HTTP é limitado à recuperação de recursos de serviços Web HTTP arbitrários. Outras operações, como recursos de gravação, não são suportadas.

Modelos de cadeia de conexão de armazenamento

Cada tipo de armazenamento tem um formato de cadeia de conexão diferente. Consulte a tabela a seguir para obter modelos de cadeia de conexão para cada tipo de armazenamento.

Tipo de armazenamento Esquema Modelo de URI
Armazenamento do Blobs do Azure https:// https://StorageAccountName.blob.core.windows.net/Container[/BlobName][CallerCredentials]
Azure Data Lake Storage Gen2 https:// https://Sistema de arquivos StorageAccountName.dfs.core.windows.net/[/PathToDirectoryOrFile][CallerCredentials]
Azure Data Lake Storage Gen2 abfss:// abfss://Sistema de arquivos@StorageAccountName.dfs.core.windows.net/[PathToDirectoryOrFile][CallerCredentials]
Azure Data Lake Storage Gen1 adl:// adl://StorageAccountName.azuredatalakestore.net/ PathToDirectoryOrFile[CallerCredentials]
Amazon S3 https:// https://BucketName.s3.RegionName.amazonaws.com/ObjectKey[CallerCredentials]
Serviços Web HTTP https:// https://Nome do/host PathAndQuery

Observação

Para evitar que segredos apareçam em rastreamentos, use literais de cadeia de caracteres ofuscados.

Métodos de autenticação de armazenamento

Para interagir com o armazenamento externo não público do Azure Data Explorer, você deve especificar meios de autenticação como parte da cadeia de conexão de armazenamento externo. A cadeia de conexão define o recurso a ser acessado e suas informações de autenticação.

O Azure Data Explorer dá suporte aos seguintes métodos de autenticação:

Autenticação suportada por tipo de armazenamento

A tabela a seguir resume os métodos de autenticação disponíveis para diferentes tipos de armazenamento externo.

Método de autenticação Disponível no armazenamento de Blobs? Disponível no Azure Data Lake Storage Gen 2? Disponível no Azure Data Lake Storage Gen 1? Disponível no Amazon S3? Quando você deve usar esse método?
Representação ✔️ ✔️ ✔️ Use para fluxos atendidos quando precisar de controle de acesso complexo sobre o armazenamento externo. Por exemplo, em fluxos contínuos de exportação. Você também pode restringir o acesso ao armazenamento no nível do usuário.
Identidade gerenciada ✔️ ✔️ ✔️ Use em fluxos autônomos, onde nenhuma entidade do Microsoft Entra pode ser derivada para executar consultas e comandos. As identidades gerenciadas são a única solução de autenticação.
Chave de Acesso Compartilhado (SAS) ✔️ ✔️ Os tokens SAS têm um tempo de expiração. Use ao acessar o armazenamento por um tempo limitado.
Token de acesso do Microsoft Entra ✔️ ✔️ ✔️ Os tokens do Microsoft Entra têm um tempo de expiração. Use ao acessar o armazenamento por um tempo limitado.
Chave de acesso da conta de armazenamento ✔️ ✔️ Quando você precisa acessar recursos continuamente.
Chaves de acesso programático da Amazon Web Services ✔️ Quando você precisa acessar recursos do Amazon S3 continuamente.
URL pré-assinada do Amazon Web Services S3 ✔️ Quando você precisa acessar recursos do Amazon S3 com uma URL pré-assinada temporariamente.

Representação

O Azure Data Explorer representa a identidade principal do solicitante para acessar o recurso. Para usar a representação, acrescente ;impersonate à cadeia de conexão.

Exemplo
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;impersonate"

A entidade de segurança deve ter as permissões necessárias para executar a operação. Por exemplo, no Armazenamento de Blobs do Azure, para ler do blob a entidade de segurança precisa da função Leitor de Dados de Blob de Armazenamento e para exportar para o blob a entidade precisa da função de Colaborador de Dados de Blob de Armazenamento. Para saber mais, consulte Controle de acesso do Armazenamento de Blobs do Azure/Data Lake Storage Gen2 ou Controle de acesso do Data Lake Storage Gen1.

Identidade gerenciada

O Azure Data Explorer faz solicitações em nome de uma identidade gerenciada e usa sua identidade para acessar recursos. Para uma identidade gerenciada atribuída pelo sistema, anexe ;managed_identity=system à cadeia de conexão. Para uma identidade gerenciada atribuída pelo usuário, anexe ;managed_identity={object_id} à cadeia de conexão.

Tipo de identidade gerenciada Exemplo
System-assigned "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=system"
Atribuída pelo usuário "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=12345678-1234-1234-1234-1234567890ab"

A identidade gerenciada deve ter as permissões necessárias para executar a operação. Por exemplo, no Armazenamento de Blobs do Azure, para ler do blob a identidade gerenciada precisa da função Leitor de Dados de Blob de Armazenamento e para exportar para o blob a identidade gerenciada precisa da função Colaborador de Dados de Blob de Armazenamento. Para saber mais, consulte Controle de acesso do Armazenamento de Blobs do Azure/Data Lake Storage Gen2 ou Controle de acesso do Data Lake Storage Gen1.

Observação

A identidade gerenciada só tem suporte em fluxos específicos do Azure Data Explorer e requer a configuração da política de identidade gerenciada. Para obter mais informações, consulte Visão geral de identidades gerenciadas.

Token de Acesso Compartilhado (SAS)

No portal do Azure, gere um token SAS com as permissões necessárias.

Por exemplo, para ler a partir do armazenamento externo, especifique as permissões Ler e Listar e para exportar para o armazenamento externo, especifique as permissões de Gravação. Para saber mais, consulte Delegar acesso usando uma assinatura de acesso compartilhado.

Use a URL SAS como a cadeia de conexão.

Exemplo
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv?sv=...&sp=rwd"

Token de acesso do Microsoft Entra

Para adicionar um token de acesso Microsoft Entra codificado em base 64, anexe ;token={AadToken} à cadeia de conexão. O token deve ser para o recurso https://storage.azure.com/.

Para obter mais informações sobre como gerar um token de acesso do Microsoft Entra, consulte Obter um token de acesso para autorização.

Exemplo
"https://fabrikam.blob.core.windows.net/container/path/to/file.csv;token=1234567890abcdef1234567890abcdef1234567890abc..."

Chave de acesso da conta de armazenamento

Para adicionar uma chave de acesso da conta de armazenamento, acrescente a chave à cadeia de conexão. No Armazenamento de Blobs do Azure, acrescente ;{key} à cadeia de conexão. Para o Azure Data Lake Storage Gen 2, acrescente ;sharedkey={key} à cadeia de conexão.

Conta de armazenamento Exemplo
Armazenamento de Blobs do Azure "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;ljkAkl...=="
Azure Data Lake Storage Gen2 "abfss://fs@fabrikam.dfs.core.windows.net/path/to/file.csv;sharedkey=sv=...&sp=rwd"

Chaves de acesso programático da Amazon Web Services

Para adicionar chaves de acesso do Amazon Web Services, anexe ;AwsCredentials={ACCESS_KEY_ID},{SECRET_ACCESS_KEY} à cadeia de conexão.

Exemplo
"https://yourbucketname.s3.us-east-1.amazonaws.com/path/to/file.csv;AwsCredentials=AWS1234567890EXAMPLE,1234567890abc/1234567/12345678EXAMPLEKEY"

URL pré-assinada do Amazon Web Services S3

Use a URL pré-assinada do S3 como a cadeia de conexão.

Exemplo
"https://yourbucketname.s3.us-east-1.amazonaws.com/file.csv?12345678PRESIGNEDTOKEN"