EC2上のアプリケーションは、以前は環境変数に保存されたIAMユーザーアクセスキーを使用してboto経由でDynamoDBを呼び出していました。開発者は同じ権限を持つインスタンスロールをアタッチし、IAMユーザーを削除しました。再起動後、アプリのログにAccessDeniedExceptionが表示されますが、開発者は自分の個人アカウントを使用してサーバー上でDynamoDB CLIコマンドを実行できます。この例外の最も可能性の高い原因は何ですか?
解答を選択
オプションをタップして解答を確認してください。
正解: 無効化された環境変数認証情報がアプリケーションによってまだ使用されています。.
これが解答である理由
アプリケーションが再起動後もAccessDeniedExceptionを発生させているのは、無効化された環境変数に保存されたIAMユーザーのアクセスキーをまだ使用しようとしているためです。アプリケーションは、起動時に環境変数から認証情報をロードし、それらをキャッシュしている可能性があります。インスタンスロールがアタッチされたとしても、アプリケーションが新しい認証情報プロバイダーチェーン(インスタンスプロファイル)を認識して使用するには、アプリケーション自体を再起動して新しい設定を読み込む必要があります。 IAMポリシーの伝播は通常数秒で完了するため、数分かかるという説明は可能性が低いです。AWS SDKはインスタンスロールから取得した認証情報を完全にサポートしています。http://169.254.169.254へのアクセスは、インスタンスメタデータサービスから一時的な認証情報を取得するために必要であり、これは通常デフォルトで許可されており、セキュリティグループでブロックされることは稀です。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要