設定 AWS CLI - AWS Command Line Interface

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

設定 AWS CLI

本主題說明如何快速設定 AWS Command Line Interface (AWS CLI) 用來與 互動的基本設定 AWS。其中包括您的安全憑證、預設輸出格式和預設 AWS 區域。

收集您的憑證資訊以進行程式設計存取

如果您想要與 AWS 外部互動,則需要程式設計存取權 AWS Management Console。針對驗證和憑證指示,請從下列選項擇一:

身分驗證類型 用途 指示

IAM Identity Center 人力資源使用者短期憑證

(建議) 使用 IAM Identity Center 人力資源使用者的短期憑證。

安全性最佳實務是 AWS Organizations 搭配 IAM Identity Center 使用。它結合了短期憑證與使用者目錄,例如內建 IAM Identity Center 目錄或 Active Directory。

使用 設定 IAM Identity Center 身分驗證 AWS CLI
IAM 使用者短期憑證 使用IAM使用者短期憑證,這比長期憑證更安全。如果您的登入資料遭到入侵,在過期之前,可以使用這些登入資料的時間有限。 使用 的短期憑證進行驗證 AWS CLI
IAM 或 Amazon 執行個體上的 IAM Identity Center 使用者。 EC2 使用 Amazon EC2執行個體中繼資料,使用指派給 Amazon EC2執行個體的角色來查詢臨時憑證。 使用 Amazon EC2執行個體中繼資料作為 中的憑證 AWS CLI
擔任許可的角色 配對其他憑證方法,並擔任暫時存取 AWS 服務 使用者的角色,可能無法存取 。 在 中使用IAM角色 AWS CLI
IAM 使用者長期憑證 (不建議) 使用沒有過期的長期憑證。 使用 IAM的使用者憑證進行驗證 AWS CLI
IAM 或 IAM Identity Center 人力資源使用者的外部儲存 (不建議) 配對其他憑證方法,但將憑證值存放在 外部的位置 AWS CLI。此方法僅與儲存憑證的外部位置一樣安全。 在 中使用外部程序來來源憑證 AWS CLI

設定新的組態和憑證

會將您的組態和憑證資訊 AWS CLI 儲存在 credentialsconfig檔案中的設定檔 (設定集合) 中。

您主要能透過兩種方法進行快速設定:

下列範例會針對每個驗證方式使用範例值。使用您自己的值來取代範例值。

使用 AWS CLI 命令進行設定

一般來說,您偏好的終端中的 aws configureaws configure sso 命令是設定您的 AWS CLI 安裝最快的方法。會根據您偏好的憑證方法, AWS CLI 提示您提供相關資訊。根據預設,當您執行未明確指定要使用之設定檔的 AWS CLI 命令時,會使用此設定檔中的資訊。

如需 credentialsconfig 檔案的詳細資訊,請參閱 中的組態和憑證檔案設定 AWS CLI

IAM Identity Center (SSO)

此範例適用於 AWS IAM Identity Center 使用aws configure sso精靈。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

此範例適用於 AWS IAM Identity Center 使用aws configure sso精靈的舊版方法。若要使用舊版 SSO,請將工作階段名稱保留空白。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

此範例適用於來自 AWS Identity and Access Management的短期憑證。aws 配置精靈是用於設定初始值,而 aws configure set 命令會指派所需的最後值。如需詳細資訊,請參閱使用 的短期憑證進行驗證 AWS CLI

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json $ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

此範例適用於擔任 IAM角色。使用IAM角色的設定檔會從另一個設定檔提取憑證,然後套用IAM角色許可。在下列範例中,default 是憑證的來源設定檔,且 user1 借用相同憑證來擔任新角色。此程序中沒有精靈,因此每個值皆使用 aws configure set 命令設定。如需詳細資訊,請參閱在 中使用IAM角色 AWS CLI

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

此範例適用於從託管 Amazon EC2執行個體中繼資料取得的憑證。此程序中沒有精靈,因此每個值皆使用 aws configure set 命令設定。如需詳細資訊,請參閱使用 Amazon EC2執行個體中繼資料作為 中的憑證 AWS CLI

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
警告

為了避免安全風險,在開發專用軟體或使用真實資料時,請勿使用IAM使用者進行身分驗證。相反地,搭配使用聯合功能和身分提供者,例如 AWS IAM Identity Center

此範例適用於來自 AWS Identity and Access Management的長期憑證。如需詳細資訊,請參閱使用 IAM的使用者憑證進行驗證 AWS CLI

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

如需深入了解驗證與憑證的詳細資訊,請參閱 的身分驗證和存取憑證 AWS CLI

手動編輯憑證和設定檔

複製貼上資訊時,建議您手動編輯 configcredentials 檔案。根據您偏好的憑證方法,檔案會以不同方式設定。

檔案會儲存在 .aws 資料夾下的主目錄中。主目錄的位置根據作業系統而不同,但在 Windows 中是使用環境變數 %UserProfile% 來參考,而在 Unix 系統中是使用 $HOME~ (波狀符號) 來參考。如需這些設定儲存位置的詳細資訊,請參閱 組態設定存放在何處?

以下範例使用範例值,且顯示 default 設定檔和名為 user1 的設定檔。使用您自己的值來取代範例值。如需 credentialsconfig 檔案的詳細資訊,請參閱 中的組態和憑證檔案設定 AWS CLI

IAM Identity Center (SSO)

此範例適用於 AWS IAM Identity Center。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

憑證檔案

此驗證方法不會使用 credentials 檔案。

組態檔案

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
IAM Identity Center (Legacy SSO)

此範例適用於 的舊版方法 AWS IAM Identity Center。如需詳細資訊,請參閱使用 設定 IAM Identity Center 身分驗證 AWS CLI

憑證檔案

此驗證方法不會使用 credentials 檔案。

組態檔案

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

此範例適用於來自 AWS Identity and Access Management的短期憑證。如需詳細資訊,請參閱使用 的短期憑證進行驗證 AWS CLI

憑證檔案

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=ASIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

組態檔案

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

此範例適用於擔任 IAM角色。使用IAM角色的設定檔會從另一個設定檔提取憑證,然後套用IAM角色許可。在下列範例中,default 是憑證的來源設定檔,且 user1 借用相同憑證來擔任新角色。如需詳細資訊,請參閱在 中使用IAM角色 AWS CLI

憑證檔案

credentials 檔案取決於您的來源設定檔使用哪種身分驗證。在下列範例中,來源設定檔是使用短期憑證。

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

組態檔案

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

此範例適用於從託管 Amazon EC2執行個體中繼資料取得的憑證。如需詳細資訊,請參閱使用 Amazon EC2執行個體中繼資料作為 中的憑證 AWS CLI

憑證檔案

此驗證方法不會使用 credentials 檔案。

組態檔案

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
警告

為了避免安全風險,在開發專用軟體或使用真實資料時,請勿使用IAM使用者進行身分驗證。相反地,搭配使用聯合功能和身分提供者,例如 AWS IAM Identity Center

此範例適用於來自 AWS Identity and Access Management的長期憑證。如需詳細資訊,請參閱使用 IAM的使用者憑證進行驗證 AWS CLI

憑證檔案

[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

組態檔案

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

如需深入了解驗證與憑證的詳細資訊,請參閱 的身分驗證和存取憑證 AWS CLI

使用現有組態和憑證檔案

如果您有現有的組態和憑證檔案,則這些檔案可用於 AWS CLI。

若要使用 configcredentials 檔案,將它們移動到主目錄中名為 .aws 的資料夾。主目錄的位置根據作業系統而不同,但在 Windows 中是使用環境變數 %UserProfile% 來參考,而在 Unix 系統中是使用 $HOME~ (波狀符號) 來參考。

您可以將 AWS_CONFIG_FILEAWS_SHARED_CREDENTIALS_FILE 環境變數設為其他本機路徑,以指定 configcredentials 檔案的非預設位置。如需詳細資訊,請參閱 設定 的環境變數 AWS CLI

如需關於組態和憑證檔案的詳細資訊,請參閱 中的組態和憑證檔案設定 AWS CLI