Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una tabla externa es una entidad de esquema que hace referencia a los datos almacenados fuera de una base de datos de Azure Data Explorer. Las tablas externas se pueden definir para hacer referencia a datos en Azure Storage o SQL Server y admitir varios métodos de autenticación.
En este artículo, aprenderá a crear una tabla externa que se autentique con una identidad administrada.
Requisitos previos
- Un clúster y la base de datos de Azure Data Explorer. Cree un clúster y una base de datos.
- Permisos de administrador de base de datos en la base de datos de Azure Data Explorer.
1- Configuración de una identidad administrada para su uso con tablas externas
Hay dos tipos de identidades administradas:
Asignada por el sistema: una identidad asignada por el sistema está asociada al clúster y se elimina cuando se elimina el clúster. Solo se permite una identidad asignada por el sistema por clúster.
Asignado por el usuario: una identidad administrada asignada por el usuario es un recurso de Azure independiente. Se pueden asignar varias identidades asignadas por el usuario al clúster.
Seleccione una de las pestañas siguientes para configurar el tipo de identidad administrada preferido.
Siga los pasos para agregar una identidad asignada por el usuario a su clúster y guarde el identificador de objeto (principal) para usarlo más adelante.
Ejecute el comando .alter-merge policy managed_identity . Este comando establece una directiva de identidad administrada en el clúster que permite usar la identidad administrada con tablas externas. Reemplace
<objectId>por el Id. de objeto (principal)..alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "ExternalTable" } ]```Nota:
Para establecer la directiva en una base de datos específica, use
database <DatabaseName>en lugar decluster.
2 - Conceda a la identidad administrada permisos sobre recursos externos
La identidad administrada debe tener permisos para el recurso externo para autenticarse correctamente.
Seleccione la pestaña para el tipo de recurso externo pertinente y asigne los permisos necesarios.
En la tabla siguiente se muestran los permisos necesarios por recurso externo. Para importar o consultar datos desde el recurso externo, conceda a la identidad administrada permisos de lectura. Para exportar datos al recurso externo, conceda permisos de escritura a la identidad administrada.
| Almacén de datos externo | Permisos de lectura | Permisos de escritura | Concesión de los permisos |
|---|---|---|---|
| Azure Blob Storage | Lector de datos de blobs de almacenamiento | Colaborador de datos de Storage Blob | Asignación de un rol de Azure |
| Data Lake Storage Gen2 | Lector de datos de blobs de almacenamiento | Colaborador de datos de Blob Storage | Asignación de un rol de Azure |
3 - Creación de una tabla externa
Hay dos tipos de tablas externas que admiten la autenticación con identidades administradas: tablas externas de Azure Storage y tablas externas de SQL Server.
Seleccione una de las pestañas siguientes para configurar una tabla externa de Azure Storage o SQL Server.
Para crear una tabla externa de Azure Storage, siga estos pasos:
Cree una cadena de conexión a partir de las plantillas de cadenas de conexión de almacenamiento. Esta cadena indica el recurso para acceder a y su información de autenticación. Especifique el método de autenticación de identidad administrada.
Ejecute el comando .create or .alter external table para crear la tabla. Use el cadena de conexión del paso anterior como argumento storageConnectionString.
Ejemplo
El comando siguiente crea MyExternalTable que hace referencia a los datos con formato CSV en mycontainer de mystorageaccount en Azure Blob Storage. La tabla tiene dos columnas, una para un entero x y otra para una cadena s. El cadena de conexión termina con ;managed_identity=system, que indica que se usa una identidad administrada asignada por el sistema para la autenticación para acceder al almacén de datos.
.create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv
(
h@'https://mystorageaccount.blob.core.windows.net/mycontainer;managed_identity=system'
)
Nota:
Para autenticarse con una identidad administrada asignada por el usuario, reemplace por system el identificador de objeto de identidad administrada.