Lake Formation 페르소나 및 IAM 권한 레퍼런스 - AWS Lake Formation

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Lake Formation 페르소나 및 IAM 권한 레퍼런스

이 섹션에는 몇 가지 제안된 Lake Formation 페르소나와 권장 AWS Identity and Access Management (IAM) 권한이 나열되어 있습니다. Lake Formation 권한에 대한 자세한 내용은 을 참조하십시오호수 형성 권한 참조.

AWS Lake Formation페르소나

다음 표에는 추천 AWS Lake Formation 페르소나가 나와 있습니다.

레이크 포메이션 페르소나스
페르소나 설명
IAM 관리자 (수퍼유저) (필수) IAM 사용자 및 역할을 생성할 수 있는 사용자. AdministratorAccessAWS관리형 정책이 있습니다. 모든 Lake Formation 리소스에 대한 모든 권한을 가지고 있습니다. 데이터 레이크 관리자를 추가할 수 있습니다. 데이터 레이크 관리자로 지정되지 않은 경우 Lake Formation 권한을 부여할 수 없습니다.
데이터 레이크 관리자 (필수) Amazon S3 위치를 등록하고, 데이터 카탈로그에 액세스하고, 데이터베이스를 생성하고, 워크플로를 생성 및 실행하고, Lake Formation 권한을 다른 사용자에게 부여하고, AWS CloudTrail 로그를 볼 수 있는 사용자. IAM 관리자보다 IAM 권한이 적지만 데이터 레이크를 관리할 수 있는 권한은 충분합니다. 다른 데이터 레이크 관리자를 추가할 수 없습니다.
읽기 전용 관리자 (선택 사항) 업데이트 권한 없이 보안 주체, 데이터 카탈로그 리소스, 권한 및 AWS CloudTrail 로그를 볼 수 있는 사용자.
데이터 엔지니어 (선택 사항) 데이터베이스를 만들고, 크롤러와 워크플로를 생성 및 실행하고, 크롤러와 워크플로가 만드는 Data Catalog 테이블에 대한 Lake Formation 권한을 부여할 수 있는 사용자. 모든 데이터 엔지니어에게 데이터베이스 생성자로 만드는 것이 좋습니다. 자세한 정보는 데이터베이스 생성을 참조하세요.
데이터 분석가 (선택 사항) 예를 들어, 를 사용하여 데이터 레이크에 대해 쿼리를 실행할 수 있는 사용자Amazon Athena. 쿼리를 실행할 수 있는 충분한 권한만 있습니다.
워크플로 역할 (필수) 사용자를 대신하여 워크플로를 실행하는 역할. 블루프린트에서 워크플로를 생성할 때 이 역할을 지정합니다.

Lake Formation 매니지드 정책

AWS관리형 정책 및 인라인 정책을 사용하여 작업에 필요한 AWS Identity and Access Management (IAM) 권한을 부여할 수 있습니다. AWS Lake Formation Lake AWS Formation에는 다음과 같은 관리형 정책이 제공됩니다.

보안 주체 AWS 관리형 정책 설명
Lake Formation 사용자 (데이터 레이크 관리자 포함) AWSGlueConsoleFullAccess 교장이 Lake Formation 콘솔에서 다양한 작업을 수행할 수 있습니다.
데이터 레이크 관리자 AWSLakeFormationDataAdmin 데이터 레이크 관리자가 관리 작업을 수행하고 AWS CloudTrail 로그를 볼 수 있습니다.
Lake Formation 사용자 (데이터 레이크 관리자 포함) AWSLakeFormationCrossAccountManager 주체가 외부 AWS 계정, 조직 또는 조직 단위에 Lake Formation 권한을 부여할 수 있습니다.
참고

AWSLakeFormationDataAdmin 정책은 데이터 레이크 관리자에게 필요한 모든 권한을 부여하지는 않습니다. 워크플로를 생성 및 실행하고 서비스 연결 역할에 위치를 등록하려면 추가 권한이 필요합니다AWSServiceRoleForLakeFormationDataAccess. 자세한 내용은 데이터 레이크 관리자를 생성하세요.Lake Formation Forvice연결 역할 사용 단원을 참조하세요.

또한 Lake Formation은 아마존 Elastic Compute Cloud (Amazon EC2), 아마존 심플 스토리지 서비스 (Amazon S3), 아마존 S3), 아마존 등 관련 서비스에 대한 액세스를 허용하는 서비스 역할을 AWSGlueServiceRole 맡습니다. AWS Glue CloudWatch

AWS관리형 정책에 대한 Lake Formation 업데이트

이 서비스가 이러한 변경 사항을 추적하기 시작한 이후 Lake Formation의 AWS 관리형 정책 업데이트에 대한 세부 정보를 확인하십시오.

변경 사항 설명 날짜
Lake Formation 업데이트 AWSLakeFormationCrossAccountManager 정책. Lake Formation은 하이브리드 액세스 모드에서 계정 간 데이터 공유를 가능하게 하는 새로운 권한을 추가하여 AWSLakeFormationCrossAccountManager정책을 개선했습니다. 2023년 10월
Lake Formation 업데이트 AWSLakeFormationCrossAccountManager 정책. Lake Formation은 리소스를 처음 공유할 때 수신자 계정당 하나의 리소스 공유만 생성하도록 AWSLakeFormationCrossAccountManager정책을 개선했습니다. 이후 동일한 계정으로 공유된 모든 리소스는 동일한 리소스 공유에 연결됩니다. 2022년 5월 6일
Lake Formation은 변화를 추적하기 시작했습니다. Lake Formation은 AWS 관리형 정책의 변경 사항을 추적하기 시작했습니다. 2022년 5월 6일

페르소나가 제안한 권한

다음은 각 페르소나에 대한 권장 권한입니다. IAM 관리자는 포함되지 않습니다. 해당 사용자는 모든 리소스에 대한 모든 권한을 가지고 있기 때문입니다.

데이터 레이크 관리자 권한

중요

다음 정책에서는 <account-id>유효한 AWS 계정 번호로 바꾸고 에 <workflow_role>정의된 대로 워크플로를 실행할 권한이 있는 역할의 이름으로 워크플로 역할 권한바꾸십시오.

정책 유형 Policy
AWS 관리형 정책
  • AWSLakeFormationDataAdmin

  • AWSGlueConsoleFullAccess(선택 사항)

  • CloudWatchLogsReadOnlyAccess(선택 사항)

  • AWSLakeFormationCrossAccountManager(선택 사항)

  • AmazonAthenaFullAccess(선택 사항)

선택적 AWS 관리형 정책에 대한 자세한 내용은 을 참조하십시오데이터 레이크 관리자를 생성하세요..

인라인 정책 (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" } ] }
(선택 사항) 인라인 정책 (워크플로 역할에 대한 암호 정책). 이는 데이터 레이크 관리자가 워크플로를 생성하고 실행하는 경우에만 필요합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
(선택 사항) 인라인 정책 (계정에 계정 간 Lake Formation 권한을 부여하거나 받는 경우). 이 정책은 AWS RAM 리소스 공유 초대를 수락 또는 거부하고 조직에 계정 간 권한을 부여할 수 있도록 하기 위한 것입니다. ram:EnableSharingWithAwsOrganization관리 계정의 데이터 레이크 관리자에게만 필요합니다. AWS Organizations
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }

읽기 전용 관리자 권한

정책 유형 Policy
인라인 정책 (기본)
{ "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", "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":"*" } ] }

데이터 엔지니어 권한

중요

다음 정책에서는 <account-id>유효한 AWS 계정 번호로 바꾸고 <workflow_role>워크플로 역할의 이름으로 바꾸십시오.

정책 유형 Policy
AWS 관리형 정책 AWSGlueConsoleFullAccess
인라인 정책 (기본)
{ "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": "*" } ] }
인라인 정책 (트랜잭션 내 작업을 포함하여 관리되는 테이블에 대한 작업용)
{ "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": "*" } ] }
인라인 정책 (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": "*" } ] }
인라인 정책 (워크플로 역할에 대한 암호 정책)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }

데이터 분석가 권한

정책 유형 Policy
AWS 관리형 정책 AmazonAthenaFullAccess
인라인 정책 (기본)
{ "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": "*" } ] }
(선택 사항) 인라인 정책 (트랜잭션 내 작업을 포함하여 관리되는 테이블에 대한 작업용)
{ "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": "*" } ] }

워크플로 역할 권한

이 역할에는 워크플로를 실행하는 데 필요한 권한이 있습니다. 워크플로를 만들 때 이러한 권한이 있는 역할을 지정합니다.

중요

다음 정책에서는 <region>유효한 AWS 지역 식별자 (예:us-east-1), <account-id>유효한 AWS 계정 번호, <workflow_role>워크플로 역할 이름, <your-s3-cloudtrail-bucket>AWS CloudTrail로그의 Amazon S3 경로로 대체하십시오.

정책 유형 Policy
AWS 관리형 정책 AWSGlueServiceRole
인라인 정책 (데이터 액세스)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Lakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" } ] }
인라인 정책 (워크플로 역할의 암호 정책)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/<workflow_role>" ] } ] }
인라인 정책 (예: 로그 등 데이터 레이크 외부에서 데이터를 수집하는 경우) AWS CloudTrail
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:ListBucket"], "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }