기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Distributed Map 상태를 사용하기 위한 IAM 정책
Step Functions 콘솔을 사용하여 워크플로를 만들면 Step Functions에서 워크플로 정의의 리소스를 기반으로 IAM 정책을 자동으로 생성할 수 있습니다. 이러한 정책에는 상태 시스템 역할에서 Distributed Map 상태에 대한 StartExecution
API 작업을 간접적으로 호출하도록 허용하는 데 필요한 최소 권한이 포함되어 있습니다. 또한 이러한 정책에는 Amazon S3 버킷 및 객체와 Lambda 함수와 같은 AWS 리소스에 액세스하는 데 필요한 최소 권한이 포함됩니다. IAM 정책에 필요한 권한만 포함하는 것이 좋습니다. 예를 들어 워크플로에 분산 모드의 Map
상태가 포함된 경우 정책 범위를 데이터 세트가 포함된 특정 Amazon S3 버킷과 폴더로 좁힙니다.
중요
Distributed Map 상태 입력에 있는 기존 키-값 페어에 대한 참조 경로를 사용하여 Amazon S3 버킷과 객체 또는 접두사를 지정하는 경우 워크플로에 대한 IAM 정책을 업데이트해야 합니다. 정책 범위를 런타임 시 경로에서 확인하는 버킷과 객체 이름으로 좁히세요.
Distributed Map 상태를 실행하기 위한 IAM 정책의 예제
워크플로에 Distributed Map 상태가 포함된 경우 Step Functions에는 상태 시스템 역할에서 Distributed Map 상태의 StartExecution
API 작업을 호출할 수 있는 적절한 권한이 있어야 합니다.
다음 IAM 정책 예제에서는 Distributed Map 상태를 실행하는 데 필요한 최소 권한을 상태 시스템 역할에 부여합니다.
참고
을 Distributed Map 상태를 사용하는 상태 시스템의 이름으로 바꿔야 합니다. 예: stateMachineName
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
:*" } ] }
Distributed Map을 redriving하기 위한 IAM 정책 예제
상위 워크플로를 redriving하면 맵 실행에서 실패한 하위 워크플로 실행을 다시 시작할 수 있습니다. redriven 상위 워크플로에서 Distributed Map을 비롯한 실패한 모든 상태를 redrives합니다. 상위 워크플로에서 RedriveExecution
API 작업을 간접적으로 호출하는 데 필요한 최소 권한이 실행 역할에 있는지 확인합니다.
다음 IAM 정책 예제에서는 Distributed Map 상태를 redriving하는 데 필요한 최소 권한을 상태 시스템에 부여합니다.
참고
을 Distributed Map 상태를 사용하는 상태 시스템의 이름으로 바꿔야 합니다. 예: stateMachineName
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 및 GetObject API 작업을 사용하여 Amazon S3 데이터 세트에 액세스하는 데 필요한 최소 권한을 부여합니다.
예 Amazon S3 객체를 데이터 세트로 사용하는 IAM 정책
다음 예제에서는
이라는 Amazon S3 버킷의 amzn-s3-demo-bucket
내에 구성된 객체에 액세스할 수 있는 최소 권한을 부여하는 IAM 정책을 보여줍니다.processImages
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
" ], "Condition": { "StringLike": { "s3:prefix": [ "processImages
" ] } } } ] }
예 CSV 파일을 데이터 세트로 사용하는 IAM 정책
다음 예제에서는
라는 CSV 파일에 액세스할 수 있는 최소 권한을 부여하는 IAM 정책을 보여줍니다.ratings.csv
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
/csvDataset
/ratings.csv
" ] } ] }
예 Amazon S3 인벤토리를 데이터 세트로 사용하는 IAM 정책
다음 예제에서는 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 정책 예제에서는 PutObject
API 작업을 사용하여 하위 워크플로 실행 결과를 Amazon S3 버킷의 csvJobs
폴더에 쓰는 데 필요한 최소 권한을 부여합니다.
{ "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
/*" ] } ] }
AWS KMS key 암호화된 Amazon S3 버킷에 대한 IAM 권한
Distributed Map 상태는 멀티파트 업로드를 사용하여 하위 워크플로 실행 결과를 Amazon S3 버킷에 씁니다. AWS Key Management Service (AWS KMS) 키를 사용하여 버킷을 암호화하는 경우 IAM 정책에 키에서kms:Decrypt
, kms:Encrypt
및 kms:GenerateDataKey
작업을 수행할 수 있는 권한도 포함해야 합니다. 이러한 권한이 필요한 이유는 Amazon S3이 멀티파트 업로드를 완료하기 전에 암호화된 파일 부분에서 데이터를 암호 해독하고 읽어야 하기 때문입니다.
다음 IAM 정책 예제에서는 Amazon S3 버킷을 암호화하는 데 사용되는 키에 대한 kms:Decrypt
, kms: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
" ] } }
자세한 내용은 AWS 지식 센터의 AWS KMS key를 사용한 암호화를 통해 Amazon S3에 대용량 파일 업로드
IAM 사용자 또는 역할이 AWS 계정 와 동일한에 있는 KMS key경우 키 정책에 대한 이러한 권한이 있어야 합니다. IAM 사용자 또는 역할이 KMS key와 다른 계정에 속한 경우 키 정책과 IAM 사용자 또는 역할 모두에 대한 권한이 있어야 합니다.