Personas de Lake Formation y referencia de permisos IAM - AWS Lake Formation

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.

Personas de Lake Formation y referencia de permisos IAM

Esta sección enumera algunas personas sugeridas de Lake Formation y sus permisos AWS Identity and Access Management (IAM) sugeridos. Para obtener información sobre los permisos de Lake Formation, consulte Referencia de permisos de Lake Formation.

AWS Lake Formation personas

En la siguiente tabla se muestran las AWS Lake Formation personas sugeridas.

Personas de Lake Formation
Persona Descripción
Administrador de IAM (superusuario) (Obligatorio) Usuario que puede crear usuarios y roles de IAM. Tiene la política AdministratorAccess AWS gestionada. Tiene todos los permisos sobre todos los recursos de Lake Formation. Puede añadir administradores del lago de datos. No puede conceder permisos de Lake Formation si no ha sido designado también administrador del lago de datos.
Administrador del lago de datos (Obligatorio) Usuario que puede registrar las ubicaciones de Amazon S3, acceder al catálogo de datos, crear bases de datos, crear y ejecutar flujos de trabajo, conceder permisos de Lake Formation a otros usuarios y ver los AWS CloudTrail registros. Tiene menos permisos IAM que el administrador IAM, pero suficientes para administrar el lago de datos. No se pueden añadir otros administradores del lago de datos.
Administrador de solo lectura (Opcional) Usuario que puede ver entidades principales, recursos del Catálogo de datos, permisos y registros de AWS CloudTrail , sin permisos para las actualizaciones.
Ingeniero de datos (Opcional) Usuario que puede crear bases de datos, crear y ejecutar rastreadores y flujos de trabajo, y conceder permisos de Lake Formation sobre las tablas del Catálogo de datos que crean los rastreadores y los flujos de trabajo. Le recomendamos que convierta a todos los ingenieros de datos en creadores de bases de datos. Para obtener más información, consulte Creación de una base de datos.
Analista de datos (Opcional) Usuario que puede ejecutar consultas en el lago de datos utilizando, por ejemplo, Amazon Athena. Solo tiene permisos suficientes para ejecutar consultas.
Rol de flujo de trabajo (Obligatorio) Rol que ejecuta un flujo de trabajo en nombre de un usuario. Este rol se especifica cuando se crea un flujo de trabajo a partir de un esquema.

AWS políticas gestionadas para Lake Formation

Puede conceder los permisos AWS Identity and Access Management (de IAM) necesarios para trabajar con ellas AWS Lake Formation mediante políticas AWS gestionadas y políticas integradas. Las siguientes políticas AWS gestionadas están disponibles para Lake Formation.

AWS política gestionada: AWSLakeFormationDataAdmin

AWSLakeFormationDataAdminla política otorga acceso administrativo AWS Lake Formation y servicios relacionados, como la administración AWS Glue de lagos de datos.

Puede asociar AWSLakeFormationDataAdmin a los usuarios, grupos y roles.

Detalles del permiso

  • CloudTrail— Permite a los directores ver los AWS CloudTrail registros. Esto es necesario para revisar cualquier error en la configuración del lago de datos.

  • Glue. Permite a las entidades principales ver, crear y actualizar tablas de metadatos y bases de datos en el Catálogo de datos. Esto incluye las operaciones de la API que comienzan con Get, List, Create, Update, Delete y Search. Esto es necesario para administrar los metadatos de las tablas del lago de datos.

  • IAM. Permite a las entidades principales recuperar información sobre los usuarios y roles de IAM y las políticas asociadas a los roles. Esto es necesario para que el administrador de datos revise y enumere los usuarios y roles de IAM para conceder los permisos de Lake Formation.

  • Lake Formation. Concede a los administradores de los lagos de datos los permisos necesarios de Lake Formation para administrar los lagos de datos.

  • S3. Permite a las entidades principales recuperar información sobre los buckets de Amazon S3 y sus ubicaciones con el fin de establecer la ubicación de datos para los lagos de datos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:*", "cloudtrail:DescribeTrails", "cloudtrail:LookupEvents", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase", "glue:UpdateDatabase", "glue:DeleteDatabase", "glue:GetConnections", "glue:SearchTables", "glue:GetTable", "glue:CreateTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTableVersions", "glue:GetPartitions", "glue:GetTables", "glue:GetWorkflow", "glue:ListWorkflows", "glue:BatchGetWorkflows", "glue:DeleteWorkflow", "glue:GetWorkflowRuns", "glue:StartWorkflowRun", "glue:GetWorkflow", "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:GetBucketAcl", "iam:ListUsers", "iam:ListRoles", "iam:GetRole", "iam:GetRolePolicy" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "lakeformation:PutDataLakeSettings" ], "Resource": "*" } ] }
nota

La política AWSLakeFormationDataAdmin no concede todos los permisos necesarios a los administradores del lago de datos. Se necesitan permisos adicionales para crear y ejecutar flujos de trabajo y registrar ubicaciones con el rol vinculado al servicio AWSServiceRoleForLakeFormationDataAccess. Para obtener más información, consulte Crear un administrador de lago de datos y Uso de roles vinculados a servicios para Lake Formation.

AWS política gestionada: AWSLakeFormationCrossAccountManager

AWSLakeFormationCrossAccountManagerla política proporciona acceso entre cuentas a AWS Glue los recursos a través de Lake Formation y otorga acceso de lectura a otros servicios requeridos, como AWS Organizations y AWS RAM.

Puede asociar AWSLakeFormationCrossAccountManager a los usuarios, grupos y roles.

Detalles del permiso

Esta política incluye los siguientes permisos.

  • Glue. Permite a las entidades principales establecer o eliminar la política de recursos del Catálogo de datos para el control de acceso.

  • Organizations. Permite a las entidades principales recuperar información sobre cuentas y unidades organizativas (UO) de una organización.

  • ram:CreateResourceShare. Permite a las entidades principales crear un recurso compartido.

  • ram:UpdateResourceShare. Permite a las entidades principales modificar algunas propiedades del recurso compartido especificado.

  • ram:DeleteResourceShare. Permite a las entidades principales eliminar el recurso compartido especificado.

  • ram:AssociateResourceShare. Permite a las entidades principales añadir la lista especificada de entidades principales y la lista de recursos a un recurso compartido.

  • ram:DisassociateResourceShare. Permite a las entidades principales eliminar a las entidades principales o recursos especificados de la participación en el recurso compartido especificado.

  • ram:GetResourceShares. Permite a las entidades principales recuperar detalles sobre los recursos compartidos que le pertenecen o que se comparten.

  • ram:RequestedResourceType. Permite a las entidades principales recuperar el tipo de recurso (base de datos, tabla o catálogo).

  • AssociateResourceSharePermission— Permite a los directores añadir o reemplazar el AWS RAM permiso para un tipo de recurso incluido en un recurso compartido. Puede tener exactamente un permiso asociado a cada tipo de recurso en el recurso compartido.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "ram:RequestedResourceType": [ "glue:Table", "glue:Database", "glue:Catalog" ] } } }, { "Effect": "Allow", "Action": [ "ram:UpdateResourceShare", "ram:DeleteResourceShare", "ram:AssociateResourceShare", "ram:DisassociateResourceShare", "ram:GetResourceShares" ], "Resource": "*", "Condition": { "StringLike": { "ram:ResourceShareName": [ "LakeFormation*" ] } } }, { "Effect": "Allow", "Action": [ "ram:AssociateResourceSharePermission" ], "Resource": "*", "Condition": { "StringLike": { "ram:PermissionArn": [ "arn:aws:ram::aws:permission/AWSRAMLFEnabled*" ] } } }, { "Effect": "Allow", "Action": [ "glue:PutResourcePolicy", "glue:DeleteResourcePolicy", "organizations:DescribeOrganization", "organizations:DescribeAccount", "ram:Get*", "ram:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "organizations:ListRoots", "organizations:ListAccountsForParent", "organizations:ListOrganizationalUnitsForParent" ], "Resource": "*" } ] }

AWS política gestionada: AWSGlueConsoleFullAccess

AWSGlueConsoleFullAccessla política otorga acceso total a AWS Glue los recursos cuando una identidad a la que está asociada la política utiliza la AWS Management Console. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Esta política suele estar asociada a los usuarios de la AWS Glue consola.

Además, AWS Glue Lake Formation asume la función de servicio AWSGlueServiceRole para permitir el acceso a servicios relacionados, incluidos Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3) y Amazon. CloudWatch

AWS managed policy:LakeFormationDataAccessServiceRolePolicy

Esta política está asociada a un rol vinculado al servicio denominado ServiceRoleForLakeFormationDataAccess que permite al servicio realizar acciones sobre los recursos a petición suya. No puedes adjuntar esta política a tus identidades de IAM.

Esta política permite a los AWS servicios integrados de Lake Formation, como Amazon Athena Amazon Redshift, utilizar la función vinculada al servicio para descubrir los recursos de Amazon S3.

Para obtener más información, consulte Uso de roles vinculados a servicios para Lake Formation.

Detalles del permiso

Esta política incluye el siguiente permiso.

  • s3:ListAllMyBuckets— Devuelve una lista de todos los depósitos propiedad del remitente autenticado de la solicitud.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessServiceRolePolicy", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
Lake Formation actualiza sus políticas AWS gestionadas

Consulta los detalles sobre las actualizaciones de las políticas AWS gestionadas de Lake Formation desde que este servicio comenzó a rastrear estos cambios.

Cambio Descripción Fecha
Política LakeFormationDataAccessServiceRolePolicy actualizada de Lake Formation. Lake Formation mejoró la LakeFormationDataAccessServiceRolePolicypolítica al agregar un elemento Sid a la declaración de política. Febrero de 2024
Política AWSLakeFormationCrossAccountManager actualizada de Lake Formation. Lake Formation mejoró la AWSLakeFormationCrossAccountManagerpolítica al agregar un nuevo permiso para permitir el intercambio de datos entre cuentas en modo de acceso híbrido. Octubre de 2023
Política AWSLakeFormationCrossAccountManager actualizada de Lake Formation. Lake Formation mejoró la AWSLakeFormationCrossAccountManagerpolítica para crear solo un recurso compartido por cuenta de destinatario cuando el recurso se comparte por primera vez. Todos los recursos compartidos a partir de entonces con la misma cuenta se adjuntan al mismo recurso compartido. 6 de mayo de 2022
Lake Formation inició el seguimiento de los cambios. Lake Formation comenzó a rastrear los cambios en sus políticas AWS gestionadas. 6 de mayo de 2022

Permisos sugeridos para las personas

Los siguientes son los permisos sugeridos para cada persona. El administrador de IAM no está incluido porque ese usuario tiene todos los permisos sobre todos los recursos.

Permisos de administrador del lago de datos

importante

En las siguientes políticas, <account-id>sustitúyalo por un número de AWS cuenta válido y <workflow_role>sustitúyelo por el nombre de un rol que tenga permisos para ejecutar un flujo de trabajo, tal y como se define enPermisos del rol de flujo de trabajo.

Tipo de política Política
AWS políticas gestionadas
  • AWSLakeFormationDataAdmin

  • LakeFormationDataAccessServiceRolePolicy(política de funciones vinculadas al servicio)

  • AWSGlueConsoleFullAccess (opcional)

  • CloudWatchLogsReadOnlyAccess (Optional)

  • AWSLakeFormationCrossAccountManager (Optional)

  • AmazonAthenaFullAccess (opcional)

Para obtener información sobre las políticas AWS administradas opcionales, consulte. Crear un administrador de lago de datos

Política insertada (para crear el rol vinculado al servicio de Lake Formation)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
(Opcional) Política insertada (política de passrole para el rol de flujo de trabajo). Esto solo es necesario si el administrador del lago de datos crea y ejecuta flujos de trabajo.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
(Opcional) Política en línea (si su cuenta concede o recibe permisos entre cuentas de Lake Formation). Esta política sirve para aceptar o rechazar las invitaciones para compartir AWS RAM recursos y para permitir la concesión de permisos entre cuentas a las organizaciones. ram:EnableSharingWithAwsOrganizationsolo es obligatorio para los administradores del lago de datos de la cuenta de AWS Organizations administración.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }

Permisos de administrador de solo lectura

Tipo de política Política
Política insertada (básica)
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "lakeformation:GetEffectivePermissionsForPath", "lakeformation:ListPermissions", "lakeformation:ListDataCellsFilter", "lakeformation:GetDataCellsFilter", "lakeformation:SearchDatabasesByLFTags", "lakeformation:SearchTablesByLFTags", "lakeformation:GetLFTag", "lakeformation:ListLFTags", "lakeformation:GetResourceLFTags", "lakeformation:ListLakeFormationOptin", "cloudtrail:DescribeTrails", "cloudtrail:LookupEvents", "glue:GetDatabase", "glue:GetDatabases", "glue:GetConnections", "glue:SearchTables", "glue:GetTable", "glue:GetTableVersions", "glue:GetPartitions", "glue:GetTables", "glue:GetWorkflow", "glue:ListWorkflows", "glue:BatchGetWorkflows", "glue:GetWorkflowRuns", "glue:GetWorkflow", "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:GetBucketAcl", "iam:ListUsers", "iam:ListRoles", "iam:GetRole", "iam:GetRolePolicy" ], "Resource":"*" }, { "Effect":"Deny", "Action":[ "lakeformation:PutDataLakeSettings" ], "Resource":"*" } ] }

Permisos de ingeniero de datos

importante

En las siguientes políticas, <account-id>sustitúyalo por un número de AWS cuenta válido y <workflow_role>sustitúyalo por el nombre del rol del flujo de trabajo.

Tipo de política Política
AWS política gestionada AWSGlueConsoleFullAccess
Política insertada (básica)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions", "lakeformation:RevokePermissions", "lakeformation:BatchGrantPermissions", "lakeformation:BatchRevokePermissions", "lakeformation:ListPermissions", "lakeformation:AddLFTagsToResource", "lakeformation:RemoveLFTagsFromResource", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags", "lakeformation:GetWorkUnits", "lakeformation:GetWorkUnitResults", "lakeformation:StartQueryPlanning", "lakeformation:GetQueryState", "lakeformation:GetQueryStatistics" ], "Resource": "*" } ] }
Política insertada (para las operaciones en tablas gobernadas, incluidas las operaciones dentro de las transacciones)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:ExtendTransaction", "lakeformation:DescribeTransaction", "lakeformation:ListTransactions", "lakeformation:GetTableObjects", "lakeformation:UpdateTableObjects", "lakeformation:DeleteObjectsOnCancel" ], "Resource": "*" } ] }
Política insertada (para el control de acceso a metadatos mediante el método de control de acceso basado en etiquetas de Lake Formation (LF-TBAC))
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:AddLFTagsToResource", "lakeformation:RemoveLFTagsFromResource", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
Política insertada (política de passrole para el rol de flujo de trabajo)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }

Permisos de analista de datos

Tipo de política Política
AWS política gestionada AmazonAthenaFullAccess
Política insertada (básica)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }
(Opcional) Política insertada (para las operaciones en tablas gobernadas, incluidas las operaciones dentro de las transacciones)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:StartTransaction", "lakeformation:CommitTransaction", "lakeformation:CancelTransaction", "lakeformation:ExtendTransaction", "lakeformation:DescribeTransaction", "lakeformation:ListTransactions", "lakeformation:GetTableObjects", "lakeformation:UpdateTableObjects", "lakeformation:DeleteObjectsOnCancel" ], "Resource": "*" } ] }

Permisos del rol de flujo de trabajo

Este rol cuenta con los permisos necesarios para ejecutar un flujo de trabajo. Se especifica un rol con estos permisos cuando se crea un flujo de trabajo.

importante

En las siguientes políticas, <region>sustitúyalo por un identificador de AWS región válido (por ejemplous-east-1), por <account-id>un número de AWS cuenta válido, por <workflow_role>el nombre del rol del flujo de trabajo y por <your-s3-cloudtrail-bucket>la ruta de Amazon S3 a tus AWS CloudTrail registros.

Tipo de política Política
AWS política gestionada AWSGlueServiceRole
Política insertada (acceso a datos)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Lakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" } ] }
Política insertada (política de passrole para el rol de flujo de trabajo)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
Política en línea (para ingerir datos fuera del lago de datos, por ejemplo, AWS CloudTrail registros)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }