環境変数は、特定の名前と値を持つオペレーティングシステム固有のシステムレベルのパラメーターであり、オペレーティングシステム上で実行されるアプリケーションに実行環境の設定を提供します。このトピックでは、Linux、macOS、Windows の環境変数に Alibaba Cloud AccessKey ペアを設定し、ハードコードされた認証情報なしでアプリケーションを安全に認証する方法について説明します。
Alibaba Cloud アカウントには完全なアクセス権限があり、セキュリティ上の脅威となります。セキュリティを強化するには、アクセスや日常的な運用保守のために Resource Access Management (RAM) ユーザーを作成して使用してください。API を呼び出す前に、対象リソースを操作するために必要な権限を RAM ユーザーに付与する必要があります。RAM ユーザーの AccessKey を取得する方法の詳細については、「AccessKey の作成」、「RAM ユーザー権限の管理」、「RAM ユーザーの AccessKey 情報の表示」をご参照ください。AccessKey を使用して API を呼び出す場合は、AccessKey をプレーンテキストとしてコードに含めないでください。代わりに、環境変数を設定するか、別の安全な方法を使用して、AccessKey の漏洩を防いでください。
Linux と macOS での Alibaba Cloud AccessKey の環境変数設定
このセクションでは、環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET を例に説明します。必要に応じて、変数名を OSS_ACCESS_KEY_ID や OSS_ACCESS_KEY_SECRET などに置き換えることができます。
export コマンドを使用して環境変数を設定します。
export コマンドで設定した一時的な環境変数は、現在のセッションでのみ有効です。セッションが終了すると、変数はクリアされます。長期保存 (LTR) するには、export コマンドをオペレーティングシステムの起動設定ファイルに追加してください。
AccessKey ID を設定し、Enter キーを押します。
# yourAccessKeyID を実際の AccessKey ID に置き換えてください。 export ALIBABA_CLOUD_ACCESS_KEY_ID=yourAccessKeyIDAccessKey シークレットを設定し、Enter キーを押します。
# yourAccessKeySecret を実際の AccessKey シークレットに置き換えてください。 export ALIBABA_CLOUD_ACCESS_KEY_SECRET=yourAccessKeySecret設定を確認します。
echo $ALIBABA_CLOUD_ACCESS_KEY_IDコマンドを実行します。コマンドが正しい AccessKey ID を返す場合、設定は成功です。
Windows での Alibaba Cloud AccessKey の環境変数設定
このセクションでは、環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET を例に説明します。必要に応じて、変数名を OSS_ACCESS_KEY_ID や OSS_ACCESS_KEY_SECRET などに置き換えることができます。
グラフィカルユーザーインターフェース (GUI) の使用
手順
次の手順では、 Windows 10 の GUI を使用して環境変数を設定する方法について説明します。
デスクトップで [PC] を右クリックし、[プロパティ] > [システムの詳細設定] > [環境変数] の順に選択し、[システム変数] または [ユーザー変数] の [新規] をクリックします。その後、設定を完了します。
変数
値の例
AccessKey ID
変数名: ALIBABA_CLOUD_ACCESS_KEY_ID
変数値: yourAccessKeyID
AccessKey シークレット
変数名: ALIBABA_CLOUD_ACCESS_KEY_SECRET
変数値: yourAccessKeySecret
設定の確認
[スタート] から [ファイル名を指定して実行] をクリックするか、キーボードショートカット Win+R を使用します。
cmdと入力し、[OK] をクリックするか Enter キーを押してコマンドプロンプトを開きます。echo %ALIBABA_CLOUD_ACCESS_KEY_ID%コマンドとecho %ALIBABA_CLOUD_ACCESS_KEY_SECRET%コマンドを実行します。コマンドが正しい AccessKey を返す場合、設定は成功です。
コマンドプロンプト (CMD) の使用
手順
コマンドプロンプトを管理者として開き、次のコマンドを実行して、新しい環境変数をシステムに追加します。
setx ALIBABA_CLOUD_ACCESS_KEY_ID yourAccessKeyID /M setx ALIBABA_CLOUD_ACCESS_KEY_SECRET yourAccessKeySecret /M/Mパラメータは、システム環境変数を示します。ユーザー環境変数を設定する場合は、このパラメータを省略できます。設定の確認
[スタート] から [ファイル名を指定して実行] をクリックするか、キーボードショートカット Win+R を使用します。
cmdと入力し、[OK] をクリックするか Enter キーを押してコマンドプロンプトを開きます。echo %ALIBABA_CLOUD_ACCESS_KEY_ID%コマンドとecho %ALIBABA_CLOUD_ACCESS_KEY_SECRET%コマンドを実行します。コマンドが正しい AccessKey を返す場合、設定は成功です。
Windows PowerShell の使用
PowerShell では、すべての新しいセッションで有効な新しい環境変数を設定できます。
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'yourAccessKeyID', [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'yourAccessKeySecret', [System.EnvironmentVariableTarget]::User)すべてのユーザーに対して環境変数を設定するには、管理者権限が必要です。
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'yourAccessKeyID', [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'yourAccessKeySecret', [System.EnvironmentVariableTarget]::Machine)現在のセッションでのみ有効な一時的な環境変数を設定できます。
$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "yourAccessKeyID"
$env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "yourAccessKeySecret"PowerShell で、 Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_ID コマンドと Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_SECRET コマンドを実行します。コマンドが正しい AccessKey を返す場合、設定は成功です。
環境変数を設定した後、新しい設定を有効にするために、統合開発環境 (IDE) などの開発ツールやサービスの再起動が必要な場合があります。