AccessKey ペアは、Alibaba Cloud API へのプログラムによるアクセスのための長期的な認証情報です。RAM ユーザーまたは Alibaba Cloud アカウントに対して AccessKey ペアを作成できます。
AccessKey ペアとは
AccessKey ペアは、Alibaba Cloud がプログラムによるリクエストを認証するために使用する長期的な認証情報です。AccessKey ID と AccessKey シークレットで構成されます。
-
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 ペアを使用してリクエストを行うとき、リクエストには 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 ペアはユーザーの権限を継承するため、最小権限でのアクセス管理が可能になります。ベストプラクティスとして、独立したアプリケーションごとに個別の RAM ユーザーと AccessKey ペアを割り当てることを推奨します。これにより、過剰な権限を防ぎ、認証情報が漏洩した場合のブラスト半径を縮小できます。
権限要件
Alibaba Cloud アカウントは過剰な権限を持っているため、本番環境で AccessKey ペアを作成するために使用することは避けてください。代わりに、適切な権限を持つ RAM ユーザーを使用して、AccessKey ペア (Alibaba Cloud アカウントに属するものを除く) を作成および管理してください。
-
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要素をユーザー自身のアイデンティティに設定することを推奨します。以下のポリシー例をご参照ください。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 アcount の 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 ユーザー]を見つけ、ユーザー名をクリックします。
-
Credential タブの [AccessKey] セクションで、AccessKey の作成 をクリックします。
説明各 RAM ユーザーは最大 2 つの AccessKey ペアを持つことができます。 1 つはアクティブな使用のため、もう 1 つはローテーション用です。
-
表示されるダイアログボックスで、ユースケースと推奨事項を読みます。推奨事項に従って、より適切な認証情報ソリューションを選択します。AccessKey ペアを作成する必要がある場合は、ユースケースを選択し、I confirm that it is necessary to create an AccessKey チェックボックスをオンにしてから [続行] をクリックします。選択したユースケースは、作成される AccessKey ペアには影響しません。

-
プロンプトに従って、セキュリティ検証を完了します。
-
AccessKey の作成 ダイアログボックスで、AccessKey ID と AccessKey シークレットを保存し、OK をクリックします。
(オプション) AccessKey ネットワーク ACL ポリシーの設定: この AccessKey ペアを使用する API リクエストのソース IP アドレスを制限できます。これにより、AccessKey ペアが信頼されたネットワーク環境からのみ使用されるようになり、セキュリティが向上します。[ネットワークアクセス ポリシーの設定] をクリックして、この AccessKey ペアの信頼できるネットワーク環境を定義することを推奨します。詳細については、「RAM ユーザーの AccessKey ネットワーク ACL ポリシーの設定」をご参照ください。
重要漏洩のリスクを軽減するため、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 ペアを作成するリスクを読み、続行する必要がある場合は、I am aware of the security risks of using a main account AccessKey. チェックボックスをオンにして、[Alibaba Cloud アカウントの AccessKey を引き続き使用する] をクリックします。

-
[AccessKey] ページで、AccessKey の作成 をクリックします。
説明Alibaba Cloud アカウントは最大 2 つの AccessKey ペアを持つことができます。 1 つはアクティブな使用のため、もう 1 つはローテーション用です。
-
Create Main Account AccessKey ダイアログボックスで、リスクと制限を再度確認し、AccessKey ペアの作成を続行する場合は、I am aware of the security risks of using a main account 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 シークレットは作成時にのみ表示され、再取得することはできません。