管理のベストプラクティス AWS アクセスキー - AWS 全般のリファレンス

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

管理のベストプラクティス AWS アクセスキー

使用する時 AWS プログラム上、AWSがプログラム呼び出しでお客様の身元を確認できるように、AWSアクセスキーを提供します。アクセスキーは、アクセスキーID(例: AKIAIOSFODNN7EXAMPLE)および秘密アクセスキー(例: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)。

アクセスキーを持っている人なら誰でも、 AWS 必要になります。その結果、 AWS アクセスキーを保護するため、また当社の 共有責任モデルさん、あなたもそうすべきです。

以下のステップは、アクセスキーの保護に役立ちます。背景情報については、「」を参照してください。AWS security credentials.

注記

組織によっては、セキュリティ要件とポリシーがこのトピックに記載されているものとは異なる可能性があります。ここに提示されている提案は、一般的なガイドラインとして意図されています。

アカウントアクセスキーを削除する (または生成しない)

アクセスキーを使用して、 AWS コマンドラインツールAWS SDKs(SDK)、または直接API呼び出し。あなたのアクセスキーを持っている人 AWS アカウントのルートユーザー は、請求情報を含め、アカウント内のすべてのリソースに無制限にアクセスできます。 のアクセス権限を制限することはできません。AWS アカウントのルートユーザー.

アカウントを保護する最善の方法の1つは、 AWS アカウントのルートユーザー. 必要でない限り ルートユーザー アクセスキー(稀)は生成しないことをお勧めします。代わりに、 推奨されるベストプラクティス 1つ以上の AWS Identity and Access Management (IAM)ユーザー。それらを許可する IAM 必要な権限をユーザーと共有し、 AWS.

すでにアカウントのアクセスキーをお持ちの場合は、以下をお勧めします。現在アクセスキーを使用しているアプリケーション内の場所(存在する場合)を見つけ、 ルートユーザー アクセスキー IAM ユーザーアクセスキー。次に、 ルートユーザー アクセスキー。アクセスキーを別のアクセスキーに置き換える方法の詳細については、投稿を参照してください。 のアクセスキーを回転する方法 IAM ユーザー 上の AWS セキュリティブログ。

デフォルトでは、 AWS では、新しいアカウントのアクセスキーは生成されません。

_を作成する方法に関する情報は、 IAM 管理権限を持つユーザー、参照 初めての作成 IAM 管理者ユーザーおよびグループIAM ユーザーガイド.

長期のアクセスキーの代わりに一時的なセキュリティ認証情報 (IAM ロール) を使用する

多くのシナリオでは、( IAM ユーザー)。その代わり、IAM ロールを作成し、一時的なセキュリティ認証情報を生成できます。一時的なセキュリティ認証情報は、アクセスキー ID とシークレットアクセスキーで構成されていますが、認証情報がいつ無効になるかを示すセキュリティトークンも含んでいます。

長期アクセスキー( IAM ユーザーと AWS アカウントのルートユーザーは、手動で無効にするまで有効です。ただし、 IAM 役割とその他の機能 AWS Security Token Service 短期間で期限切れとなります。認証情報が誤って開示された場合のリスクに備えて、一時的なセキュリティ認証情報を使用することができます。

以下のシナリオでは、IAM ロールと一時的なセキュリティ認証情報を使用します。

  • アプリケーションを持っているか、 AWS CLI スクリプトを Amazon EC2 インスタンス。 アプリケーション内で直接アクセスキーを使用しないでください。アクセスキーをアプリケーションに渡したり、アプリケーションに埋め込んだり、アプリケーションが任意のソースからアクセスキーを読んだりしないでください。代わりに、 IAM アプリケーションに対して適切なアクセス許可を持つ役割を Amazon EC2 インスタンスと EC2の役割. こうすることで、 IAM 役割を Amazon EC2 インスタンス。また、このプラクティスにより、アプリケーションは一時的なセキュリティ認証情報を取得して、 AWS. は、 AWS SDK と AWS CLI は、役割から一時資格情報を自動的に取得できます。

  • クロスアカウントアクセス権限を付与する必要がある場合。 _を使用 IAM アカウント間の信頼を確立し、1つのアカウントでユーザーに信頼されたアカウントへのアクセス制限権限を付与するロール。詳細については、以下を参照してください。 チュートリアル: Delegate Access Across AWS 使用アカウント IAM 役割IAM ユーザーガイド.

  • モバイルアプリを持っている場合。 暗号化されたストレージであっても、アクセスキーをアプリに埋め込まないでください。代わりに、 Amazon Cognito アプリ内のユーザーIDを管理します。このサービスでは、Amazon、Facebook、Google、またはOpenID Connect(OIDC)でログインしてユーザーを認証できます。–互換性のあるIDプロバイダ。その後、 Amazon Cognito 認証情報プロバイダを使用して、App が への要求に使用する認証情報を管理します。 AWS. 詳細については、以下を参照してください。 の使用 Amazon Cognito 資格情報プロバイダー 上の AWS モバイルブログ。

  • 連携して AWS および組織はSAML 2.0をサポートしています。 SAML 2.0 をサポートする ID プロバイダーを持つ組織で作業する場合は、SAML を使用するようにプロバイダーを設定します。SAML を使用して、AWS と認証情報を交換し、一連の一時的なセキュリティ認証情報を取り戻すことができます。詳細については、以下を参照してください。 SAML 2.0ベースのフェデレーションについてIAM ユーザーガイド.

  • 連携して AWS 貴社にはオンプレミスのIDストアがあります。 ユーザーが組織内で認証できる場合、AWS リソースにアクセスするための一時的なセキュリティ認証情報を発行できるアプリケーションを記述することができます。詳細については、以下を参照してください。 フェデレーションユーザーがAWS管理コンソール(カスタムFederation Broker)にアクセスできるようにするURLの作成IAM ユーザーガイド.

管理 IAM ユーザーアクセスキーを正しく

へのプログラムアクセス用のアクセスキーを作成する必要がある場合は、 AWS、作成対象: IAM ユーザーに、必要な権限のみを付与します。詳細については、以下を参照してください。 のアクセスキーの管理 IAM ユーザーIAM ユーザーガイド.

注記

をご使用ですか? Amazon EC2 へのプログラムによるアクセスを必要とするアプリケーションを持つインスタンス AWS リソースは? ある場合は、 IAM EC2の役割.

アクセスキーを使用するときには、以下の点に注意してください。

  • アクセスキーを直接コードに埋め込まないでください。 は、 AWS SDKs(SDK) および AWS コマンドラインツール アクセスキーを既知の場所に配置して、コードに保管する必要がなくなるようにします。

    次のいずれかのロケーションにアクセスキーを置きます。

    • は、 AWS 認証情報ファイル。 は、 AWS SDKと AWS CLI は、 AWS 認証情報ファイル。

      の使用法については、 AWS 資格情報ファイルについては、SDK のドキュメントを参照してください。例: 設定 AWS 開発の認証情報と地域AWS SDK for Java Developer Guide および 設定および資格情報ファイルAWS Command Line Interface ユーザーガイド.

      の資格情報を保存するには AWS.NET 用 SDK および AWS Tools for Windows PowerShell、SDK Store を使用することをお勧めします。詳細については、以下を参照してください。 SDKストアの使用AWS SDK for .NET 開発者ガイド.

    • 環境変数。 マルチテナントシステムでは、システム環境変数ではなくユーザー環境変数を選択します。

      環境変数を使用して資格情報を保存する方法についての詳細は、「 環境変数AWS Command Line Interface ユーザーガイド.

  • 異なるアプリケーションには、異なるアクセスキーを使用します。 許可を分離し、公開されている個々のアプリケーションのアクセスキーを取り消すことができるように、これを行います。異なるアプリケーションに対して個別のアクセス・キーを持つことで、 AWS CloudTrail ログ ファイル。この設定により、特定のアクションを実行したアプリケーションを簡単に判別できます。

  • アクセスキーを定期的に更新します アクセスキーを定期的に変更します。詳細については、以下を参照してください。 アクセスキーを回転中(AWS CLI、 Tools for Windows PowerShell、および AWS API)IAM ユーザーガイド および のアクセスキーを回転する方法 IAM ユーザー 上の AWS セキュリティブログ。

  • 使用していないアクセスキーを削除します。 ユーザーが組織を離れる場合は、対応する IAM ユーザーからリソースにアクセスできなくなります。アクセスキーが最後に使用された日時を確認するには、 GetAccessKeyLastUsed API(AWS CLI コマンド: aws iam get-access-key-last-used)。

  • 最も精度の高い操作ができるよう、多要素認証を設定します。 詳細については、以下を参照してください。 での多要素認証(MFA)の使用 AWSIAM ユーザーガイド.

を使用してモバイルアプリにアクセスする AWS アクセスキー

限定されたセットの AWS サービスおよび機能の使用 AWS モバイルアプリ。モバイルアプリは、外出先でもインシデント対応をサポートするのに役立ちます。詳細およびアプリをダウンロードするには、以下を参照してください。 AWS コンソールモバイルアプリケーション.

コンソールのパスワードまたはアクセスキーを使用して、モバイルアプリにサインインできます。ベストプラクティスとして、ルートユーザー アクセスキーは使用しないでください。代わりに、モバイルデバイスでパスワードまたは生体認証ロックを使用するだけでなく、 作成 IAM ユーザー 管理するために AWS リソースです。モバイルデバイスを紛失した場合は、その IAM ユーザーのアクセス権を削除します。のアクセスキーの生成の詳細については、 IAM ユーザー、を参照 のアクセスキーの管理 IAM ユーザーIAM ユーザーガイド.

アクセスキーを使用してサインインするには (モバイルアプリ)

  1. モバイルデバイスでアプリを開きます。

  2. デバイスにIDを初めて追加する場合は、 アイデンティティの追加 選択して アクセスキー.

    すでに別のIDを使用してサインインしている場合は、メニューアイコンを選択して、 スイッチID. 次に 別のIDとしてサインイン そして アクセスキー.

  3. アクセスキー ページで、次の情報を入力します。

    • アクセスキーID – アクセスキーIDを入力します。

    • シークレット アクセス キー – 秘密のアクセスキーを入力します。

    • ID名 – モバイルアプリに表示されるIDの名前を入力します。これは、IAM ユーザー名と一致する必要はありません。

    • ID PIN – 将来のサインインに使用する個人識別番号(PIN)を作成します。

      注記

      生体認証を有効にした場合、 AWS 確認のため、PINの代わりに指紋または顔認証を使用するよう指示されます。生体認証に失敗した場合は、代わりに PIN の入力を求められることがあります。

  4. 選択 キーの確認と追加.

    モバイルアプリを使用して、一部のリソースにアクセスできるようになりました。

詳細はこちら:

ベストプラクティスの詳細については、 AWS アカウントのセキュリティ保護については、次のリソースを参照してください。