IAM분산 맵 상태 사용 정책 - AWS Step Functions

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

IAM분산 맵 상태 사용 정책

Step Functions 콘솔로 워크플로를 생성하면 Step Functions가 워크플로 정의의 리소스를 기반으로 IAM 정책을 자동으로 생성할 수 있습니다. 이러한 정책에는 상태 시스템 역할이 분산 맵 상태에 대한 StartExecution API 작업을 호출하도록 허용하는 데 필요한 최소한의 권한이 포함됩니다. 이러한 정책에는 Step Functions가 액세스하는 데 필요한 최소 권한도 포함됩니다. AWS 리소스 (예: Amazon S3 버킷, 객체, Lambda 함수 등) 정책에 필요한 권한만 포함하는 것이 좋습니다. IAM 예를 들어 워크플로에 분산 모드의 Map 상태가 포함된 경우 정책 범위를 데이터 세트가 포함된 특정 Amazon S3 버킷과 폴더로 좁힙니다.

중요

분산 맵 상태 입력에 기존 키-값 쌍에 대한 참조 경로를 사용하여 Amazon S3 버킷과 객체 또는 접두사를 지정하는 경우 워크플로에 대한 IAM 정책을 업데이트해야 합니다. 정책 범위를 런타임 시 경로에서 확인하는 버킷과 객체 이름으로 좁히세요.

분산 맵 상태를 실행하기 위한 IAM 정책 예제

워크플로에 분산 맵 상태를 포함하는 경우 Step Functions에는 상태 시스템 역할이 분산 맵 상태에 대한 StartExecution API 작업을 호출할 수 있는 적절한 권한이 필요합니다.

다음 IAM 정책 예제는 분산 맵 상태를 실행하기 위해 상태 시스템 역할에 필요한 최소 권한을 부여합니다.

참고

stateMachineNameDistributed Map 상태를 사용하는 상태 시스템의 이름으로 바꿔야 합니다. 예: arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:region:accountID:stateMachine:stateMachineName" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": "arn:aws:states:region:accountID:execution:stateMachineName:*" } ] }

에 대한 IAM 정책 예제 redriving 분산 맵

실패한 하위 워크플로 실행을 Map Run Bay에서 다시 시작할 수 있습니다. redriving부모 워크플로. A redriven 부모 워크플로 redrives 모든 실패 상태 (분산 맵 포함) 상위 워크플로우에서 RedriveExecution API 작업을 호출하는 데 필요한 최소한의 권한이 실행 역할에 있는지 확인하십시오.

다음 IAM 정책 예제는 다음과 같은 상태 시스템 역할에 필요한 최소 권한을 부여합니다.redriving 분산 맵 상태.

참고

stateMachineNameDistributed Map 상태를 사용하는 상태 시스템의 이름으로 바꿔야 합니다. 예: arn:aws:states:us-east-2:123456789012:stateMachine:mystateMachine.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:RedriveExecution" ], "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachine/myMapRunLabel:*" } ] }

Amazon S3 데이터세트에서 데이터를 읽기 위한 IAM 정책의 예

다음 IAM 정책 예제는 ListObjectsV2와 GetObjectAPI작업을 사용하여 Amazon S3 데이터 세트에 액세스하는 데 필요한 최소한의 권한을 부여합니다.

예 IAMAmazon S3 객체를 데이터세트로 사용하는 정책

다음 예제는 라는 Amazon S3 버킷에 구성된 객체에 액세스할 수 processImages 있는 최소 권한을 부여하는 IAM 정책을 보여줍니다amzn-s3-demo-bucket.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ], "Condition": { "StringLike": { "s3:prefix": [ "processImages" ] } } } ] }
예 IAM데이터세트로서의 CSV 파일에 대한 정책

다음 예시는 이름이 지정된 CSV ratings.csv 파일에 액세스할 수 있는 최소 권한을 부여하는 IAM 정책을 보여줍니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/csvDataset/ratings.csv" ] } ] }
예 IAMAmazon S3 인벤토리를 데이터 세트로 사용하는 정책

다음 예는 Amazon S3 인벤토리 보고서에 액세스할 수 있는 최소 권한을 부여하는 IAM 정책을 보여줍니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::destination-prefix/amzn-s3-demo-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json", "arn:aws:s3:::destination-prefix/amzn-s3-demo-bucket/config-ID/data/*" ] } ] }

Amazon S3 버킷에 데이터를 쓰기 위한 IAM 정책의 예

다음 IAM 정책 예제는 하위 워크플로 실행 결과를 라는 폴더에 쓰는 데 필요한 최소 권한을 부여합니다.csvJobs Amazon S3 버킷에서 PutObject API 작업을 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/csvJobs/*" ] } ] }

IAM권한은 다음과 같습니다. AWS KMS key 암호화된 아마존 S3 버킷

Distributed Map 상태는 멀티파트 업로드를 사용하여 하위 워크플로 실행 결과를 Amazon S3 버킷에 씁니다. 다음을 사용하여 버킷을 암호화한 경우 AWS Key Management Service (AWS KMS) 키에는 권한도 포함해야 합니다.IAM 키에 대한 kms:Decryptkms:Encrypt, 및 kms:GenerateDataKey 작업을 수행하기 위한 정책. 이러한 권한이 필요한 이유는 Amazon S3이 멀티파트 업로드를 완료하기 전에 암호화된 파일 부분에서 데이터를 암호 해독하고 읽어야 하기 때문입니다.

다음 IAM 정책 예제는 Amazon S3 버킷을 암호화하는 데 사용되는 키에 대한 kms:Decryptkms:Encrypt, 및 kms:GenerateDataKey 작업에 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd" ] } }

자세한 내용은 다음을 사용하여 암호화하여 Amazon S3에 대용량 파일 업로드를 참조하십시오. AWS KMS key의 AWS지식 센터.

IAM사용자 또는 역할이 동일한 경우 AWS 계정 다음과 같이 KMS key그러면 키 정책에 대해 이러한 권한이 있어야 합니다. IAM사용자 또는 역할이 다음 계정과 다른 계정에 속하는 경우 KMS key그러면 키 정책과 IAM 사용자 또는 역할 모두에 대한 권한이 있어야 합니다.