서드 파티 쿼리 엔진이 애플리케이션 통합 API 작업을 사용할 수 있으려면 쿼리 엔진이 사용자를 대신하여 API 작업을 호출할 수 있는 권한을 명시적으로 활성화해야 합니다. 이는 몇 단계만 거치면 됩니다.
-
AWS Lake Formation 콘솔, AWS CLI 또는 API/SDK를 통해 애플리케이션 통합 API 작업을 호출할 권한이 필요한 AWS 계정 및 IAM 세션 태그를 지정해야 합니다.
-
서드 파티 쿼리 엔진이 계정에서 실행 역할을 맡는 경우, 쿼리 엔진은 서드 파티 엔진을 나타내는 Lake Formation에 등록된 세션 태그를 연결해야 합니다. Lake Formation은 이 태그를 사용하여 요청이 승인된 엔진에서 온 것인지 확인합니다. 세션 태그에 대한 자세한 내용은 IAM 사용자 설명서의 세션 태그를 참조하세요.
-
서드 파티 쿼리 엔진 실행 역할을 설정할 때는 IAM 정책에 다음과 같은 최소 권한 세트가 있어야 합니다.
{ "Version": "2012-10-17", "Statement": {"Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase", "glue:GetUserDefinedFunction", "glue:GetUserDefinedFunctions", "glue:GetPartition", "glue:GetPartitions" ], "Resource": "*" } }
-
쿼리 엔진 실행 역할에 역할 신뢰 정책을 설정하여 이 역할에 연결할 수 있는 세션 태그 키 값 페어에 대한 액세스를 세밀하게 제어할 수 있도록 하세요. 다음 예에서 이 역할은 세션 태그 키
"LakeFormationAuthorizedCaller"
와 세션 태그 값"engine1"
만 연결할 수 있으며 다른 세션 태그 키 값 페어는 허용되지 않습니다.{ "Sid": "AllowPassSessionTags", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/query-execution-role" }, "Action": "sts:TagSession", "Condition": { "StringLike": { "aws:RequestTag/
LakeFormationAuthorizedCaller
":"engine1"
} } }
LakeFormationAuthorizedCaller
가 쿼리 엔진이 사용할 자격 증명을 가져오기 위해 STS:AssumeRole API 작업을 호출할 때 세션 태그가 AssumeRole 요청에 포함되어야 합니다. 반환된 임시 자격 증명을 사용하여 Lake Formation 애플리케이션 통합 API 요청을 할 수 있습니다.
Lake Formation 애플리케이션 통합 API 작업을 수행하려면 호출 보안 주체가 IAM 역할이어야 합니다. IAM 역할에는 Lake Formation에 등록된 미리 정해진 값의 세션 태그가 포함되어야 합니다. 이 태그를 사용하면 Lake Formation이 애플리케이션 통합 API 작업을 호출하는 데 사용되는 역할이 허용되는지 확인할 수 있습니다.