AccessKey ペアは、Alibaba Cloud API へのプログラムによるアクセスに使用する長期的な認証情報です。RAM ユーザーまたは Alibaba Cloud アカウント用に AccessKey ペアを作成できます。
AccessKey ペアとは
AccessKey ペアは、AccessKey ID と AccessKey シークレットで構成され、Alibaba Cloud へのプログラムによるリクエストを認証するために使用されます。
-
AccessKey ID:AccessKey ペアの公開された一意の識別子です。
-
AccessKey シークレット:API リクエストの署名に使用されるプライベートキーです。署名によってリクエストの真正性と完全性を検証します。 AccessKey シークレットは厳重に機密として保持する必要があります。
漏洩のリスクを軽減するため、 AccessKey シークレット は作成時に一度しか表示されず、再取得はできません。
AccessKey ペアの使用方法
CLI、SDK、または Terraform を通じて Alibaba Cloud API を呼び出す際に AccessKey ペアを使用します。
Alibaba Cloud は、一時的なセキュリティ認証情報 (STS トークン) に基づく、より安全な代替手段も提供しています。詳細については、「アプリケーション開発シナリオ」をご参照ください。
AccessKey ペアを使用する必要がある場合は、次のベストプラクティスをご参照ください:「やむを得ず使用する AccessKey ペアの適切な保管と使用」。
AccessKey ペアの仕組み
Resource Access Management (RAM) は、アルゴリズムによって AccessKey ID と AccessKey シークレットを生成します。Alibaba Cloud は、保管時と転送時の両方でこれらを暗号化します。
アプリケーションがリクエストを送信する際、AccessKey ID と AccessKey シークレットから派生した署名が含まれます。Alibaba Cloud はこれらを使用して送信者を認証し、リクエストの完全性を検証します。Alibaba Cloud が使用する署名メカニズムの詳細については、「V3 のリクエストボディと署名メカニズム」をご参照ください。
AccessKey の種類
AccessKey ペアは、所有者に基づいて 2 つのタイプに分類されます。
-
Alibaba Cloud アカウントの AccessKey ペア (非推奨)
この AccessKey ペアは Alibaba Cloud アカウントに属します。 デフォルトでは、アカウント配下のすべてのリソースに対する完全な権限を持っています。漏洩した場合、セキュリティリスクは極めて高くなります。Alibaba Cloud アカウントの AccessKey ペアを作成したり使用したりしないことを強く推奨します。
-
RAM ユーザーの AccessKey ペア (推奨)
この AccessKey ペアは、事前に作成する必要がある RAM ユーザーに属します。AccessKey ペアは RAM ユーザーの権限を継承し、最小権限でのアクセス管理を可能にします。 ベストプラクティスとして、独立したアプリケーションごとに個別の RAM ユーザーと AccessKey ペアを割り当てます。これにより、過剰な権限を防ぎ、認証情報が漏洩した場合のブラスト半径を縮小します。
権限要件
Alibaba Cloud アカウントは無制限の権限を持っているため、本番環境で AccessKey ペアを作成するために使用することは避けてください。代わりに、適切な権限を持つ RAM ユーザーを使用して、(Alibaba Cloud アカウントに属するものを除き) AccessKey ペアを作成および管理してください。
-
管理者に
AliyunRAMFullAccess(RAM 管理者) システムポリシーを付与することで、RAM ユーザーの AccessKey ペアの作成および管理を許可できます。 -
また、RAM のグローバルセキュリティ設定で {key, select, AllowUserToChangePassword {ユーザーによるパスワードの管理を許可} AllowUserToManageMFADevices {ユーザーによる MFA デバイスの管理を許可} AllowUserToManageAccessKeys {ユーザーによる AccessKey の管理を許可} AllowUserToManageServiceCredentials {ユーザーによる API Key の管理を許可} AllowUserToManagePersonalDingTalk {ユーザーによる DingTalk バインドの管理を許可} AllowUserLongTermLogin {長期ログインの維持を許可} HelpAllowUserLongTermLogin {長期ログインをサポートするアプリ:アリババクラウド App、アリババクラウド ECS クライアント。} LoginSessionDuration {ログインセッションの有効期限} HelpLoginSessionDuration {ログインセッションの継続時間を指定します。有効値は {min} ~ {max} 時間です。} ValueOfLoginSessionDuration {{value} 時間} AllowUserToLoginWithPasskey {ユーザーによるパスキーログインを許可} MaxIdleDaysForUsers {ユーザーの最大アイドル日数} HelpMaxIdleDaysForUsersTitle {設定の変更は翌日に有効になります。以下の条件をすべて満たすユーザーは、コンソールへのログインが無効になります。} HelpMaxIdleDaysForUsersFirstCondition {1. 最後のログインから設定期間以上が経過している、またはユーザーの作成から設定期間以上が経過しており一度もログインしていない。} HelpMaxIdleDaysForUsersSecondCondition {2. ユーザーのログイン設定が 7 日以内に更新されていない。} MaxIdleDaysForAccessKeys {AccessKey の最大ア HelpMaxIdleDaysForAccessKeysTitle {設定の変更は翌日に有効になります。以下の条件をすべて満たす AccessKey は無効になります。} HelpMaxIdleDaysForAccessKeysFirstCondition {1. AccessKey の最終使用日時から最大アイドル期間以上が経過している。} HelpMaxIdleDaysForAccessKeysSecondCondition 7 日以内に更新されていない。} ValueOfIdleDays {{value} 日} other {{key}} } オプションを有効にすることで、ユーザーが自身の AccessKey ペアを管理できるようになります。詳細については、「RAM ユーザーのセキュリティ設定の管理」をご参照ください。
説明この設定を有効にすると、管理者がこれらの操作を明示的に拒否するポリシーをアタッチしない限り、 すべての RAM ユーザー が自身の AccessKey ペアの作成、無効化、削除を含む管理を行えるようになります。
本番環境でこの設定を有効にすることは推奨しません。特定のユーザーに自身の AccessKey ペアの管理を許可するには、カスタムポリシーを使用し、
Resource要素をユーザー自身の ID に設定することを推奨します。以下のポリシー例をご参照ください。AccessKey の作成
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:CreateAccessKey", "ram:ListAccessKeys" ], "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME" } ] }AccessKey の管理
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:CreateAccessKey", "ram:ListAccessKeys", "ram:UpdateAccessKey", "ram:DeleteAccessKey", "ram:GetAccessKeyLastUsed", "ram:ListAccessKeysInRecycleBin" ], "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME" } ] }
RAM ユーザーの AccessKey の作成
RAM 管理者 (AliyunRAMFullAccess ポリシーを持つユーザー) として、以下の手順を実行します。アカウントに RAM ユーザーがいない場合は、「RAM ユーザーの作成」をご参照ください。
RAM ユーザーが自身の AccessKey ペアを作成する手順は、「Alibaba Cloud アカウントの AccessKey ペアの作成」の手順と同じです。RAM ユーザーが自身の AccessKey ペアを作成する前に、Alibaba Cloud アカウントの所有者が {key, select, AllowUserToChangePassword {ユーザーによるパスワードの管理を許可} AllowUserToManageMFADevices {ユーザーによる MFA デバイスの管理を許可} AllowUserToManageAccessKeys {ユーザーによる AccessKey の管理を許可} AllowUserToManageServiceCredentials {ユーザーによる API Key の管理を許可} AllowUserToManagePersonalDingTalk {ユーザーによる DingTalk バインドの管理を許可} AllowUserLongTermLogin {長期ログインの維持を許可} HelpAllowUserLongTermLogin {長期ログインをサポートするアプリ:アリババクラウド App、アリババクラウド ECS クライアント。} LoginSessionDuration {ログインセッションの有効期限} HelpLoginSessionDuration {ログインセッションの継続時間を指定します。有効値は {min} ~ {max} 時間です。} ValueOfLoginSessionDuration {{value} 時間} AllowUserToLoginWithPasskey {ユーザーによるパスキーログインを許可} MaxIdleDaysForUsers {ユーザーの最大アイドル日数} HelpMaxIdleDaysForUsersTitle {設定の変更は翌日に有効になります。以下の条件をすべて満たすユーザーは、コンソールへのログインが無効になります。} HelpMaxIdleDaysForUsersFirstCondition {1. 最後のログインから設定期間以上が経過している、またはユーザーの作成から設定期間以上が経過しており一度もログインしていない。} HelpMaxIdleDaysForUsersSecondCondition {2. ユーザーのログイン設定が 7 日以内に更新されていない。} MaxIdleDaysForAccessKeys {AccessKey の最大ア HelpMaxIdleDaysForAccessKeysTitle {設定の変更は翌日に有効になります。以下の条件をすべて満たす AccessKey は無効になります。} HelpMaxIdleDaysForAccessKeysFirstCondition {1. AccessKey の最終使用日時から最大アイドル期間以上が経過している。} HelpMaxIdleDaysForAccessKeysSecondCondition 7 日以内に更新されていない。} ValueOfIdleDays {{value} 日} other {{key}} } オプションを有効にする必要があります。そうしないと、RAM ユーザーにはキーを作成するオプションが表示されません。詳細については、「RAM ユーザーのセキュリティ設定の管理」をご参照ください。
コンソール
-
RAM コンソールにログインします。左側のナビゲーションペインで、 を選択します。
-
ユーザーリストで、対象の [RAM ユーザー] を見つけ、そのユーザー名をクリックします。
-
認証情報管理 タブの [AccessKey] セクションで、AccessKey の作成 をクリックします。
説明各 RAM ユーザーは最大 2 つの AccessKey ペアを持つことができます。 1 つはアクティブな利用のため、もう 1 つはローテーション用です。
-
表示されたダイアログボックスで、ユースケースと推奨事項を読みます。推奨事項に従って、より適切な認証情報ソリューションを選択します。AccessKey ペアを作成する必要がある場合は、ユースケースを選択し、AccessKey の作成が必要であることを確認する チェックボックスをオンにして、[続行] をクリックします。選択したユースケースは、作成される AccessKey ペアには影響しません。
-
プロンプトに従って、セキュリティ検証を完了します。
-
AccessKey の作成 ダイアログボックスで、AccessKey ID と AccessKey シークレットを保存し、OK をクリックします。
(オプション) AccessKey ネットワーク ACL ポリシーの設定: この AccessKey ペアを使用する API リクエストのソース IP アドレスを制限できます。これにより、AccessKey ペアが信頼できるネットワーク環境からのみ使用されるようになり、セキュリティが向上します。 [ネットワークアクセスポリシーの設定] をクリックして、この AccessKey ペアの信頼できるネットワーク環境を定義することを推奨します。詳細については、「RAM ユーザーの AccessKey ネットワーク ACL ポリシーの設定」をご参照ください。
セキュリティに関する推奨事項では、AccessKey ペアの最大アイドル時間を設定することもできます (推奨:90 日間非アクティブな場合に自動で無効化)。 [設定へ] をクリックして設定します。
重要漏洩のリスクを軽減するため、 AccessKey シークレット は作成時に一度しか表示されず、再取得はできません。
API
CreateAccessKey API を呼び出して、次のパラメーターを指定します。
-
UserPrincipalName: RAM ユーザーのログイン名。例: test@example.onaliyun.com。ログイン名は RAM コンソールで確認できます。
漏洩のリスクを軽減するため、 AccessKey シークレット は CreateAccessKey API のレスポンスでのみ返されます。再度取得することはできません。
Alibaba Cloud アカウントの AccessKey の作成 (非推奨)
絶対に必要な場合を除き、 Alibaba Cloud アカウントの AccessKey ペアを作成したり使用したりしないことを強く推奨します。続行する前に、代わりに RAM ユーザーの AccessKey ペアを使用できないか評価してください。
-
Alibaba Cloud アカウントで Alibaba Cloud コンソールにログインします。
-
右上のプロフィール画像にカーソルを合わせ、 [AccessKey] をクリックします。

-
[Alibaba Cloud アカウントの AccessKey の使用は推奨されません] ダイアログボックスで、Alibaba Cloud アカウントの AccessKey ペアを作成するリスクを読みます。続行する必要がある場合は、クラウドアカウント AccessKey のセキュリティリスクを確認済み チェックボックスをオンにし、 [Alibaba Cloud アカウントの AccessKey を引き続き使用する] をクリックします。
-
[AccessKey] ページで、AccessKey の作成 をクリックします。
説明Alibaba Cloud アカウントは最大 2 つの AccessKey ペアを持つことができます。 1 つはアクティブな利用のため、もう 1 つはローテーション用です。
-
メインアカウント AccessKey の作成 ダイアログボックスで、リスクと制限を再度確認します。AccessKey ペアを作成する場合は、クラウドアカウント AccessKey のセキュリティリスクを確認済み チェックボックスをオンにし、 [Alibaba Cloud アカウントの AccessKey を引き続き使用する] をクリックします。
-
AccessKey の作成 ダイアログボックスで、AccessKey ID と AccessKey シークレットを保存し、次に AccessKey Secretを保存しました チェックボックスをオンにして、OK をクリックします。
(推奨) AccessKey ネットワーク ACL ポリシーの設定: この AccessKey ペアを使用する API リクエストのソース IP アドレスを制限できます。これにより、AccessKey ペアが信頼できるネットワーク環境からのみ使用されるようになり、セキュリティが向上します。 [ネットワークアクセスポリシーの設定] をクリックして、この AccessKey ペアの信頼できるネットワーク環境を定義することを推奨します。詳細については、「Alibaba Cloud アカウントの AccessKey ネットワーク ACL ポリシーの設定」をご参照ください。
重要漏洩のリスクを軽減するため、Alibaba Cloud アカウントの AccessKey シークレットは作成時に一度しか表示されず、再取得はできません。