Cloud Run ジョブのジョブ実行キャンセルに関する権限が変更になります
概要
2024年9月16日から、Cloud Run ジョブのジョブ実行のキャンセルに必要なIAM権限が現在のrun.jobs.run
からrun.executions.cancel
という新しいIAM権限に変更となります。
現在はCloud Run ジョブの実行(jobs.run APIメソッド)とジョブ実行のキャンセル(executions.cancel APIメソッド)の両方に、同じIAM権限であるrun.jobs.runが使用されています。
これが2024年9月16日から変更になります。
※実行の権限は2024年9月16日以降も変わらずrun.jobs.run
のままです。
現在 | 2024年9月16日以降 | |
---|---|---|
ジョブのキャンセル | run.jobs.run | run.executions.cancel |
ジョブの実行 | run.jobs.run | run.jobs.run |
What you need to know Currently, Cloud Run uses the same IAM permission, run.jobs.run, to control access to both running a job (the jobs.run API method) and canceling a job execution (the executions.cancel API method). To give you greater flexibility in defining custom roles, we are changing the IAM permission required for canceling a job execution (the executions.cancel API method) to a new IAM permission named run.executions.cancel.
現在、Cloud Runでは、ジョブの実行(jobs.run APIメソッド)とジョブの実行のキャンセル(executions.cancel APIメソッド)の両方のアクセスを制御するために、run.jobs.runという同じIAMパーミッションを使用しています。 カスタムロールをより柔軟に定義できるように、ジョブの実行のキャンセル(executions.cancel APIメソッド)に必要なIAMパーミッションを、run.executions.cancelという新しいIAMパーミッションに変更します。(DeepL翻訳)
※引用:[Action Advised] Update your IAM roles to cancel Cloud Run jobs
対応する必要があるかどうか
使用しているIAMユーザやサービスアカウントに付与しているロールによっては対応が必要になる可能性があります。
以下の表は、ジョブの実行をキャンセルするというアクションを行う際に用いているロールによって対応する必要があるかどうかをまとめたものです。
使用ロール | 対応要否 |
---|---|
run.jobs.runを使用しているカスタムロール | 必要 |
Cloud Run 起動元(Invoker) | 必要 |
Cloud Run 管理者 | 不要 |
Cloud Run 開発者 | 不要 |
Cloud Run 管理者、開発者の事前定義ロールに関してはIAMロールに該当キャンセル権限が自動追加されるとのことです。
対応が必要な場合の対応方法
以下の対応方法が一例として考えられます。
- カスタムロールの場合:
run.executions.cancel
権限を付与する - Cloud Run 起動元の場合:
run.executions.cancel
権限を含む別のIAMロール(Cloud Run管理者、開発者、カスタムロールなど)に変更する
まとめ
影響対象は小さいですが、Cloud Run 起動元ロールでCloud Run ジョブの検証をしている場合などではジョブの実行はできるがキャンセルできなくなってしまうなんていうことになるので対応の必要がある場合は早めに対応しておきたいですね。
この記事がどなたかのお役に立てば嬉しいです。それではまた。