AWS Identity and Access Management
ユーザーガイド

IAM ユーザーのアクセスキーの管理

注記

ウェブサイトで Amazon 製品を販売するために Product Advertising API を設定しようとして、このトピックを見つけた場合には、以下のトピックを参照してください。

アクセスキーは、IAM ユーザーまたは AWS アカウントのルートユーザー の長期的な認証情報です。アクセスキーを使用して、AWS CLI または AWS API (直接または AWS SDK を使用) にプログラムでリクエストに署名することができます。詳細については、『アマゾン ウェブ サービス全般のリファレンス』の「AWSAPI リクエストの署名」を参照してください。

アクセスキーは、アクセスキー ID (例: AKIAIOSFODNN7EXAMPLE) とシークレットアクセスキー (例: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY) の 2 つの部分から構成されます。ユーザー名とパスワードと同様に、リクエストを認証するために、アクセスキー ID とシークレットアクセスキーの両方を使用する必要があります。ユーザー名とパスワードと同様に、アクセスキーをしっかり管理してください。

重要

正規ユーザー ID を確認するためであっても、アクセスキーをサードパーティーに提供しないでください。提供すると、第三者がアカウントへの永続的アクセスを取得する場合があります。

ベストプラクティスとして、アクセスキーの代わりに一時的なセキュリティ認証情報 (IAM ロール) を使用して、AWS アカウントのルートユーザー アクセスキーを無効にすることができます。詳細については、『アマゾン ウェブ サービス全般のリファレンス』の「AWS アクセスキーを管理するためのベストプラクティス」を参照してください。

長期的なアクセスキーを使用する必要がある場合は、アクセスキー (アクセスキー ID およびシークレットアクセスキー) を作成、変更、表示、または更新できます。最大 2 つのアクセスキーを持つことができます。これにより、ベストプラクティスに従ってアクティブなキーを更新できます。

アクセスキーペアを作成する場合は、アクセスキー ID とシークレットアクセスキーを安全な場所に保存します。このシークレットアクセスキーは、作成時にのみ使用できます。シークレットアクセスキーを紛失した場合は、そのアクセスキーを削除し、新しく作成する必要があります。詳細については、「紛失したり忘れたりしたパスワードまたはアクセスキーのリセット」を参照してください。

必要なアクセス許可

IAM ユーザーのアクセスキーを作成するには、次のポリシーのアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:GetUser", "iam:ListAccessKeys" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }

IAM ユーザーのアクセスキーを更新するには、次のポリシーのアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:GetAccessKeyLastUsed", "iam:GetUser", "iam:ListAccessKeys", "iam:UpdateAccessKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }

アクセスキーの管理 (コンソール)

AWS マネジメントコンソールを使用して IAM ユーザーのアクセスキーを管理することができます。

IAM ユーザーのアクセスキーを作成、変更、または削除するには (コンソール)

  1. AWS アカウント ID またはアカウントエイリアス、IAM ユーザー名、およびパスワードを使用してIAM コンソールにサインインします。

    注記

    便宜のために、AWS サインインページではブラウザの Cookie を使用して、IAM ユーザー名とアカウント情報を記憶しています。以前に別のユーザーとしてサインインしていた場合は、ページの下部にある[Sign in to a different account] を選択して、メインのサインインページに戻ります。そこから AWS アカウント ID またはアカウントエイリアスを入力して、アカウントの IAM ユーザーサインインページにリダイレクトすることができます。

    AWS アカウント ID を取得するには、管理者にお問い合わせください。

  2. 右上のナビゲーションバーでユーザー名を選択し、続いて [My Security Credentials (セキュリティ認証情報)] を選択します。

    
                  AWS マネジメントコンソールの [My Security Credentials (セキュリティ認証情報)] リンク
  3. [AWS IAM 認証情報] タブの [Access keys for CLI, SDK, and API access (CLI、SDK、および API アクセスのアクセスキー)] セクションで、次のいずれかを実行します。

    • アクセスキーを作成するには、[アクセスキーの作成] を選択します。次に、[Download .csv file (.csv ファイルのダウンロード)] を選択して、ご使用のコンピュータにアクセスキー ID とシークレットアクセスキーを .csv ファイルに保存します。このファイルは安全な場所に保存してください。このダイアログボックスを閉じた後、シークレットアクセスキーに再度アクセスすることはできません。.csv ファイルをダウンロードしたら、[Close (閉じる)] を選択します。アクセスキーを作成すると、キーペアはデフォルトで有効になり、すぐに使用できるようになります。

    • アクティブなアクセスキーを無効にするには、[無効化] を選択します。

    • 非アクティブアクセスキーを再度有効にするには、[有効化] を選択します。

    • アクセスキーを削除するには、その行の右端にある [X] ボタンを選択します。次に、[削除] を選択して確定します。アクセスキーを削除すると、永久に削除されるため、取得することはできません。ただし、新しいキーはいつでも作成できます。

別の IAM ユーザーのアクセスキーを作成、変更、または削除するには (コンソール)

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで [ユーザー] を選択します。

  3. アクセスキーを管理するユーザー名を選択し、[Security credentials] タブを選択します。

  4. [アクセスキー] セクションで、以下のいずれかを実行します。

    • アクセスキーを作成するには、[アクセスキーの作成] を選択します。次に、[.csv ファイルのダウンロード] を選択して、ご使用のコンピュータにアクセスキー ID とシークレットアクセスキーをファイルに保存します。このファイルは安全な場所に保存してください。このダイアログボックスを閉じた後、シークレットアクセスキーに再度アクセスすることはできません。CSV ファイルをダウンロードしたら、[閉じる] を選択します。アクセスキーを作成すると、キーペアはデフォルトで有効になり、すぐに使用できるようになります。

    • アクティブなアクセスキーを無効にするには、[無効化] を選択します。

    • 非アクティブアクセスキーを再度有効にするには、[有効化] を選択します。

    • アクセスキーを削除するには、その行の右端にある [X] ボタンを選択します。次に、[削除] を選択して確定します。アクセスキーを削除すると、永久に削除されるため、取得することはできません。ただし、新しいキーはいつでも作成できます。

IAM ユーザーのアクセスキーを一覧表示するには (コンソール)

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで [ユーザー] を選択します。

  3. 対象のユーザー名を選択し、[セキュリティ認証情報] タブを選択します。ユーザーのアクセスキーと各キーのステータスが表示されます。

    注記

    ユーザーのアクセスキー ID のみが表示されます。シークレットアクセスキーは、キー作成時にのみ取得できます。

複数の IAM ユーザーのアクセスキー ID を表示するには (コンソール)

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで [ユーザー] を選択します。

  3. 必要に応じて、以下の手順を行い、[アクセスキー ID] 列をユーザーテーブルに追加します。

    1. 右端のテーブルの上で、設定アイコン ( 
                           Settings icon
                        ) を選択します。

    2. [Manage Columns (列の管理)] で、[アクセスキー ID] を選択します。

    3. [Close (閉じる)] を選択して、ユーザーのリストに戻ります。

  4. [アクセスキー ID] 列には、各アクセスキー ID とそれに続く状態が表示されます ([23478207027842073230762374023 (有効)]、[22093740239670237024843420327 または (無効)] など)。

    この情報を使用して、1 つ以上のアクセスキーを持つユーザーのアクセスキーを表示およびコピーできます。アクセスキーのないユーザーは、この列に [None (なし)] と表示されます。

    注記

    ユーザーのアクセスキー ID およびステータスのみが表示されます。シークレットアクセスキーは、キー作成時にのみ取得できます。

特定のアクセスキーを持つ IAM ユーザーを見つけるには (コンソール)

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで [ユーザー] を選択します。

  3. 検索ボックスで、検索するユーザーのアクセスキー ID を入力するか、貼り付けます。

  4. 必要に応じて、以下の手順を行い、[アクセスキー ID] 列をユーザーテーブルに追加します。

    1. 右端のテーブルの上で、設定アイコン ( 
                           Settings icon
                        ) を選択します。

    2. [Manage Columns (列の管理)] で、[アクセスキー ID] を選択します。

    3. [Close (閉じる)] を選択して、ユーザーのリストに戻り、フィルター処理されたユーザーが固有のアクセスキーを持つことを確認します。

アクセスキーの管理 (AWS CLI)

AWS CLI から IAM ユーザーのアクセスキーを管理するには、以下のコマンドを実行します。

アクセスキーの管理 (AWS API)

AWS API から IAM ユーザーのアクセスキーを管理するには、以下のオペレーションを呼び出します。

アクセスキーの更新

セキュリティのベストプラクティスとして、IAM ユーザーのアクセスキーは定期的に更新 (変更) することをお勧めします。管理者から必要なアクセス許可が付与されている場合は、自身のアクセスキーを更新することができます。

自身のアクセスキーを更新するために管理者からユーザーにアクセス許可を付与する方法については、「AWS: IAM ユーザーが [My Security Credentials (セキュリティ認証情報)] ページで自分のパスワード、アクセスキー、および SSH パブリックキーを管理できるようにします。」を参照してください。アカウントにパスワードポリシーを適用して、すべての IAM ユーザーがパスワードを定期的に更新するように要求することもできます。更新する頻度を選択することも可能です。詳細については、「IAM ユーザー用のアカウントパスワードポリシーの設定」を参照してください。

重要

ベストプラクティスとして、AWS アカウントのルートユーザー は使用しないでください。AWS アカウントのルートユーザー 認証情報を使用する場合は、定期的に認証情報を更新することをお勧めします。アカウントのパスワードポリシーは ルートユーザー 認証情報には適用されません。IAM ユーザーは AWS アカウントのルートユーザー アカウントの認証情報を管理できないため、管理者が ルートユーザー アカウントの認証情報 (ユーザーの認証情報ではない) を使用して ルートユーザー アカウントの認証情報を変更する必要があります。AWS での日常業務には ルートユーザー 認証情報を使用しないことをお勧めします。

IAM アクセスキーの更新 (コンソール)

AWS マネジメントコンソール からアクセスキーを更新できます。

IAM ユーザーのアプリケーションを中断せずにアクセスキーを更新するには (コンソール)

  1. 最初のアクセスキーがアクティブな間に、2 番目のアクセスキーを作成します。

    1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

    2. ナビゲーションペインで [ユーザー] を選択します。

    3. 対象のユーザー名を選択し、[セキュリティ認証情報] タブを選択します。

    4. [アクセスキーの作成] をクリックし、[.csv ファイルのダウンロード] をクリックして、アクセスキー ID とシークレットアクセスキーを .csv ファイルとしてコンピュータに保存します。このファイルは安全な場所に保存してください。このステップ完了後、シークレットアクセスキーに再度アクセスすることはできません。.csv ファイルをダウンロードしたら、[Close (閉じる)] を選択します。

      新しいアクセスキーはデフォルトでアクティブになります。この時点で、ユーザーには 2 つのアクティブなアクセスキーがあります。

  2. すべてのアプリケーションとツールを更新して新しいアクセスキーを使用します。

  3. 最も古いアクセスキーの [前回使用したもの] を確認して、最初のアクセスキーが使用中かどうかを確認します。先に進む前に、数日間待ってから古いアクセスキーが使用されているかどうかを確認するという方法があります。

  4. [前回使用したもの] 列の値で、古いキーが使用された形跡がないことを示していても、最初のアクセスキーはすぐに削除しないことをお勧めします。代わりに、[無効化] を選択して、最初のアクセスキーを無効化します。

  5. 新しいアクセスキーのみを使用して、アプリケーションが機能しているかどうかを確認してください。この時点で、元のアクセスキーをまだ使用しているツールやアプリケーションは AWS リソースへアクセスできなくなるので、機能が停止されます。そのようなアプリケーションやツールを見つけた場合は、[有効化] を選択して最初のアクセスキーを有効に戻すことができます。次に、「ステップ 3」に戻り、新しいキーを使用するためにこのアプリケーションを更新します。

  6. 一定期間待機して、すべてのアプリケーションとツールが更新されていることを確認した後、最初のアクセスキーを削除できます。

    1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

    2. ナビゲーションペインで [Users] を選択します。

    3. 対象のユーザー名を選択し、[セキュリティ認証情報] タブを選択します。

    4. 削除するアクセスキーを見つけて、その行の右端にある [X] ボタンを選択します。次に、[削除] を選択して確定します。

アクセスキーの更新が必要かどうかを確認するには (コンソール)

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで [ユーザー] を選択します。

  3. 必要に応じて、以下の手順を実行して [Access key age (アクセスキーの古さ)] 列をユーザーテーブルに追加します。

    1. 右端のテーブルの上で、設定アイコン ( 
                              Settings icon
                           ) を選択します。

    2. [Manage Columns (列の管理)] で、[Access key age (アクセスキーの古さ)] を選択します。

    3. [Close (閉じる)] を選択して、ユーザーのリストに戻ります。

  4. [Access key age (アクセスキーの古さ)] 列には、最も古いアクティブアクセスキーが作成されてから経過した日数が表示されます。この情報を使用して、更新の必要があるアクセスキーを持つユーザーを検索できます。アクセスキーのないユーザーは、この列に [None (なし)] と表示されます。

アクセスキーの更新 (AWS CLI)

AWS Command Line Interface からアクセスキーを更新できます。

アプリケーションを中断せずにアクセスキーを更新するには (AWS CLI)

  1. 最初のアクセスキーがアクティブな間に、2 番目のアクセスキーを作成します。このキーは、デフォルトでアクティブになります。次のコマンドを実行します。

    • aws iam create-access-key

      この時点で、ユーザーには 2 つのアクティブなアクセスキーがあります。

  2. すべてのアプリケーションとツールを更新して新しいアクセスキーを使用します。

  3. 次のコマンドを使用して最初のアクセスキーがまだ使用されているかどうかを確認します。

    先に進む前に、数日間待ってから古いアクセスキーが使用されているかどうかを確認するという方法があります。

  4. ステップ ステップ 3 で古いキーが使用されていないことがわかっても、最初のアクセスキーはすぐに削除しないことをお勧めします。代わりに、次のコマンドを使用して最初のアクセスキーの状態を Inactive に変更します。

  5. 新しいアクセスキーのみを使用して、アプリケーションが機能しているかどうかを確認してください。この時点で、元のアクセスキーをまだ使用しているツールやアプリケーションは AWS リソースへアクセスできなくなるので、機能が停止されます。このようなアプリケーションまたはツールがある場合、状態を Active に切り替えて、最初のアクセスキーを再度有効にすることができます。次にステップ ステップ 2 に戻り、新しいキーを使用するようにこのアプリケーションを更新します。

  6. 一定期間待機して、すべてのアプリケーションとツールが更新されたことを確認したら、次のコマンドを使用して最初のアクセスキーを削除できます。

詳細については、以下を参照してください。

アクセスキーの更新 (AWS API)

AWS API を使用してアクセスキーを更新できます。

アプリケーションを中断せずにアクセスキーを更新するには (AWS API)

  1. 最初のアクセスキーがアクティブな間に、2 番目のアクセスキーを作成します。このキーは、デフォルトでアクティブになります。次のオペレーションを呼び出します。

    • CreateAccessKey

      この時点で、ユーザーには 2 つのアクティブなアクセスキーがあります。

  2. すべてのアプリケーションとツールを更新して新しいアクセスキーを使用します。

  3. 次のオペレーションを呼び出して最初のアクセスキーがまだ使用されているかどうかを確認します。

    先に進む前に、数日間待ってから古いアクセスキーが使用されているかどうかを確認するという方法があります。

  4. ステップ ステップ 3 で古いキーが使用されていないことがわかっても、最初のアクセスキーはすぐに削除しないことをお勧めします。代わりに、次のオペレーションを呼び出して最初のアクセスキーの状態を Inactive に変更します。

  5. 新しいアクセスキーのみを使用して、アプリケーションが機能しているかどうかを確認してください。この時点で、元のアクセスキーをまだ使用しているツールやアプリケーションは AWS リソースへアクセスできなくなるので、機能が停止されます。このようなアプリケーションまたはツールがある場合、状態を Active に切り替えて、最初のアクセスキーを再度有効にすることができます。次にステップ ステップ 2 に戻り、新しいキーを使用するようにこのアプリケーションを更新します。

  6. 一定期間待機して、すべてのアプリケーションとツールが更新されたことを確認したら、次のオペレーションを呼び出して最初のアクセスキーを削除できます。

詳細については、以下を参照してください。

アクセスキーの監査

コード内の AWS アクセスキーを確認して、キーが所有するアカウントのものであるかどうかを判断できます。アクセスキー ID は、aws sts get-access-key-info AWS CLI コマンドまたは GetAccessKeyInfo AWS API オペレーションを使用して渡すことができます。

AWS CLI および AWS API オペレーションは、 AWS アクセスキーが属するアカウントの ID を返します。AKIA で始まるアクセスキー ID は、IAM ユーザーまたは AWS アカウントのルートユーザー の長期的な認証情報です。ASIA で始まるアクセスキー ID は、AWS STS オペレーションを使用して作成される一時的な認証情報です。レスポンスのアカウントがユーザーに属している場合、ルートユーザー としてサインインして ルートユーザー アクセスキーを確認できます。次に、認証情報レポートを取得して、IAM キーを所有しているユーザーを確認できます。ASIA アクセスキーの一時認証情報をリクエストしたユーザーを確認するには、CloudTrail ログで AWS STS イベントを表示します。

このオペレーションは、アクセスキーの状態を示しません。キーは、アクティブ、非アクティブ、または削除済みのいずれかです。アクティブなキーにオペレーションを実行するアクセス許可がない場合があります。削除済みアクセスキーを指定すると、キーが存在しないというエラーが返されることがあります。