작업 실행에 대해 동적 범위의 정책 부여
AWS Glue는 작업 실행에 대한 동적 세션 정책이라는 강력한 새 기능을 제공합니다. 이 기능을 사용하면 여러 개의 IAM 역할을 생성하지 않고도 각 작업 실행에 세분화된 사용자 지정 권한을 지정할 수 있습니다.
StartJobRun
API를 사용하여 Glue 작업을 시작할 때 인라인 세션 정책을 포함할 수 있습니다. 이 정책은 특정 작업 실행 기간 동안 작업 실행 역할의 권한을 일시적으로 수정합니다. 다른 AWS 서비스의 AssumeRole
API에서 임시 자격 증명을 사용하는 것과 유사합니다.
보안 개선: 작업 권한을 각 실행에 필요한 최소 권한으로 제한할 수 있습니다.
관리 간소화: 다양한 시나리오에 맞춰 수많은 IAM 역할을 생성하고 유지할 필요가 없습니다.
유연성: 런타임 파라미터 또는 테넌트별 요구 사항에 따라 권한을 동적으로 조정할 수 있습니다.
확장성: 이 방법은 테넌트 간에 리소스를 격리해야 하는 다중 테넌트 환경에 적합합니다.
동적 범위 정책 사용 부여 예제:
다음 예제에서는 작업 실행 ID에 따라 경로가 동적으로 결정되는 특정 Amazon S3 버킷 경로에만 읽기 및 쓰기 액세스 권한을 작업에 부여하는 방법을 보여줍니다. 각 작업 실행에 대해 세분화된 실행별 권한을 구현하는 방법을 보여줍니다.
CLI에서
aws glue start-job-run \ --job-name "your-job-name" \ --execution-role-session-policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::specific-bucket/${JobRunId}/*" ] } ] }'