一時的な認証情報の使用

一時的な認証情報の使用

IAM ユーザーとアクセスキーは長期的で永続的な認証情報です。誰かが明示的にローテーションしないかぎり永続的に使用可能です。これらの認証情報は、誰が所有しているかを記録して適切に管理されていない場合、退職した従業員によって不正に使用されるリスクがあります。

永続的な認証情報は複数のリスクをもたらすため、可能な限り IAM ユーザーとアクセスキーの使用を避け、将来的には全く使用しないようにすべきです。

推奨される IAM ロールの使用: IAM ロールは一時的なアクセス (時間制限のあるトークンを含む) を提供し、侵害のリスクを軽減します。Amazon EC2 インスタンスが AWS リソースにアクセスする必要がある場合、アクセスキーを使用せず、代わりにインスタンスプロファイル (IAM ロール) を使用してください。また、Lambda 関数の場合はLambda 実行ロールを、Amazon ECS タスクの場合は ECS タスク実行ロールを使用するなどしてください。

SCPs

インスタンスプロファイルにより、EC2 インスタンスに IAM ロールが関連付けられ、インスタンスメタデータサービスを通じて、AWS リソースへの認証情報を得ることができます。アプリケーションやスクリプトは埋め込みの認証情報を持つ必要がなく、その認証情報を利用することができます。 SCPs

Well-Architected Frameworkの推奨事項マッピング

主なリスクと軽減

  • メールや Slack チャンネルなどのインスタントメッセージングを介して共有されたアクセスキーは、侵害されるリスクがあります。
  • 元従業員が永続的な認証情報へのアクセスを保持しているリスクがあります。
  • アクセスキーがアプリケーションのソースコードに保存されている場合、コード閲覧しレビューする権限を持つ全ての人 (テスターやレビュアーなど) がそれらの認証情報を取得し、コード外で使用したり、攻撃者に売却したりするリスクがあります。
  • 開発者が GitHub などの公開リポジトリでオープンソースコミュニティと共有し、認証情報を意図せず公開するリスクがあります。攻撃者は公開リポジトリでアクセスキーなどの認証情報を探します。
  • ハードコードされたアクセスキーはローテーションが難しいです (特に、既知の侵害があり、使用中の IAM ユーザーのアクセスキーを即座にローテーションする必要がある場合、アクセスキーのローテーションはアプリケーションの停止を引き起こす可能性があります)。
  • これらのリスクは、コードと同じリポジトリに保存された設定ファイル内のシークレットにも適用されます。

評価のガイダンス

  • アプリケーションからの一時的なアクセスのために IAM ロール (EC2 インスタンスプロファイルや Lambda 実行ロールなど) を活用していますか?(アプリケーションの何パーセントが永続的な認証情報ではなくロールを使用していますか?)
  • 開発者は、コードにシークレットを保存しないように理解するトレーニングを受けていますか?
  • コードにシークレットが保存されていないことを管理していますか?
  • データベースパスワードなどのシークレットを保存・ローテーションするために AWS Secrets Manager を活用していますか?

AWS Secrets Managerのビデオ

  • Back to basics: Secrets Manager
  • AWS Secrets Managerのデモ

料金

  • AWS Secrets Manager の料金
    • 追加コストなしで AWS Secrets Manager を試すことができます (無料トライアル)
    • 無料トライアルでは、機密データのローテーション、管理、取得が 30 日間可能です

AWS BlackBelt Online Seminar

PDF / 動画