Cadeias de conexão de armazenamento
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
O serviço Kusto 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
Cada tipo de armazenamento tem formatos de cadeia de conexão correspondentes usados para descrever os recursos de armazenamento e como acessá-los. Um formato de URI é usado 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. Não há suporte para outras operações, como recursos de gravação.
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:// Contêiner StorageAccountName.blob.core.windows.net/ [/ 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:// StorageAccountName do sistema@ de arquivos[PathToDirectoryOrFile][CallerCredentials].dfs.core.windows.net/ |
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 impedir 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, você deve especificar os 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.
Os seguintes métodos de autenticação são suportados:
- Chave de acesso compartilhado (SAS)
- Token de acesso do Microsoft Entra
- Chave de acesso da conta de armazenamento
- Chaves de acesso programáticas da Amazon Web Services
- URL pré-assinado do Amazon Web Services S3
Autenticação com suporte 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 assistidos quando precisar de controle de acesso complexo sobre o armazenamento externo. Por exemplo, em fluxos de exportação contínuos. Você também pode restringir o acesso ao armazenamento no nível do usuário. |
Identidade gerenciada | ✔️ | ✔️ | ✔️ | ❌ | Use em fluxos autônomos, em que nenhuma entidade de segurança 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áticas da Amazon Web Services | ❌ | ❌ | ❌ | ✔️ | Quando você precisa acessar os recursos do Amazon S3 continuamente. |
URL pré-assinado do Amazon Web Services S3 | ❌ | ❌ | ❌ | ✔️ | Quando você precisa acessar recursos do Amazon S3 com um URL pré-assinado temporário. |
Representação
Kusto 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 o blob, a entidade de segurança precisa da função Leitor de Dados do Blob de Armazenamento e, para exportar para o blob, a entidade de segurança precisa da função Colaborador de Dados do Blob de Armazenamento. Para saber mais, confira 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, acrescente ;managed_identity=system
à cadeia de conexão. Para uma identidade gerenciada atribuída pelo usuário, acrescente ;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 do Blob de Armazenamento e, para exportar para o blob, a identidade gerenciada precisa da função Colaborador de Dados do Blob de Armazenamento. Para saber mais, confira 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 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 do Microsoft Entra codificado em base 64, acrescente ;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áticas da Amazon Web Services
Para adicionar chaves de acesso da Amazon Web Services, anexe ;AwsCredentials={ACCESS_KEY_ID},{SECRET_ACCESS_KEY}
à string de conexão.
Exemplo |
---|
"https://yourbucketname.s3.us-east-1.amazonaws.com/path/to/file.csv;AwsCredentials=AWS1234567890EXAMPLE,1234567890abc/1234567/12345678EXAMPLEKEY" |
URL pré-assinado do Amazon Web Services S3
Use o URL pré-assinado do S3 como a string de conexão.
Exemplo |
---|
"https://yourbucketname.s3.us-east-1.amazonaws.com/file.csv?12345678PRESIGNEDTOKEN" |
Conteúdo relacionado
Para obter exemplos de como as cadeias de conexão de armazenamento são usadas, consulte:
- Operador externaldata
- Crie e altere tabelas externas do Armazenamento do Azure.