無限ノック › SCS 練習問題一覧 › 問題
SCSアイデンティティとアクセス管理

あなたの会社はAmazon EKSクラスターでKubernetesワークロードを運用しています。EKS上のPodがAmazon S3バケットにアクセスする必要があり、以下の要件があります。 ・EC2ノードのインスタンスプロファイルではなく、Pod単位で異なるIAMロールを割り当てる ・Kubernetes Namespace「ns-app」内のServiceAccount「sa-app」に紐付けたIAMロールのみが対象のS3にアクセス可能にする ・最小権限の原則に従い、対象外のPodからのAWSアクセスを防ぐ IRSA(IAM Roles for Service Accounts)を使ってIAMロールを設定する際、信頼ポリシーに含めるべき条件の正しい内容はどれですか?

A
sts:ExternalIdにEKSクラスターIDを指定し、aws:PrincipalArnにKubernetes ServiceAccountのARNを指定する
sts:ExternalIdはクロスアカウントのロール委任時に「混乱した代理問題」を防ぐための条件キーであり、Kubernetes ServiceAccountの認証制御には使用できません。
B
EKSクラスターのOIDCプロバイダーをFederated Principalとして設定し、sub条件キー(system:serviceaccount:ns-app:sa-app)とaud条件キー(sts.amazonaws.com)を組み合わせて指定する
✓ 正解
IRSAでは、EKSクラスターのOIDCプロバイダーをIAMアイデンティティプロバイダーとして登録し、IAMロールの信頼ポリシーのFederated PrincipalにOIDCプロバイダーエンドポイントを指定します。特定のServiceAccountに限定するため、OIDCのsub(サブジェクト)条件キーに「system:serviceaccount:ns-app:sa-app」、audには「sts.amazonaws.com」を設定します。この組み合わせにより、指定したNamespace・ServiceAccountのPodのみがIAMロールを引き受け可能になります。
C
aws:PrincipalOrgIDで組織IDを指定し、aws:PrincipalAccountでEKSクラスターが属するAWSアカウントIDを指定する
aws:PrincipalOrgIDとaws:PrincipalAccountはAWSアカウントレベルの制限であり、Kubernetes内のServiceAccount単位の細かい制御はできません。
D
eks:cluster-nameでクラスター名を指定し、eks:namespaceでNamespace名(ns-app)を指定する
eks:cluster-nameやeks:namespaceというIAM条件キーは存在しないため、信頼ポリシーに使用できません。

解説

IRSAでは、EKSクラスターのOIDCプロバイダーをIAMアイデンティティプロバイダーとして登録し、IAMロールの信頼ポリシーのFederated PrincipalにOIDCプロバイダーエンドポイントを指定します。特定のServiceAccountに限定するため、OIDCのsub(サブジェクト)条件キーに「system:serviceaccount:ns-app:sa-app」、audには「sts.amazonaws.com」を設定します。この組み合わせにより、指定したNamespace・ServiceAccountのPodのみがIAMロールを引き受け可能になります。 選択肢Aのsts:ExternalIdはクロスアカウントのロール委任時に「混乱した代理問題」を防ぐための条件キーであり、Kubernetes ServiceAccountの認証制御には使用できません。 選択肢Cのaws:PrincipalOrgIDとaws:PrincipalAccountはAWSアカウントレベルの制限であり、Kubernetes内のServiceAccount単位の細かい制御はできません。 選択肢Dのeks:cluster-nameやeks:namespaceというIAM条件キーは存在しないため、信頼ポリシーに使用できません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SCS の問題一覧に戻る