【正解】B
【0からの解説】
要件は (1) バスティオンホストを廃止する、(2) 証明書ベースの認証で AWS リソース(S3 / DynamoDB)にアクセスする、の 2 点です。
AWS IAM Roles Anywhere は、AWS の外にあるサーバーやワークロード(オンプレミスのレガシーシステムなど)に対して、X.509 証明書を使って AWS の一時的なセキュリティ認証情報を取得させる仕組みです。信頼アンカー(プライベート認証局や AWS Private CA)を登録し、プロファイルとロールを構成すると、オンプレミス側の「認証情報ヘルパー(credential helper)」が証明書で署名したリクエストを送り、AWS STS から一時認証情報を受け取ります。これにより、長期のアクセスキーや SSH 鍵、バスティオンホストを一切使わずに、証明書ベースで S3/DynamoDB に直接アクセスできます。要件に完全に合致するため B が正解です。
【誤りの選択肢】
A:Direct Connect と VPN はネットワーク経路(接続性)を提供するだけで、「証明書ベースの認証」という認証要件そのものを満たしません。また依然として何らかの AWS 認証情報が別途必要です。
C:AWS Private CA は証明書を発行できますが、それ単体ではオンプレミスシステムが S3/DynamoDB の API を呼び出すための AWS 認証情報(IAM 権限)にはなりません。発行した証明書を使って実際に AWS の一時認証情報へ変換する仕組みこそが IAM Roles Anywhere であり、Private CA はその「信頼アンカー」として併用されるにすぎません。
D:IAM ユーザー+AssumeRole は一時認証情報を得られますが、その起点となる IAM ユーザーの長期アクセスキーが必要であり、「証明書ベースの認証」という要件を満たしません。
【参考】
AWS IAM Roles Anywhere とは認証情報の取得(credential helper)