AWS Data Pipeline 정책의 예 - AWS Data Pipeline

AWS Data Pipeline 정책의 예

다음 예제는 사용자에게 파이프라인에 대한 모든 또는 제한된 액세스 권한을 부여하는 방법을 보여줍니다.

예제 1: 태그에 따라 사용자에게 읽기 전용 액세스 권한 부여

다음 정책에 따라 사용자는 읽기 전용 AWS Data Pipeline API 작업을 사용할 수 있으며, 단 "environment=production" 태그가 있는 파이프라인만 가능합니다.

ListPipelines API 작업은 태그 기반 권한 부여는 지원하지 않습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:Describe*", "datapipeline:GetPipelineDefinition", "datapipeline:ValidatePipelineDefinition", "datapipeline:QueryObjects" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "datapipeline:Tag/environment": "production" } } } ] }

예제 2: 태그에 따라 사용자에게 모든 액세스 권한 부여

다음 정책에 따라 사용자는 ListPipelines를 제외한 모든 AWS Data Pipeline API 작업을 사용할 수 있으며, 단 "environment=test" 태그가 있는 파이프라인만 가능합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:*" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "datapipeline:Tag/environment": "test" } } } ] }

예제 3: 파이프라인 소유자에게 모든 액세스 권한 부여

다음 정책에 따라 사용자는 모든 AWS Data Pipeline API 작업을 사용할 수 있으며, 단 자체 파이프라인만 가능합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:*" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "datapipeline:PipelineCreator": "${aws:userid}" } } } ] }

예제 4: 사용자에게 AWS Data Pipeline 콘솔에 대한 액세스 권한 부여

다음 정책에 따라 사용자는 AWS Data Pipeline 콘솔을 사용하여 파이프라인을 생성하고 관리할 수 있습니다.

이 정책에는 AWS Data Pipeline가 필요로 하는 roleARN에 묶여 있는 특정 리소스에 대한 PassRole 권한의 작업이 포함되어 있습니다. 자격 증명 기반(IAM) PassRole 권한에 대한 자세한 내용은 블로그 게시물 Granting Permission to Launch EC2 Instances with IAM Roles (PassRole Permission)을 참조하십시오.

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "cloudwatch:*", "datapipeline:*", "dynamodb:DescribeTable", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:ListInstance*", "iam:AddRoleToInstanceProfile", "iam:CreateInstanceProfile", "iam:GetInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:ListInstanceProfiles", "iam:ListInstanceProfilesForRole", "iam:ListRoles", "rds:DescribeDBInstances", "rds:DescribeDBSecurityGroups", "redshift:DescribeClusters", "redshift:DescribeClusterSecurityGroups", "s3:List*", "sns:ListTopics" ], "Effect": "Allow", "Resource": [ "*" ] }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/DataPipelineDefaultResourceRole", "arn:aws:iam::*:role/DataPipelineDefaultRole" ] } ] }