이 주제의 권한 정책 예제에서는 필요한 허용된 작업과 해당 작업이 허용되는 리소스를 보여줍니다. IAM 자격 증명에 유사한 권한 정책을 연결하기 전에 이러한 정책을 신중하게 검토하고 요구 사항에 따라 수정합니다.
예 – IAM 보안 주체가 외부 Hive 메타스토어용 Athena 데이터 커넥터를 사용하여 데이터를 쿼리할 수 있도록 허용합니다.
다음 정책은 AWS 관리형 정책: AmazonAthenaFullAccess 외에 Athena 작업에 대한 전체 액세스 권한을 부여하는 IAM 보안 주체에도 연결됩니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"lambda:GetFunction",
"lambda:GetLayerVersion",
"lambda:InvokeFunction"
],
"Resource": [
"arn:aws:lambda:*:111122223333
:function:MyAthenaLambdaFunction
",
"arn:aws:lambda:*:111122223333
:function:AnotherAthenaLambdaFunction
",
"arn:aws:lambda:*:111122223333
:layer:MyAthenaLambdaLayer
:*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject",
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload"
],
"Resource": "arn:aws:s3:::MyLambdaSpillBucket
/MyLambdaSpillLocation
"
}
]
}
허용된 작업 | 설명 |
---|---|
|
|
|
쿼리가 Resource 블록에 지정된 AWS Lambda 함수를 호출할 수 있습니다. arn:aws:lambda:*: 을 예로 들 수 있습니다. 여기서 MyAthenaLambdaFunction 은 호출할 Lambda 함수의 이름을 지정합니다. 예제와 같이 여러 함수를 지정할 수 있습니다. |
예 – IAM 보안 주체가 외부 Hive 메타스토어용 Athena 데이터 커넥터를 생성할 수 있도록 허용합니다.
다음 정책은 AWS 관리형 정책: AmazonAthenaFullAccess 외에 Athena 작업에 대한 전체 액세스 권한을 부여하는 IAM 보안 주체에도 연결됩니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"lambda:GetFunction",
"lambda:ListFunctions",
"lambda:GetLayerVersion",
"lambda:InvokeFunction",
"lambda:CreateFunction",
"lambda:DeleteFunction",
"lambda:PublishLayerVersion",
"lambda:DeleteLayerVersion",
"lambda:UpdateFunctionConfiguration",
"lambda:PutFunctionConcurrency",
"lambda:DeleteFunctionConcurrency"
],
"Resource": "arn:aws:lambda:*:111122223333
: function: MyAthenaLambdaFunctionsPrefix
*"
}
]
}
권한에 대한 설명
쿼리가 Resource
블록에 지정된 AWS Lambda 함수에 대한 AWS Lambda 함수를 호출할 수 있습니다. arn:aws:lambda:*:
을 예로 들 수 있습니다. 여기서 MyAWSAcctId
:function:MyAthenaLambdaFunction
MyAthenaLambdaFunction
은 호출되는 Lambda 함수의 이름을 지정합니다. 예제와 같이 여러 함수를 지정할 수 있습니다.