Compartir a través de


Cadenas de conexión de Storage

Se aplica a: ✅Microsoft FabricAzure Data Explorer

El servicio Kusto puede interactuar con servicios de almacenamiento externos. Por ejemplo, puede crear tablas externas de Azure Storage para consultar los datos almacenados en almacenamientos externos.

Se admiten los siguientes tipos de almacenamiento externo:

  • Azure Blob Storage
  • Azure Data Lake Storage Gen2
  • Azure Data Lake Storage Gen1
  • Amazon S3

Cada tipo de almacenamiento tiene los formatos de cadena de conexión correspondientes que se usan para describir los recursos de almacenamiento y cómo acceder a ellos. Un formato de URI se usa para describir estos recursos de almacenamiento y las propiedades necesarias para acceder a ellos, como las credenciales de seguridad.

Nota:

La compatibilidad con servicios web HTTP se limita a recuperar recursos de servicios web HTTP arbitrarios. No se admiten otras operaciones, como escribir recursos.

Plantillas de cadena de conexión de almacenamiento

Cada tipo de almacenamiento tiene un formato cadena de conexión diferente. Consulte la tabla siguiente para obtener cadena de conexión plantillas para cada tipo de almacenamiento.

Tipo de almacenamiento Scheme Plantilla de URI
Azure Blob Storage https:// https://StorageAccountName.blob.core.windows.net/Container[/BlobName][CallerCredentials]
Azure Data Lake Storage Gen2 https:// https://StorageAccountName Filesystem[/PathToDirectoryOrFile][CallerCredentials].dfs.core.windows.net/
Azure Data Lake Storage Gen2 abfss:// abfss://Filesystem@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]
Servicios web HTTP https:// https://Ruta de acceso de nombre/de hostAndQuery

Nota:

Para evitar que los secretos aparezcan en seguimientos, use literales de cadena ofuscados.

Almacenamiento de métodos de autenticación

Para interactuar con el almacenamiento externo no públicos, debe especificar los medios de autenticación como parte del cadena de conexión de almacenamiento externo. El cadena de conexión define el recurso para acceder a y su información de autenticación.

Se admiten los siguientes métodos de autenticación:

Autenticación admitida por tipo de almacenamiento

En la tabla siguiente se resumen los métodos de autenticación disponibles para distintos tipos de almacenamiento externo.

Método de autenticación ¿Está disponible en Blob Storage? ¿Está disponible en Azure Data Lake Storage Gen2? ¿Está disponible en Azure Data Lake Storage Gen 1? ¿Está disponible en Amazon S3? ¿Cuándo debe usar este método?
Suplantación ✔️ ✔️ ✔️ Use para flujos asistidos cuando necesite un control de acceso complejo sobre el almacenamiento externo. Por ejemplo, en flujos de exportación continua. También puede restringir el acceso de almacenamiento en el nivel de usuario.
Identidad administrada ✔️ ✔️ ✔️ Use en flujos desatendidos, donde no se puede derivar ninguna entidad de seguridad de Microsoft Entra para ejecutar consultas y comandos. Las identidades administradas son la única solución de autenticación.
Clave de acceso compartido (SAS) ✔️ ✔️ Los tokens de SAS tienen una hora de expiración. Use al acceder al almacenamiento durante un tiempo limitado.
Token de acceso de Microsoft Entra ✔️ ✔️ ✔️ Los tokens de Microsoft Entra tienen una hora de expiración. Use al acceder al almacenamiento durante un tiempo limitado.
Clave de acceso de la cuenta de almacenamiento ✔️ ✔️ Cuando necesite acceder a los recursos de forma continua.
Claves de acceso mediante programación de Amazon Web Services ✔️ Cuando necesite acceder a los recursos de Amazon S3 de forma continua.
Dirección URL presignada de Amazon Web Services S3 ✔️ Cuando necesite acceder a los recursos de Amazon S3 con una dirección URL presignada temporal.

Suplantación

Kusto suplanta la identidad principal del solicitante para acceder al recurso. Para usar la suplantación, anexe ;impersonate al cadena de conexión.

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

La entidad de seguridad debe tener los permisos necesarios para realizar la operación. Por ejemplo, en Azure Blob Storage, para leer desde el blob, la entidad de seguridad necesita el rol Lector de datos de Storage Blob y exportar al blob, la entidad de seguridad necesita el rol Colaborador de datos de Storage Blob. Para más información, consulte Control de acceso de Azure Blob Storage/Data Lake Storage Gen2 o Control de acceso de Data Lake Storage Gen1.

Identidad administrada

Azure Data Explorer realiza solicitudes en nombre de una identidad administrada y usa su identidad para acceder a los recursos. Para una identidad administrada asignada por el sistema, anexe ;managed_identity=system al cadena de conexión. Para una identidad administrada asignada por el usuario, anexe ;managed_identity={object_id} al cadena de conexión.

Tipo de identidad administrada Ejemplo
Asignada por el sistema "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=system"
Asignada por el usuario "https://fabrikam.blob.core.windows.net/container/path/to/file.csv;managed_identity=12345678-1234-1234-1234-1234567890ab"

La identidad administrada debe tener los permisos necesarios para realizar la operación. Por ejemplo, en Azure Blob Storage, para leer desde el blob, la identidad administrada necesita el rol Lector de datos de Storage Blob y exportar al blob la identidad administrada necesita el rol Colaborador de datos de Storage Blob. Para más información, consulte Control de acceso de Azure Blob Storage/Data Lake Storage Gen2 o Control de acceso de Data Lake Storage Gen1.

Nota:

La identidad administrada solo se admite en flujos específicos de Azure Data Explorer y requiere la configuración de la directiva de identidad administrada. Para más información, consulte Introducción a las identidades administradas.

Token de acceso compartido (SAS)

En Azure Portal, genere un token de SAS con los permisos necesarios.

Por ejemplo, para leer desde el almacenamiento externo, especifique los permisos leer y enumerar y exportar al almacenamiento externo, especifique los permisos de escritura. Para más información, consulte Delegación del acceso mediante una firma de acceso compartido.

Use la dirección URL de SAS como cadena de conexión.

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

Token de acceso de Microsoft Entra

Para agregar un token de acceso de Microsoft Entra codificado en base 64, anexe ;token={AadToken} al cadena de conexión. El token debe ser para el recurso https://storage.azure.com/.

Para obtener más información sobre cómo generar un token de acceso de Microsoft Entra, consulte Obtención de un token de acceso para la autorización.

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

Clave de acceso de la cuenta de almacenamiento

Para agregar una clave de acceso de la cuenta de almacenamiento, anexe la clave al cadena de conexión. En Azure Blob Storage, anexe ;{key} al cadena de conexión. Para Azure Data Lake Storage Gen 2, anexe ;sharedkey={key} al cadena de conexión.

Cuenta de almacenamiento Ejemplo
Azure Blob Storage "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"

Claves de acceso mediante programación de Amazon Web Services

Para agregar claves de acceso de Amazon Web Services, anexe ;AwsCredentials={ACCESS_KEY_ID},{SECRET_ACCESS_KEY} al cadena de conexión.

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

Dirección URL presignada de Amazon Web Services S3

Use la dirección URL presignada S3 como cadena de conexión.

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

Para obtener ejemplos de cómo se usan los cadena de conexión de almacenamiento, consulte: