AWS4 択難易度 応用

状況

CI のデプロイ用ロールで ECS のサービス更新が失敗した。エラーは not authorized to perform: ecs:UpdateService … because no identity-based policy allows the ecs:UpdateService action。チャットで「とりあえず AdministratorAccess を付けて」と言われた。

対応する順番として、最も適切なものは?

  1. Aエラー文から操作名・対象リソース・拒否の種類を読む
  2. BAdministratorAccess をロールに付ける
  3. Cそれでも拒否されたら、SCP など別の層を確かめる
  4. Dその操作と対象だけを許可するポリシーを足して再実行する

正答

  1. B → A → D → C
  2. A → D → C → B
  3. D → C → A → B
  4. C → A → B → D

解説

まずエラー文を読む(A)。操作は ecs:UpdateService、拒否の種類は no identity-based policy allows で、ロールの IAM ポリシーに許可が無いだけだと分かる。それなら、その操作と対象のサービスに限った許可を足して再実行する(D)。それでも拒否されるなら、エラー文の種類が変わっているはずなので、SCP やアクセス許可の境界など別の層を確かめる(C)。AdministratorAccess(B)は CI のロールにすべての操作を許すことになり、CI の認証情報が悪用されたときの被害が最大になるので付けない。権限を広げる前に、何が足りないかを特定する。

参考: docs.aws.amazon.com

iamleast-privilegeaccess-deniedci

この問題を含む AWS のテストを制限時間つきで解く

AWSクイズへ