命名設定檔 - AWS 命令列界面

Python 2.7、3.4 及 3.5 已被棄用,適用於 AWS CLI 版本 1。如需詳細資訊,請參閱適用於關於 AWS CLI 版本

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

命名設定檔

A命名設定檔是您可以套用到 AWS CLI 命令的設定和登入資料集合。當您指定要執行命令的設定檔時,會使用設定和登入資料來執行該命令。您可以指定一個設定檔為「預設」,並在沒有明確參考設定檔時使用。其他設定檔具有您可以針對個別命令在命令列上指定為參數的名稱。或者,您可以在環境變數 (AWS_PROFILE) 中指定設定檔,該變數基本上會覆寫該工作階段中執行之命令的預設設定檔。

AWS CLI 支援使用多個命名設定檔,這些登入資料會儲存在中configcredentials檔案中。您可以使用 aws configure 搭配 --profile 選項,或在 configcredentials 檔案中新增項目,以設定額外的描述檔。

下列範例顯示具有兩個描述檔的 credentials 檔案。當您執行不含設定檔的 CLI 命令時會使用第一個 [預設]。當您執行含有 --profile user1 參數的 CLI 命令時會使用第二個。

~/.aws/credentials (Linux & Mac) 或 %USERPROFILE%\.aws\credentials (Windows)

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

每個設定檔可以指定不同的登入資料,這些登入資料可能來自不同的 IAM 使用者,並也可指定不同的 AWS 區域和輸出格式。

~/.aws/config (Linux & Mac) 或 %USERPROFILE%\.aws\config (Windows)

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
重要

credentials 檔案對具名描述檔使用的命名格式不同於 config 檔案。只有在 config 檔案中設定具名描述檔時才包含 "profile" 字首文字。DO使用這個字profile中創建一個條目時credentialsfile.

使用描述檔搭配 AWS CLI

若要使用命名設定檔,請新增 --profile profile-name 選項到命令中。下列範例列出使用登入資料和設定的所有 Amazon EC2 執行個體user1設定檔中的前一個範例檔案。

$ aws ec2 describe-instances --profile user1

如果您要將一個具名描述檔用於多個命令,請在命令列設定 AWS_PROFILE 環境變數,即可避免在每個命令中指定描述檔。

Linux 或 macOS

$ export AWS_PROFILE=user1

Windows

C:\> setx AWS_PROFILE user1

使用 set 設定環境變數會變更使用的值,直到目前命令提示工作階段結束或直到您將該變數設為其他值。

使用 setx 來設定環境變數時,將會變更您在執行命令後建立的所有命令 shell 中的值。不會影響您執行命令當時已執行的任何命令 shell。關閉並重新啟動命令 shell,以查看變更的效果。

設定環境變數會變更預設的設定檔,直到 Shell 工作階段結束或直到您將該變數設為其他數值。您可以將環境變數放入 shell 的啟動指令碼中,讓它們跨未來的工作階段持續生效。如需更多詳細資訊,請參閱 用來設定 AWS CLI 的環境變數

注意

如果您在個別命令上指定含 --profile 的設定檔,則會覆寫僅針對該命令在環境變數中指定的設定。