模擬問題集DOP-C02練習問題 5

DOP-C02 練習問題 5

AWS DevOps Engineer – Professional・セキュリティとコンプライアンス・無料公開(全 200 問中 15 問を無料公開中)

問題
ある企業が、インフラストラクチャにAWS Cloud Development Kit(AWS CDK)アプリケーションを使用しています。AWS CDKアプリケーションは、AWS Lambda関数と、それらの関数にアタッチされるIAMロールを作成します。企業はAWS Organizationsも使用しています。企業の開発者は、AWS CDKアプリケーションのデプロイロールを引き受ける(assume)ことができます。 企業のセキュリティチームは、開発者とAWS CDKアプリケーションのデプロイに使用されるロールが、必要以上の権限を持っていることを発見しました。セキュリティチームはまた、CDKアプリケーションが作成するLambda関数にアタッチされるロールも、必要以上の権限を持っていることを発見しました。開発者には、追加の権限を付与する能力を持たせてはなりません。 この要件を最も少ない運用オーバーヘッドで満たすソリューションはどれですか?

選択肢と解説

  • 1
    開発者ロールとAWS CDKアプリケーションのデプロイロールに対して、iam:CreateRole アクションと iam:UpdateRole アクションを拒否するSCPを作成する。Lambda関数にアタッチする新しいIAMロールを中央で作成し、開発者がLambda関数をプロビジョニングするために使用させる。
  • IAM権限境界(permission boundary)ポリシーを作成する。AWS CDKアプリケーションが必要とする最大のアクションをポリシーで定義する。アカウントのAWS CDKブートストラップを権限境界を使用するように更新する。AWS CDKアプリケーションの設定で、デフォルトの権限境界がこのポリシーを使用するように更新する。
  • 3
    IAM権限境界(permission boundary)ポリシーを作成する。AWS CDKアプリケーションが必要とする最大のアクションをポリシーで定義する。開発者に対し、AWS CDKアプリケーションのコードでロールを作成する際に権限境界ポリシー名を使用するように指示する。
  • 4
    開発者ロールに対して、iam:CreateRole アクションと iam:UpdateRole アクションを拒否するSCPを作成する。AWS CDKデプロイロールにLambda関数に関連付けられるロールを作成するアクセス権を与える。AWS Identity and Access Management Access Analyzerを実行して、Lambda関数のロールが権限を持たないことを確認する。

解説

【正解】B

【0からの解説】
要件は、(1)CDKデプロイロールの権限を絞る、(2)CDKが作成するLambda用ロールの権限も絞る、(3)開発者が追加権限を付与できないようにする、の3点を最小の運用オーバーヘッドで満たすことです。

ここで鍵になるのがIAMの「権限境界(permissions boundary)」です。権限境界は、IAMエンティティ(ユーザー/ロール)が“最大で”持てる権限の上限を定義する仕組みで、たとえそのロールに広い許可ポリシーが付いていても、境界を超える権限は実効的に行使できません。

AWS CDKはこの権限境界をネイティブにサポートしています。具体的には、(a)CDKのブートストラップ(bootstrap)で、デプロイに使うロール群に権限境界を適用でき、(b)CDKアプリ側の設定で「デフォルトの権限境界(default permissions boundary)」を指定すると、CDKが合成(synth)するすべてのIAMロール(=Lambdaにアタッチされるロールを含む)に自動的にその境界が付与されます。これにより、開発者がCDKコードでどんなロール/ポリシーを書いても、境界を超える権限は付与できなくなり、「開発者が追加権限を付与できない」を強制できます。ブートストラップとCDK設定の2か所を更新するだけで全Lambdaロールに横断適用されるため運用オーバーヘッドが小さく、Bが最適です。

【誤りの選択肢】
A:SCPで iam:CreateRole/iam:UpdateRole を拒否するとCDKデプロイロール自体がロールを作れなくなり、CDKの正常なデプロイが壊れる。中央で人手でロールを作る運用は手間が大きく、Lambdaごとに最小権限を維持するのも煩雑。
C:権限境界の考え方は正しいが、「開発者に各ロール作成時に境界名を手動で指定させる」のは強制力がなく(指定し忘れれば境界が効かない)、CDKのデフォルト権限境界(B)のように全ロールへ自動適用されないため、運用が脆い。
D:開発者ロールにSCPをかける一方でCDKデプロイロールに広くロール作成を許すと、Lambdaロールの権限を上限で縛れない。Access Analyzerは“検知”はできても“予防(権限の上限強制)”はできず、後追いの確認に留まる。
B:CDKブートストラップ+デフォルト権限境界で、デプロイロールと生成されるLambdaロールの双方に権限上限を自動適用でき、追加権限付与も防げる。最小オーバーヘッドで要件を満たす。

【参考】
Permissions boundaries for IAM entities
AWS CDK security and safety – permissions boundaries
← 練習問題 4練習問題 6
DOP-C02 の模擬問題集は全 200

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

DOP-C02 の模試を受ける料金プランを見る

DOP-C02 の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15