为作业执行授予动态范围限定策略
AWS Glue 提供了一项强大的新功能:用于作业执行的动态会话策略。此功能可以为每个作业运行指定自定义的精细权限,而无需创建多个 IAM 角色。
使用 StartJobRun
API 启动 Glue 作业时,您可以包含内联会话策略。此策略会临时修改作业的执行角色在该特定作业运行期间的权限。这类似于在其他 AWS 服务中通过 AssumeRole
API 使用临时凭证。
增强安全性:您可以将作业权限限制为每次运行所需的最低权限。
简化管理:无需为不同的场景创建和维护大量 IAM 角色。
灵活性:您可以根据运行时参数或租户特定需求动态调整权限。
可扩展性:此方法非常适合需要在租户之间隔离资源的多租户环境。
授予动态范围限定策略的使用示例:
以下示例演示如何仅授予作业对特定 Amazon S3 存储桶路径的读写访问权限,其中路径由作业运行 ID 动态确定。此示例说明如何为每个作业运行实现精细的执行特定权限。
通过 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}/*" ] } ] }'