이벤트 데이터 스토어 페더레이션 - AWS CloudTrail

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

이벤트 데이터 스토어 페더레이션

이벤트 데이터 스토어를 페더레이션하면 데이터 카탈로그의 이벤트 데이터 스토어와 관련된 메타데이터를 보고, AWS Glue 데이터 카탈로그를 등록하고 AWS Lake Formation, Amazon Athena를 사용하여 이벤트 데이터에 대해 SQL 쿼리를 실행할 수 있습니다. AWS Glue 데이터 카탈로그에 저장된 테이블 메타데이터를 통해 Athena 쿼리 엔진은 쿼리하려는 데이터를 찾고, 읽고, 처리하는 방법을 알 수 있습니다.

CloudTrail 콘솔 AWS CLI, 또는 EnableFederationAPI 작업을 사용하여 페더레이션을 활성화할 수 있습니다. Lake 쿼리 페더레이션을 활성화하면 AWS Glue Data Catalog에 이름이 지정된 관리형 데이터베이스 aws:cloudtrail (데이터베이스가 아직 없는 경우) 와 관리형 페더레이션된 테이블이 CloudTrail 만들어집니다. 이벤트 데이터 저장소 ID는 테이블 이름에 사용됩니다. CloudTrail 데이터 카탈로그의 페더레이션된 리소스에 대한 세밀한 액세스 제어를 허용하는 AWS Lake Formation서비스인 페더레이션 역할 ARN과 이벤트 데이터 저장소를 등록합니다. AWS Glue

Lake 쿼리 페더레이션 활성화하려면 새 IAM 역할을 생성하거나 기존 역할을 선택해야 합니다. Lake Formation은 이 역할을 사용하여 페더레이션 이벤트 데이터 스토어의 권한을 관리합니다. CloudTrail 콘솔을 사용하여 새 역할을 생성하면 역할에 필요한 권한이 CloudTrail 자동으로 생성됩니다. 기존 역할을 선택하는 경우 해당 역할이 최소 권한을 제공하는지 확인합니다.

CloudTrail 콘솔 또는 DisableFederationAPI 작업을 사용하여 페더레이션을 AWS CLI비활성화할 수 있습니다. 페더레이션을 CloudTrail 비활성화하면,, Amazon Athena와의 AWS Glue통합이 비활성화됩니다. AWS Lake Formation Lake 쿼리 페더레이션을 비활성화한 후에는 더 이상 Athena에서 이벤트 데이터를 쿼리할 수 없습니다. 페더레이션을 비활성화해도 CloudTrail Lake 데이터는 삭제되지 않으며 Lake에서 CloudTrail 계속 쿼리를 실행할 수 있습니다.

CloudTrail Lake 이벤트 데이터 저장소를 페더레이션하는 데는 CloudTrail 요금이 부과되지 않습니다. Amazon Athena에서 쿼리를 실행하는 데는 비용이 듭니다. Athena 요금에 대한 자세한 내용은 Amazon Athena 요금을 참조하세요.

고려 사항

이벤트 데이터 스토어를 페더레이션할 때는 다음 사항을 고려하세요.

  • CloudTrail Lake 이벤트 데이터 저장소를 페더레이션하는 데는 CloudTrail 요금이 부과되지 않습니다. Amazon Athena에서 쿼리를 실행하는 데는 비용이 듭니다. Athena 요금에 대한 자세한 내용은 Amazon Athena 요금을 참조하세요.

  • Lake Formation은 페더레이션 리소스에 대한 권한을 관리하는 데 사용됩니다. 페더레이션 역할을 삭제하거나 Lake Formation 또는 AWS Glue에서 리소스에 대한 권한을 취소하면 Athena에서 쿼리를 실행할 수 없습니다. Lake Formation 작업에 대한 자세한 내용은 다음을 통해 CloudTrail Lake 페더레이션 리소스를 관리합니다. AWS Lake Formation 섹션을 참조하세요.

  • Amazon Athena를 사용하여 Lake Formation에 등록된 데이터를 쿼리하는 사용자는 lakeformation:GetDataAccess 작업을 허용하는 IAM 권한 정책이 있어야 합니다. AWS 관리형 정책: 이 AmazonAthenaFullAccess작업을 허용합니다. 인라인 정책을 사용하는 경우 이 작업을 허용하도록 권한 정책을 업데이트하세요. 자세한 내용은 Lake Formation 및 Athena 사용자 권한 관리를 참조하세요.

  • Athena에서 페더레이션 테이블에 대한 뷰를 생성하려면 aws:cloudtrail 이외의 대상 데이터베이스가 필요합니다. aws:cloudtrail데이터베이스가 에서 관리되기 때문입니다 CloudTrail.

  • QuickSightAmazon에서 데이터세트를 생성하려면 사용자 지정 SQL 사용 옵션을 선택해야 합니다. 자세한 내용은 Amazon Athena 데이터를 사용하여 데이터 세트 생성을 참조하십시오.

  • 페더레이션이 활성화된 경우 이벤트 데이터 스토어를 삭제할 수 없습니다. 페더레이션 이벤트 데이터 스토어를 삭제하려면 먼저 페더레이션 및 종료 방지 기능이 활성화된 경우 비활성화해야 합니다.

  • 조직 이벤트 데이터 스토어에는 다음 고려 사항이 적용됩니다.

    • 위임된 단일 관리자 계정 또는 관리 계정만 조직 이벤트 데이터 스토어에서 페더레이션을 활성화할 수 있습니다. 위임된 다른 관리자 계정은 Lake Formation 데이터 공유 기능을 사용하여 계속해서 정보를 쿼리하고 공유할 수 있습니다.

    • 위임된 관리자 계정이나 조직의 관리 계정은 페더레이션을 비활성화할 수 있습니다.

페더레이션에 필요한 권한

이벤트 데이터 스토어를 페더레이션하기 전에 페더레이션 역할과 페더레이션 활성화 및 비활성화에 필요한 모든 권한이 있는지 확인합니다. 페더레이션을 활성화하기 위해 기존 IAM 역할을 선택한 경우 페더레이션 역할 권한을 업데이트하기만 하면 됩니다. CloudTrail 콘솔을 사용하여 새 IAM 역할을 생성하기로 선택한 경우 역할에 필요한 모든 권한을 CloudTrail 제공합니다.

이벤트 데이터 스토어 페더레이션을 위한 IAM 권한

페더레이션을 활성화하면 새 IAM 역할을 생성하거나 기존 IAM 역할을 사용할 수 있는 옵션이 제공됩니다. 새 IAM 역할을 선택하면 필요한 권한이 있는 IAM 역할이 CloudTrail 생성되므로 추가 조치가 필요하지 않습니다.

기존 역할을 선택하는 경우 IAM 역할의 정책이 페더레이션 활성화에 필요한 권한을 제공하는지 확인합니다. 이 섹션에서는 필요한 IAM 역할 권한 및 신뢰 정책의 예제를 제공합니다.

다음 예제에서는 페더레이션 역할에 대한 권한 정책을 제공합니다. 첫 번째 문에는 Resource에 대한 이벤트 데이터 스토어의 전체 ARN을 제공합니다.

이 정책의 두 번째 문은 Lake Formation이 KMS 키로 암호화된 이벤트 데이터 스토어에 대한 데이터를 복호화하도록 허용합니다. key-region, account-idkey-id를 KMS 키의 값으로 바꿉니다. 이벤트 데이터 스토어가 암호화에 KMS 키를 사용하지 않는 경우 이 문을 생략할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFederationEDSDataAccess", "Effect": "Allow", "Action": "cloudtrail:GetEventDataStoreData", "Resource": "arn:aws:cloudtrail:eds-region:account-id:eventdatastore/eds-id" }, { "Sid": "LakeFederationKMSDecryptAccess", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:key-region:account-id:key/key-id" } ] }

다음 예제에서는 AWS Lake Formation 이 IAM 역할을 수임하여 페더레이션 이벤트 데이터 스토어에 대한 권한을 관리할 수 있도록 허용하는 IAM 신뢰 정책을 제공합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

페더레이션 활성화에 필요한 권한

다음 예제 정책은 이벤트 데이터 스토어에서 페더레이션을 활성화하는 데 필요한 최소 권한을 제공합니다. 이 정책을 통해 CloudTrail 이벤트 데이터 스토어에서 페더레이션을 활성화하고, AWS Glue AWS Glue 데이터 카탈로그에 페더레이션된 리소스를 생성하고, 리소스 등록을 관리할 AWS Lake Formation 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CloudTrail to enable federation on the event data store", "Effect": "Allow", "Action": "cloudtrail:EnableFederation", "Resource": "arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id" }, { "Sid": "Allow access to the federation role", "Effect": "Allow", "Action": [ "iam:PassRole", "iam:GetRole" ], "Resource": "arn:aws:iam::region:role/federation-role-name" }, { "Sid": "Allow AWS Glue to create the federated resources in the Data Catalog", "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:CreateTable", "glue:PassConnection" ], "Resource": [ "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/aws:cloudtrail", "arn:aws:glue:region:account-id:table/aws:cloudtrail/eds-id", "arn:aws:glue:region:account-id:connection/aws:cloudtrail" ] }, { "Sid": "Allow Lake Formation to manage resource registration", "Effect": "Allow", "Action": [ "lakeformation:RegisterResource", "lakeformation:DeregisterResource" ], "Resource": "arn:aws:lakeformation:region:account-id:catalog:account-id" } ] }

페더레이션 비활성화에 필요한 권한

다음 예제 정책은 이벤트 데이터 스토어에서 페더레이션을 비활성화하는 데 필요한 최소 리소스를 제공합니다. 이 정책을 통해 CloudTrail 이벤트 데이터 저장소에서 페더레이션을 사용하지 않도록 설정하고, AWS Glue Data Catalog에서 관리되는 페더레이션된 테이블을 삭제하고, Lake Formation에서 페더레이션된 리소스의 등록을 취소할 수 있습니다. AWS Glue

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow CloudTrail to disable federation on the event data store", "Effect": "Allow", "Action": "cloudtrail:DisableFederation", "Resource": "arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id" }, { "Sid": "Allow AWS Glue to delete the managed federated table from the AWS Glue Data Catalog", "Effect": "Allow", "Action": "glue:DeleteTable", "Resource": [ "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/aws:cloudtrail", "arn:aws:glue:region:account-id:table/aws:cloudtrail/eds-id" ] }, { "Sid": "Allow Lake Formation to deregister the resource", "Effect": "Allow", "Action": "lakeformation:DeregisterResource", "Resource": "arn:aws:lakeformation:region:account-id:catalog:account-id" } ] }