AccessKey (AK) は、RAM ユーザーの長期的なアクセス認証情報です。CI/CD パイプライン、スケジュールされたタスク、ブラウザレスのリモートターミナルなど、安定した長期的な認証が必要な自動化シナリオに最適です。このトピックでは、Alibaba Cloud CLI で AccessKey 認証情報を設定、検証、削除する方法について説明します。
前提条件
AccessKey は、自動的に有効期限が切れない 長期的な 認証情報です。AccessKey が漏洩した場合、攻撃者は RAM コンソールで AccessKey を手動で無効化または削除するまで、承認されたすべてのクラウドリソースに継続的にアクセスできます。
実行環境でサポートされている場合は、OAuth 認証情報または RAM ロール認証情報を使用することを推奨します。異なる認証情報タイプの比較については、「ID 認証情報の設定と管理」をご参照ください。
Alibaba Cloud CLI バージョン ≥
3.3.0。 現在のバージョンは、aliyun versionを実行して確認できます。 バージョンが 3.3.0 より前の場合は、「CLI のインストール/更新」を参照してアップグレードしてください。RAM ユーザーの AccessKey ID と AccessKey Secret を取得していること。ルートアカウントではなく、RAM ユーザーの AccessKey を使用することを推奨します。ルートアカウントはすべてのリソースに対する権限を持っており、漏洩した場合の影響は深刻です。AccessKey の取得方法については、「CreateAccessKey」をご参照ください。
認証情報の設定
Alibaba Cloud CLI では、AccessKey を設定するための、対話形式の設定、非対話形式の設定 (スクリプトと自動化用) 、および環境変数 (CI/CD パイプライン用) の 3 つの方法を提供しています。
対話形式の設定
設定を開始するには、次のコマンドを実行します。Replace
<ProfileName>を、AkProfileなどのカスタムプロファイル名に置き換えます。aliyun configure --profile <ProfileName>プロンプトが表示されたら、AccessKey ID、AccessKey Secret、デフォルトリージョン、および言語を入力します。
Configuring profile 'AkProfile' in 'AK' authenticate mode... Access Key Id []: <yourAccessKeyID> Access Key Secret []: <yourAccessKeySecret> Default Region Id []: cn-shanghai Default Output Format [json]: json (json のみサポート) Default Language [zh|en] en: en Saving profile[AkProfile] ...Done.ターミナルに
...Done.と表示されると、設定は成功です。
設定が成功すると、プロファイルは自動的にアクティブ化されます。別のプロファイルに切り替えるには、aliyun configure switch --profile <ProfileName> コマンドを実行します。
非対話形式の設定
Bash
aliyun configure set \
--profile AkProfile \
--mode AK \
--access-key-id <yourAccessKeyID> \
--access-key-secret <yourAccessKeySecret> \
--region cn-hangzhouPowerShell
aliyun configure set `
--profile AkProfile `
--mode AK `
--access-key-id <yourAccessKeyID> `
--access-key-secret <yourAccessKeySecret> `
--region cn-hangzhou認証情報の設定の検証
認証情報を設定した後、次のコマンドを実行して検証します。
aliyun sts get-caller-identity出力は次のようになります。Arn フィールドと UserId フィールドを使用して、現在の AccessKey の所有者を特定できます:
{
"AccountId": "173305794806****",
"Arn": "acs:ram::173305794806****:user/<user-name>",
"IdentityType": "RAMUser",
"PrincipalId": "20407046578681****",
"RequestId": "D012C652-FF76-5101-81B3-45A1DDAC****",
"UserId": "20407046578681****"
}環境変数の設定
Alibaba Cloud CLI は、プロファイル設定を優先します。プロファイル内のフィールドが定義されていない場合、CLI は対応する環境変数を使用します。
Linux / macOS
export ALIBABA_CLOUD_ACCESS_KEY_ID="LTAI5txxx"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="yourSecret"PowerShell
$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTAI5txxx"
$env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "yourSecret"認証情報の削除
ローカル設定から AccessKey プロファイルを削除するには、次のコマンドを実行します。
aliyun configure delete --profile <ProfileName>このコマンドは、~/.aliyun/config.json から対応する設定エントリを削除するだけで、RAM コンソールで AccessKey を無効化または削除するものではありません。アクセスを永続的に無効にするには、RAM コンソールで手動で AccessKey を無効化または削除する必要もあります。
よくある質問
認証情報の優先順位
CLI は、プロファイル内の値を優先します。プロファイルで定義されていないフィールドについてのみ、環境変数を使用します。