Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Habilitación de la integración de Tablas de Amazon S3
Puede crear buckets de tablas de Amazon S3 mediante la consola de Amazon S3 e integrarlos con los servicios de análisis de AWS . Para obtener más información, consulte Uso de Tablas de Amazon S3 con servicios de análisis de AWS.
En AWS Lake Formation, puede habilitar la integración de Amazon S3 Tables con la consola Lake Formation AWS Glue Data Catalog y AWS Lake Formation utilizarla o utilizarla AWS CLI.
-
Abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
. En el panel de navegación, elija Catálogos en Catálogo de datos.
Elija Habilitar la integración de Tablas de S3 en la página Catálogos.
-
Elija un rol de IAM con los permisos necesarios para que Lake Formation asuma la provisión de credenciales a los motores de consultas analíticas. Para conocer los permisos necesarios para el acceso del rol a los datos, consulte step3-permissions en la sección de requisitos previos.
-
Seleccione la opción Permitir que motores externos accedan a datos en las ubicaciones de Amazon S3 con acceso total a las tablas. Al habilitar el acceso completo a las tablas para motores de terceros, Lake Formation devuelve las credenciales al motor externo directamente sin necesidad de validar la etiqueta de sesión de IAM. Esto significa que no puede aplicar controles de acceso detallados de Lake Formation a las tablas a las que se accede.
Seleccione Habilitar. El nuevo catálogo de Tablas de S3 se agrega a la lista de catálogos. Al habilitar la integración del catálogo de tablas de S3, el servicio registra la ubicación de los datos del bucket de tablas de S3 en Lake Formation.
-
Elija el catálogo para ver los objetos del catálogo y conceder permisos a otras entidades principales.
Para crear catálogos en varios niveles, consulte la sección Creación de un bucket de tablas en la Guía del usuario de Amazon Simple Storage Service.
Siguiendo la sección de requisitos previos, cree un rol de servicio de IAM que permita a Lake Formation acceder a los recursos de su tabla.
-
Cree un archivo llamado
Role-Trust-Policy.jsonque contenga la siguiente política de confianza:{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPolicy", "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] } -
Cree el rol de servicio de IAM con el siguiente comando:
aws iam create-role \ --role-nameS3TablesRoleForLakeFormation\ --assume-role-policy-document file://Role-Trust-Policy.json -
Cree un archivo llamado
LF-GluePolicy.jsonque contenga la siguiente política:{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationPermissionsForS3ListTableBucket", "Effect": "Allow", "Action": [ "s3tables:ListTableBuckets" ], "Resource": [ "*" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3TableBucket", "Effect": "Allow", "Action": [ "s3tables:CreateTableBucket", "s3tables:GetTableBucket", "s3tables:CreateNamespace", "s3tables:GetNamespace", "s3tables:ListNamespaces", "s3tables:DeleteNamespace", "s3tables:DeleteTableBucket", "s3tables:CreateTable", "s3tables:DeleteTable", "s3tables:GetTable", "s3tables:ListTables", "s3tables:RenameTable", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/*" ] } ] } -
Asocie la política al rol con el siguiente comando:
aws iam put-role-policy \ --role-nameS3TablesRoleForLakeFormation\ --policy-nameLakeFormationDataAccessPermissionsForS3TableBucket\ --policy-document file://LF-GluePolicy.json -
Cree un archivo llamado
input.jsonque contenga lo siguiente:{ "ResourceArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333:role/S3TablesRoleForLakeFormation" } -
Registre los buckets de tablas con Lake Formation utilizando el siguiente comando:
aws lakeformation register-resource \ --region us-east-1 \ --with-privileged-access \ --cli-input-json file://input.json -
Cree un archivo llamado
catalog.jsonque contenga el siguiente catálogo:{ "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:111122223333:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [], "AllowFullTableExternalDataAccess": "True" } } -
Cree el catálogo
s3tablescatalogutilizando el siguiente comando. Al crear este catálogo, se rellena AWS Glue Data Catalog con los objetos correspondientes a los grupos de tablas, los espacios de nombres y las tablas.aws glue create-catalog \ --region us-east-1 \ --cli-input-json file://catalog.json -
Compruebe que el
s3tablescatalogcatálogo se haya agregado AWS Glue mediante el siguiente comando:aws glue get-catalog --catalog-id s3tablescatalog