ジョブ実行に対する動的にスコープされたポリシーの付与 - AWS Glue

ジョブ実行に対する動的にスコープされたポリシーの付与

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}/*" ] } ] }'