AWS CLI 的命名設定檔 - AWS Command Line Interface

AWS CLI 的命名設定檔

具名設定檔是您可以套用到 AWS CLI 命令的設定和憑證集合。當您指定要執行命令的設定檔時,會使用設定和憑證來執行該命令。多個命名設定檔可以儲存於 configcredentials 檔案。

您可以指定一個 default 設定檔,其會在沒有明確參考設定檔時使用。其他設定檔具有您可以針對個別命令在命令列上指定為參數的名稱。您也可以在環境變數 AWS_PROFILE 中指定設定檔,該變數會覆寫在該工作階段執行之命令的預設設定檔。

建立命名設定檔

您可以使用 aws configure 搭配 --profile 選項,或在 configcredentials 檔案中手動新增項目,以設定額外的設定檔。如需 configcredentials 檔案的詳細資訊,請參閱 組態與憑證檔案設定

憑證設定檔

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

credentials 檔案對具名設定檔使用的命名格式不同於 AWS CLI config 檔案。在 credentials 檔案中建立項目時,請使用 profile 一字。

~/.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

Config 設定檔

每個設定檔可以指定不同的憑證 (可能來自不同的 IAM 使用者),還可以指定不同的 AWS 區域和輸出格式。為 config 檔案中的設定檔命名時,請包含前綴單詞「profile」。

以下範例指定 defaultuser1 設定檔的區域和輸出資訊。

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

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

使用命名設定檔

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

$ 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 的設定檔,則會覆寫僅針對該命令在環境變數中指定的設定。