本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以將常用的組態設定和憑證儲存在 AWS CLI維護的檔案中。
這些文件被分為 profiles
。根據預設, AWS CLI 會使用在名為 的設定檔中找到的設定default
。若要使用替代設定,您可以建立和參考額外的描述檔。
您可以設定其中一個支援的環境變數,或使用命令列參數,以覆寫個別設定。如需組態設定優先順序的詳細資訊,請參閱 設定 的設定 AWS CLI。
注意
如需設定憑證的相關資訊,請參閱 的身分驗證和存取憑證 AWS CLI。
組態和憑證檔案的格式
config
和 credentials
檔案會組織成區段。區段包括設定檔、SSO 工作階段和服務。區段是具名的設定集合,且會持續到發生其他區段定義列為止。許多設定檔和區段可以儲存於 config
和 credentials
檔案。
這些檔案是使用下列格式的純文字檔案:
-
區段名稱會以方括號 [] 括起來,例如
[default]
、[profile
和user1
][sso-session]
。 -
區段中的所有項目均採用
setting_name=value
的一般形式。 -
您可以在列的開頭使用雜湊字元 (
#
),為列加上註解。
config 和 credentials 檔案包含下列區段類型:
區段類型:profile
根據檔案,設定檔區段名稱會使用下列格式:
-
組態檔案:
[default]
[profile
user1
] -
憑證檔案:
[default]
[
user1
]在
credentials
檔案中建立項目時,請勿使用profile
一字。
每個描述檔可以指定不同的憑證,也可以指定不同的 AWS 區域和輸出格式。為 config
檔案中的設定檔命名時,請包含前綴詞「profile
」,但不要將其包含在 credentials
檔案中。
下列範例顯示 credentials
和 config
檔案,兩者皆具有兩個設定檔、區域和指定輸出。當您執行不含指定設定檔的 AWS CLI
命令時會使用第一個 [預設]。當您使用 --profile user1
參數執行 AWS CLI 命令時,會使用第二個。
此範例適用於 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-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
sso_registration_scopes =sso:account:access
如需詳細資訊以及其他驗證和憑證方式,請參閱 使用 的 IAM 使用者登入資料進行驗證 AWS CLI。
區段類型:sso-session
config
檔案的 sso-session
區段會用來將用於取得 SSO 存取字符的組態變數分組,然後可用來取得 AWS 登入資料。使用下列的設定:
定義 sso-session
區段並將其與設定檔相關聯。sso_region
和 sso_start_url
必須在 sso-session
區段內設定。一般而言,sso_account_id
和 sso_role_name
必須在 profile
區段中設定,以讓開發套件請求 SSO 憑證。
下列範例會將開發套件設定為請求 SSO憑認證,並支援自動字符重新整理:
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
這也讓 sso-session
組態能在多個設定檔中重複使用:
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[profileprod
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole2
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
然而,SSO 字符組態並非所有情況都需要 sso_account_id
和 sso_role_name
。如果您的應用程式只使用支援承載身分驗證的 AWS 服務,則不需要傳統的 AWS
憑證。承載身分驗證是一種 HTTP 身分驗證結構描述,使用稱為承載字符的安全字符。在這種情況下,sso_account_id
和 sso_role_name
並非必要資訊。請參閱您 AWS 服務的個別指南,以判斷其是否支援承載字符授權。
此外,註冊範圍也可以設定為 sso-session
的一部分。範圍是 OAuth 2.0 中的一種機制,用於限制應用程式對使用者帳戶的存取。應用程式可以請求一個或多個範圍,則合法給應用程式的存取字符將僅限於授予的範圍。這些範圍定義為已註冊 OIDC 用戶端和用戶端擷取的存取字符進行授權所需請求的許可。下列範例設定 sso_registration_scopes
以提供列出帳戶/角色的存取權限:
[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
身分驗證字符會以基於工作階段名稱的檔案名稱快取至 ~/.aws/sso/cache
目錄下的磁碟。
如需有關組態類型的詳細資訊,請參閱 使用 設定 IAM Identity Center 身分驗證 AWS CLI。
區段類型:services
services
區段是一組設定,可設定 AWS 服務 請求的自訂端點。然後,設定檔會連結至 services
區段。
[profile
dev
] services =my-services
該 services
區段由 <SERVICE> =
列分隔成子區段,其中 <SERVICE>
是 AWS 服務 識別碼金鑰。 AWS 服務 識別符是以 API 模型的 為基礎serviceId
,方法是將所有空格取代為底線,並縮小所有字母大小。如需要在 services
區段中使用的所有服務識別碼金鑰的清單,請參閱 在 中使用端點 AWS CLI。服務識別碼金鑰後面接續巢狀化設定,每個設定獨佔一列並縮排兩個空格。
以下範例將端點設定為用於向 dev
設定檔中使用的 my-services
區段中的 Amazon DynamoDB 服務發出的請求。任何緊接著縮排的列都包含在該子區段中,並適用於該服務。
[profile
dev
] services =my-services
[servicesmy-services
] dynamodb = endpoint_url =http://localhost:8000
如需服務特定端點詳細資訊,請參閱 在 中使用端點 AWS CLI。
如果您的設定檔具有透過 source_profile
參數設定用於 IAM 假設角色功能,以角色為基礎的憑證,則 SDK 只會使用指定設定檔的服務組態。它不會使用與其連結的角色的設定檔。例如,使用下列共用 config
檔案:
[profile
A
] credential_source =Ec2InstanceMetadata
endpoint_url =https://profile-a-endpoint.aws/
[profileB
] source_profile =A
role_arn =arn:aws:iam::123456789012:role/roleB
services =profileB
[servicesprofileB
] ec2 = endpoint_url =https://profile-b-ec2-endpoint.aws
如果您使用設定檔 B
並在程式碼中呼叫 Amazon EC2,則端點會解析為 https://profile-b-ec2-endpoint.aws
。如果您的程式碼向任何其他服務發出要求,端點解析將不會遵循任何自訂邏輯。端點未解析為設定檔 A
中定義的全域端點。若要讓全域端點對設定檔 B
生效,您需要直接在 B
設定檔中設定 endpoint_url
。
組態設定存放在何處?
會將您透過 指定的敏感登入資料資訊 AWS CLI ,存放在您主目錄中名為
的資料夾中.aws
credentials
,名為 的aws configure
本機檔案中。您使用 aws configure
指定的較不敏感組態選項,則存放在名為 config
的本機檔案中,而此檔案也是存放在主目錄中的
資料夾。.aws
將憑證存放到組態檔中
您可以將所有設定檔設定保留在單一檔案中,因為 AWS CLI 可以從config
檔案讀取登入資料。如果兩個檔案中都有共用相同名稱之設定檔的憑證,則憑證檔案中的金鑰具有高優先順序。建議您在 credentials
檔案中保留憑證。各種語言軟體開發套件 (SDK) 也使用這些檔案。如果您除了 之外還使用其中一個SDKs AWS CLI,請確認憑證是否應存放在自己的 檔案中。
主目錄的位置根據作業系統而不同,但在 Windows 中是使用環境變數 %UserProfile%
來參考,而在 Unix 系統中是使用 $HOME
或 ~
(波狀符號) 來參考。您可以將 AWS_CONFIG_FILE
和 AWS_SHARED_CREDENTIALS_FILE
環境變數設為其他本機路徑,以指定檔案的非預設位置。如需詳細資訊,請參閱 設定 的環境變數 AWS CLI。
當您使用指定 AWS Identity and Access Management (IAM) 角色的共用設定檔時, 會 AWS CLI 呼叫 AWS STS AssumeRole
操作來擷取臨時登入資料。然後會存放這些憑證 (在
中)。後續 AWS CLI 命令會使用快取的暫時登入資料,直到過期為止,此時 AWS CLI 會自動重新整理登入資料。~/.aws/cli/cache
使用命名設定檔
若未明確定義任何設定檔,系統會使用 default
設定檔。
若要使用命名設定檔,請新增 --profile
選項到命令中。下列範例列出使用 profile-name
user1
設定檔中定義的憑證和設定的所有 Amazon EC2 執行個體。
$
aws ec2 describe-instances --profile user1
如果您要將一個具名設定檔用於多個命令,請將 AWS_PROFILE
環境變數設定為預設設定檔,即可避免在每個命令中指定設定檔。您可以使用 --profile
參數來覆寫此設定。
$
export AWS_PROFILE=user1
使用命令設定和檢視組態設定
有數種方法可以使用命令,來檢視和設定您的組態設定。
aws configure
-
執行此命令以快速設定和檢視您的 憑證、區域和輸出格式。下列範例顯示範本值。
$
aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLE
Default region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default output format [None]:us-west-2
json
aws configure set
-
您可以使用
aws configure set
來設定任何憑證或組態設定。使用--profile
設定來指定您想要檢視或修改的設定檔。例如,以下命令會在名為
integ
的設定檔中進行region
設定。$
aws configure set region
us-west-2
--profileinteg
若要移除設定,請在文字編輯器中手動刪除
config
和credentials
檔案中的設定。 aws configure get
-
您可以擷取已使用
aws configure get
設定的任何憑證或組態設定。使用--profile
設定來指定您想要檢視或修改的設定檔。例如,以下命令會在名為
region
的設定檔中擷取integ
設定。$
aws configure get
region
--profileinteg
us-west-2
如果輸出是空的,則設定未明確設定,將會使用預設值。
aws configure import
-
匯入從 IAM Web 主控台產生的
CSV
憑證。這不適用於從 IAM Identity Center 產生的憑證;使用 IAM Identity Center 的客戶應使用 aws 來設定 sso。CSV 檔案將會匯入,且設定檔名稱與使用者名稱相符。CSV 檔案必須包含以下標頭。-
使用者名稱
-
存取金鑰 ID
-
私密存取金鑰
注意
在初始金鑰對建立過程中,一旦關閉 Download .csv file (下載 .csv 檔案) 對話方塊中,您將無法在關閉對話方塊之後存取私密金鑰。如果您需要
.csv
檔案,您必須自己建立一個包含所需標頭和您所儲存金鑰對資訊的檔案。如果您無法存取您的金鑰對資訊,則必須建立新的金鑰對。$
aws configure import --csv
file://credentials.csv
-
aws configure list
-
若要列出組態資料,請使用
aws configure list
命令。此命令會列出設定檔、存取金鑰、私密金鑰,以及用於所指定設定檔的區域組態資訊。對於每個組態項目,它會顯示值、擷取組態值的位置,以及組態變數名稱。例如,如果您在 環境變數 AWS 區域 中提供 ,此命令會顯示您已設定的區域名稱、此值來自 環境變數,以及 環境變數的名稱。
若採用臨時憑證方法 (例如,角色和 IAM Identity Center),此命令會顯示臨時快取的存取金鑰,並顯示私密存取金鑰。
$
aws configure list
Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION
aws configure list-profiles
-
若要列出所有設定檔名稱,請使用
aws configure list-profiles
命令。$
aws configure list-profiles
default test
aws configure sso
-
執行此命令以快速設定和檢視您的 AWS IAM Identity Center 登入資料、區域和輸出格式。下列範例顯示範本值。
$
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
SSO registration scopes [None]:
sso:account:access
aws configure sso-session
-
執行此命令,在 和
config
檔案的 sso-session 區段中快速設定和檢視您的 AWS IAM Identity Center 登入資料、區域credentials
和輸出格式。下列範例顯示範本值。$
aws configure sso-session
SSO session name:
my-sso
SSO start URL [None]:
https://my-sso-portal.awsapps.com/start
SSO region [None]:
us-east-1
SSO registration scopes [None]:
sso:account:access
設定新的組態和憑證命令範例
您可以從下列範例了解如何針對不同驗證方法,用憑證、區域和指定輸出來設定預設設定檔。
此範例適用於 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
支援的 config
檔案設定
config
檔案中支援下列設定。將會使用指定的 (或預設) 描述檔中列出的數值,除非因為有相同名稱的環境變數或相同名稱的命令列選項而被覆寫。如需有關哪些順序設定具有高優先順序的詳細資訊,請參閱 設定 的設定 AWS CLI
全域設定
-
aws_access_key_id
-
指定做為登入資料一部分的 AWS 存取金鑰,以驗證命令請求。雖然這可以存放在
config
檔案中,但建議您存放在credentials
檔案中。可由
AWS_ACCESS_KEY_ID
環境變數所覆寫。您不能將存取金鑰 ID 指定為命令列選項。aws_access_key_id =
AKIAIOSFODNN7EXAMPLE
aws_secret_access_key
-
指定做為登入資料一部分的 AWS 私密金鑰,以驗證命令請求。雖然這可以存放在
config
檔案中,但建議您存放在credentials
檔案中。可由
AWS_SECRET_ACCESS_KEY
環境變數所覆寫。您不能將私密存取金鑰指定為命令列選項。aws_secret_access_key =
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token
-
指定 AWS 工作階段字符。只有當您手動指定臨時的安全憑證時,才需要工作階段字符。雖然這可以存放在
config
檔案中,但建議您存放在credentials
檔案中。可由
AWS_SESSION_TOKEN
環境變數所覆寫。您不能將工作階段字符指定為命令列選項。aws_session_token =
AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle
-
指定用於驗證 SSL 憑證的憑證授權機構憑證套件 (副檔名為
.pem
的檔案)。可由
AWS_CA_BUNDLE
環境變數或--ca-bundle
命令列選項所覆寫。ca_bundle =
dev/apps/ca-certs/cabundle-2019mar05.pem
cli_auto_prompt
-
啟用 第 2 AWS CLI 版的自動提示。有兩種設定可以使用:
-
在您每次嘗試執行
aws
命令時,on
都會使用完整的自動提示模式。這包括在完整的命令或不完整的命令之後按下 ENTER。cli_auto_prompt = on
-
on-partial
使用部分自動提示模式。如果命令不完整或因用戶端驗證錯誤而無法執行,則會使用自動提示。如果您有預先存在的指令碼、Runbook,或是您只希望系統自動提示您不熟悉的命令 (而非針對每個命令發出提示),這個模式就特別有用。cli_auto_prompt = on-partial
您可以使用
aws_cli_auto_prompt
環境變數或--cli-auto-prompt
及--no-cli-auto-prompt
命令列參數來覆寫此設定。如需第 2 AWS CLI 版自動提示功能的資訊,請參閱 在 中啟用和使用命令提示 AWS CLI。
-
cli_binary_format
-
指定 AWS CLI 版本 2 如何解譯二進位輸入參數。它可能是以下其中一個數值:
-
base64 – 這是預設值。以二進位大型物件 (BLOB) 輸入的輸入參數接受 base64 編碼的字串。若要傳遞實際的二進位內容,請將內容放置在檔案中,並在參數值中使用
fileb://
前綴,以提供檔案路徑和名稱。若要傳遞包含在檔案中的 base64 編碼文字,請在參數值中使用file://
前綴,以提供檔案路徑和名稱。 -
raw-in-base64-out – 第 1 AWS CLI 版的預設 。如果設定的值為
raw-in-base64-out
,則會將使用file://
字首參照的檔案讀取為文字,然後 AWS CLI 嘗試將其編碼為二進位。
此項目沒有同等環境變數。您可以使用
--cli-binary-format raw-in-base64-out
參數,在單一命令上指定數值。cli_binary_format = raw-in-base64-out
如果您使用
fileb://
字首表示法參考檔案中的二進位值,則 AWS CLI 一律會預期檔案包含原始二進位內容,而不會嘗試轉換該值。如果您使用
file://
字首標記法參考檔案中的二進位值, 會根據目前的cli_binary_format
設定 AWS CLI 處理檔案。如果該設定的值為base64
(未明確設定時為預設值),則 AWS CLI 預期檔案包含 base64 編碼的文字。如果該設定的值為raw-in-base64-out
,則 AWS CLI 預期檔案包含原始二進位內容。 -
cli_history
-
預設為停用。此設定會啟用 AWS CLI命令歷史記錄。啟用此設定後, 會 AWS CLI 記錄
aws
命令的歷史記錄。cli_history = enabled
您可以使用
aws history list
命令來列出歷史記錄,並且在aws history show
命令中使用產生的command_ids
取得詳細資訊。如需詳細資訊,請參閱 AWS CLI 參考指南中的aws history
。 cli_pager
-
指定用於輸出的分頁程式。根據預設,第 2 AWS CLI 版會透過作業系統的預設分頁程式傳回所有輸出。
可以由 AWS_PAGER 環境變數所覆寫。
cli_pager=less
cli_timestamp_format
-
指定輸出包含的時間戳記值格式。您可以指定下列任一數值:
-
iso8601 – 第 2 AWS CLI 版的預設值。如果指定, 會根據 ISO 8601
AWS CLI 重新格式化所有時間戳記。 ISO 8601 格式化的時間戳記如下所示。第一個範例會以國際標準時間 (UTC)
顯示時間,方法是在時間之後併入 Z
。日期和時間使用T
分隔。2019-10-31T22:21:41Z
若要指定不同的時區,不要指定
Z
,而是指定+
或-
與距離所需 UTC 之前或之後的小時數 (兩位數形式)。下列範例顯示與前一個範例相同的時間,但調整為太平洋標準時間,它是 UTC 後八小時。2019-10-31T14:21:41-08
-
wire – AWS CLI 第 1 版的預設值。如果指定,則 AWS CLI 會顯示與 HTTP 查詢回應中所接收完全相同的所有時間戳記值。
此項目沒有同等環境變數或命令列選項。
cli_timestamp_format = iso8601
-
credential_process
-
指定 AWS CLI 執行的外部命令,以產生或擷取要用於此命令的身分驗證憑證。命令必須以特定格式傳回憑證。如需有關如何使用此設定的詳細資訊,請參閱 在 中使用外部程序來取得登入資料 AWS CLI。
此項目沒有同等環境變數或命令列選項。
credential_process =
/opt/bin/awscreds-retriever --username susan
credential_source
-
在 Amazon EC2 執行個體或容器中使用,以指定 AWS CLI 可以找到用於擔任您使用
role_arn
參數所指定角色的憑證。您無法在同一個描述檔中同時指定source_profile
和credential_source
。此參數可以有下列三個數值中的一個:
-
環境 – 指定 AWS CLI 是從環境變數擷取來源憑證。
-
Ec2InstanceMetadata – 指定 AWS CLI 是使用連接到 EC2 執行個體描述檔的 IAM 角色來取得來源憑證。
-
EcsContainer – 指定 AWS CLI 使用連接到 ECS 容器的 IAM 角色做為來源憑證。
credential_source = Ec2InstanceMetadata
-
duration_seconds
-
指定角色工作階段的最大持續時間 (以秒為單位)。此數值的範圍可以從 900 秒 (15 分鐘) 到角色的最大工作階段持續時間設定的數值 (其最大值為 43200)。這是選用參數,並且依預設,此數值會設為 3600 秒。
endpoint_url
-
指定用於所有服務要求的端點。如果在
config
檔案的 services 區段中使用此設定,則端點僅用於指定的服務。如需詳細資訊,請參閱設定所有 的全域端點 AWS 服務。以下範例使用 Amazon S3 的全域端點
http://localhost:1234
和服務特定端點http://localhost:4567
。[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567
端點優先順序
端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序。
ignore_configure_endpoint_urls
-
如果啟用, 會 AWS CLI 忽略
config
檔案中指定的所有自訂端點組態。有效值為true
和false
。ignore_configure_endpoint_urls = true
端點優先順序
端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序。
external_id
-
指定一個唯一識別符,第三方用來在其客戶帳戶擔任角色。這映射到
ExternalId
操作的AssumeRole
參數。只有在角色的信任政策指定ExternalId
的數值時,才需要此參數。如需詳細資訊,請參閱《IAM 使用者指南》中的如何在將 AWS 資源的存取權授予第三方時使用外部 ID。 max_attempts
-
指定重試 AWS CLI 處理常式使用的最大重試次數值,其中初始呼叫會計入您提供的
max_attempts
值。您可以使用
AWS_MAX_ATTEMPTS
環境變數來覆寫此數值。max_attempts =
3
mfa_serial
-
擔任角色時使用的 MFA 裝置識別碼。只有在所擔任角色的信任政策包含要求 MFA 身分驗證的條件時才具強制性。此數值可以是硬體裝置的序號 (例如
GAHT12345678
) 或虛擬 MFA 裝置的 Amazon Resource Name (ARN) (例如arn:aws:iam::123456789012:mfa/
)。user
output
-
對於請求使用此描述檔的命令,指定預設輸出格式。您可以指定下列任何數值:
可由
AWS_DEFAULT_OUTPUT
環境變數或--output
命令列選項所覆寫。output =
table
parameter_validation
-
指定 AWS CLI 用戶端是否在將參數傳送至 AWS 服務端點之前嘗試驗證參數。
-
true – 這是預設值。如果指定, 會 AWS CLI 執行命令列參數的本機驗證。
-
false – 如果指定, AWS CLI 不會在將命令列參數傳送到 AWS 服務端點之前驗證命令列參數。
此項目沒有同等環境變數或命令列選項。
parameter_validation = false
-
region
-
指定 AWS 區域 要針對使用此設定檔請求的命令傳送請求的 。
-
您可以指定可用於所選服務的任何區域程式碼,如 Amazon Web Services 一般參考 中的 AWS 區域與端點所列。
-
aws_global
可讓您為支援全域端點的服務指定全域端點,以及區域端點,例如 AWS Security Token Service (AWS STS) 和 Amazon Simple Storage Service (Amazon S3)。
您可以使用
AWS_REGION
環境變數、AWS_DEFAULT_REGION
環境變數或--region
命令列選項來覆寫此數值。region =
us-west-2
-
request_checksum_calculation
-
指定何時計算請求承載的檢查總和,並具有下列選項:
-
when_supported
– (預設) 當 操作在其服務模型中指定檢查總和演算法或需要請求檢查總和時,會計算請求承載檢查總和。 -
when_required
– 請求承載檢查總和是在 操作需要請求檢查總和時,或當使用者提供由requestAlgorithmMember
建模的 時計算 AWS 服務。
request_checksum_calculation =
when_supported
環境變數 AWS_REQUEST_CHECKSUM_CALCULATION 會覆寫此設定。
-
response_checksum_validation
-
指定對回應承載執行檢查總和驗證的時間,並具有下列選項:
-
when_supported
– (預設) 當 操作在其 AWS CLI 支援的服務模型中指定回應演算法時,會執行回應承載檢查總和驗證。 -
when_required
– 當 操作在其 AWS CLI 支援的服務模型中指定回應演算法,而且您在操作輸入ENABLED
中將模型設定為requestValidationModeMember
時,就會執行回應承載檢查總和驗證。
response_checksum_validation =
when_supported
環境變數 AWS_RESPONSE_CHECKSUM_VALIDATION 會覆寫此設定。
-
retry_mode
-
指定使用哪種重試模式 AWS CLI 。有三種可用的重試模式:傳統 (預設)、標準和自適應。如需有關重試的詳細資訊,請參閱 AWS CLI 中的重試 AWS CLI。
您可以使用
AWS_RETRY_MODE
環境變數來覆寫此數值。retry_mode =
standard
role_arn
-
指定您要用來執行 AWS CLI 命令之 IAM 角色的 Amazon Resource Name (ARN)。您還必須指定下列其中一個參數,以識別具有許可能擔任此角色的憑證:
-
source_profile
-
credential_source
role_arn = arn:aws:iam::
123456789012
:role/role-name
環境變數 AWS_ROLE_ARN 會覆寫此設定。
如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色。
-
role_session_name
-
指定要連接到角色工作階段的名稱。此數值會在
RoleSessionName
呼叫 AWS CLI 操作時提供給AssumeRole
參數,並成為所擔任角色使用者 ARN 的一部分:arn:aws:sts::
。這是選擇性的參數。若您未提供此數值,將會自動產生工作階段名稱。此名稱會出現在與此工作階段相關聯之項目的 AWS CloudTrail 日誌中。123456789012
:assumed-role/role_name
/role_session_name
role_session_name =
maria_garcia_role
環境變數 AWS_ROLE_SESSION_NAME 會覆寫此設定。
如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色。
services
-
指定要用於設定檔的服務組態。
[profile
dev-s3-specific-and-global
] endpoint_url =http://localhost:1234
services =s3-specific
[servicess3-specific
] s3 = endpoint_url =http://localhost:4567
如需
services
區段的詳細資訊,請參閱 區段類型:services。環境變數 AWS_ROLE_SESSION_NAME 會覆寫此設定。
如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色。
sdk_ua_app_id
-
單一 AWS 帳戶 可供多個客戶應用程式用來呼叫 AWS 服務。應用程式 ID 識別哪些來源應用程式使用 AWS 服務. AWS SDKs和服務進行一組呼叫,不使用或解譯此值,而不是將其呈現在客戶通訊中。例如,此值可以包含在操作電子郵件中,以唯一識別哪些應用程式與通知相關聯。
應用程式 ID 是長度上限為 50 個字元的字串。允許使用字母、數字和下列特殊字元:
! $ % & * + - . , ^ _ ` | ~
根據預設,不會指派任何值。sdk_ua_app_id =
prod1
此設定可透過使用 AWS_SDK_UA_APP_ID 環境變數來覆寫。您無法將此數值設為命令列參數。
sigv4a_signing_region_set
-
指定使用逗號分隔清單與 SigV4a 簽署時要使用的區域。如果未設定此變數, AWS CLI 會使用 所使用的預設值 AWS 服務。如果 AWS 服務 沒有預設值,則請求簽章在所有使用 值的區域中都有效
*
。sigv4a_signing_region_set =
us-west-2, us-east-1
如需 SigV4a 的詳細資訊,請參閱《IAM 使用者指南》中的 AWS API 請求的 Signature 第 4 版
此設定可透過使用 AWS_SIGV4A_SIGNING_REGION_SET 環境變數來覆寫。您無法將此數值設為命令列參數。
source_profile
-
指定具有長期憑證、 AWS CLI 可用來擔任您使用
role_arn
參數所指定角色的具名描述檔。您無法在同一個描述檔中同時指定source_profile
和credential_source
。source_profile =
production-profile
sso_account_id
-
指定包含 IAM 角色 AWS 的帳戶 ID,其中包含您要授予相關聯 IAM Identity Center 使用者的許可。
此設定沒有環境變數或命令列選項。
sso_account_id = 123456789012
sso_region
-
指定 AWS 包含 AWS 存取入口網站主機的區域。這與預設的 CLI
region
參數不同,且可以是與其不同的區域。此設定沒有環境變數或命令列選項。
sso_region = us_west-2
sso_registration_scopes
-
要針對
sso-session
授權的逗號分隔清單範圍。範圍授權對 IAM Identity Center 承載字符授權端點的存取。有效範圍是一個字串,例如sso:account:access
。這個設定不適用於舊版不可重新整理的組態設定。sso_registration_scopes = sso:account:access
sso_role_name
-
使用此設定檔時,指定定義使用者權限的 IAM 角色的易記名稱。
此設定沒有環境變數或命令列選項。
sso_role_name = ReadAccess
sso_start_url
-
指定指向組織 AWS 存取入口網站的 URL。 AWS CLI 使用此 URL 與 IAM Identity Center 服務建立工作階段,以驗證其使用者。若要尋找您的 AWS 存取入口網站 URL,請使用下列其中一項:
-
開啟您的邀請電子郵件,即會列出 AWS 存取入口網站 URL。
-
開啟 AWS IAM Identity Center 主控台,網址為 https://console.aws.amazon.com/singlesignon/
://。 AWS 存取入口網站 URL 會列在您的設定中。
此設定沒有環境變數或命令列選項。
sso_start_url =
https://my-sso-portal.awsapps.com/start
-
use_dualstack_endpoint
-
允許使用雙堆疊端點傳送 AWS 請求。若要進一步了解支援 IPv4 和 IPv6 流量的雙堆疊端點,請參閱《Amazon Simple Storage Service 使用者指南》中的使用 Amazon S3 雙堆疊端點。雙堆疊端點適用於部分區域的某些服務。如果服務或 不存在雙堆疊端點 AWS 區域,則請求會失敗。有效設定為
true
和false
。此選項根據預設為停用。如需詳細資訊,請參閱設定為所有 AWS 服務使用雙堆疊端點。這與
use_accelerate_endpoint
設定互斥。端點優先順序
端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序。
use_fips_endpoint
-
某些 AWS 服務提供端點,支援聯邦資訊處理標準 (FIPS) 140-2
AWS 區域。當 AWS 服務支援 FIPS 時,此設定會指定 AWS CLI 應使用的 FIPS 端點。與標準 AWS 端點不同,FIPS 端點使用符合 FIPS 140-2 的 TLS 軟體程式庫。會與美國政府互動的企業可能需要這些端點。如需詳細資訊,請參閱 設定為對所有 AWS 服務使用 FIP 端點。 如果啟用此設定,但 服務不存在 FIPS 端點 AWS 區域,則 AWS 命令可能會失敗。在此情況下,請使用
--endpoint-url
選項或使用服務特定端點手動指定要在命令中使用的端點。端點優先順序
端點組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。會依特定順序 AWS CLI 檢查這些端點設定,並使用優先順序最高的端點設定。如需端點優先順序清單,請參閱 端點組態和設定優先順序。
web_identity_token_file
-
指定檔案的路徑,其包含由身分提供者提供的 OAuth 2.0 存取字符或 OpenID Connect ID 字符。 AWS CLI 會載入此檔案的內容,並將其作為
WebIdentityToken
引數傳遞至AssumeRoleWithWebIdentity
操作。環境變數
AWS_WEB_IDENTITY_TOKEN_FILE
會覆寫此設定。如需使用 Web 身分的詳細資訊,請參閱 擔任具有 Web 身分的角色。
tcp_keepalive
-
指定 AWS CLI 用戶端是否使用 TCP 保持連線封包。
此項目沒有同等環境變數或命令列選項。
tcp_keepalive = false
S3 自訂命令設定
Amazon S3 支援數個設定,以設定 如何 AWS CLI 執行 Amazon S3 操作。有些適用於 s3api
和 s3
命名空間中的所有 S3 命令。其他則專用於 S3「自訂」命令,這些命令摘錄常見的操作,而不僅止於一對一映射到 API 操作。aws s3
傳輸命令 cp
、sync
、mv
和 rm
有額外設定,供您用來控制 S3 傳輸。
您可以在 config
檔案中指定 s3
巢狀設定,以設定所有這些選項。每個設定都各自一行縮排。
注意
這些設定完全是選用。您無需設定任何這些設定,就應該能夠成功使用 aws s3
傳輸命令。提供這些設定可讓您基於效能而調整,或控制您執行這些 aws
s3
命令的特定環境。
這些設定全部都在 config
檔案中的最上層 s3
索引鍵之下設定,如以下 development
描述檔的範例所示。
[profile development]
s3 =
max_concurrent_requests = 20
max_queue_size = 10000
multipart_threshold = 64MB
multipart_chunksize = 16MB
max_bandwidth = 50MB/s
use_accelerate_endpoint = true
addressing_style = path
以下設定適用於 s3
或 s3api
命名空間中的任何 S3 命令。
addressing_style
-
指定要使用的定址樣式。這控制儲存貯體名稱是否位於主機名稱或為 URL 的一部分。有效值為:
path
、virtual
和auto
。預設值為auto
。建構 Amazon S3 端點有兩種樣式。第一種稱為
virtual
,並且在主機名稱中包含儲存貯體名稱。例如:https://
。或者,如果使用bucketname
.s3.amazonaws.com.rproxy.goskope.compath
樣式,則儲存貯體名稱就如同 URI 中的路徑,例如https://s3.amazonaws.com/
。CLI 中的預設值是使用bucketname
auto
,將會儘可能嘗試使用virtual
樣式,但在需要時會回復為path
樣式。例如,如果您的儲存貯體名稱與 DNS 不相容,則儲存貯體名稱不能作為主機名稱的一部分,而必須在路徑中。使用auto
時,CLI 會偵測到這個情況,並自動切換到path
樣式。如果您將定址樣式設定為path
,則必須確保您在 中 AWS CLI 設定的 AWS 區域符合儲存貯體的區域。 payload_signing_enabled
-
指定是否以 SHA256 簽署 sigv4 承載。在預設情況下,使用 HTTPS 來串流上傳時 (
UploadPart
和PutObject
) 會停用此參數。根據預設,在串流上傳時 (UploadPart
和PutObject
),這會設定為false
,但僅限於ContentMD5
存在 (依預設會產生) 且端點使用 HTTPS 的情況。如果設定為 true,S3 請求會收到 SHA256 檢查總和形式的額外內容驗證,這是為您計算並且包含在請求簽章中。如果設定為 false,則不計算檢查總和。停用此參數有助於降低檢查總和計算所造成的效能負荷。
use_accelerate_endpoint
-
對所有
s3
和s3api
命令使用 Amazon S3 加速端點。預設值為 false。這與use_dualstack_endpoint
設定互斥。如果設定為 true, 會將所有 Amazon S3 請求 AWS CLI 導向至位於 的
S3 Accelerate
端點s3-accelerate.amazonaws.com
。若要使用這個端點,您必須啟用儲存貯體來使用S3 Accelerate
。所有請求都是使用虛擬樣式的儲存貯體定址所傳送:
。不會將任何my-bucket
.s3-accelerate.amazonaws.com.rproxy.goskope.comListBuckets
、CreateBucket
和DeleteBucket
請求傳送至 S3 加速端點,因為該端點不支援這些操作。如果將任何s3
或s3api
命令的--endpoint-url
參數設為https://s3-accelerate.amazonaws.com
或http://s3-accelerate.amazonaws.com
,也可以設定此行為。 use_dualstack_endpoint
-
允許使用雙堆疊端點傳送
s3
和s3api
請求。若要進一步了解支援 IPv4 和 IPv6 流量的雙堆疊端點,請參閱《Amazon Simple Storage Service 使用者指南》中的使用 Amazon S3 雙堆疊端點。雙堆疊端點適用於部分區域的某些服務。如果服務或 不存在雙堆疊端點 AWS 區域,則請求會失敗。有效設定為true
和false
。此選項根據預設為停用。如需詳細資訊,請參閱設定為所有 AWS 服務使用雙堆疊端點。這與
use_accelerate_endpoint
設定互斥。
以下設定只適用於 s3
命名空間命令集的命令。
max_bandwidth
-
指定往返於 Amazon S3 上傳和下載資料時可消耗的最大頻寬。預設值是無限制。
這會限制 S3 命令在往返於 Amazon S3 傳輸資料時可使用的最大頻寬。這個數值僅適用於上傳和下載,不適用於複製或刪除。數值以每秒位元組數為單位。數值可以指定為:
-
整數。例如,
1048576
將最大頻寬使用量設定為每秒 1 百萬位元組。 -
整數加上速率尾碼。您可以使用
KB/s
、MB/s
或GB/s
指定速率尾碼,例如300KB/s
和10MB/s
。
一般而言,我們建議您先降低
max_concurrent_requests
,以嘗試降低頻寬耗用量。如果這還無法將限制頻寬耗用量調到所需的速率,您可以使用max_bandwidth
設定來進一步限制頻寬耗用量。這是因為max_concurrent_requests
控制目前執行多少個執行緒。如果您先降低max_bandwidth
但保留較高的max_concurrent_requests
設置,則可能導致執行緒必須等待不必要的等待。這可能會導致過多的資源消耗和連線逾時。 -
max_concurrent_requests
-
指定並行請求數量上限。預設值為 10。
aws s3
傳輸命令是多執行緒。隨時可以執行多個 Amazon S3 請求。例如,當您使用 命令aws s3 cp localdir s3://bucket/ --recursive
將檔案上傳至 S3 儲存貯體時, AWS CLI 可以localdir/file3
平行上傳檔案localdir/file1
、localdir/file2
和 。設定max_concurrent_requests
會指定可同時執行的傳輸操作數量上限。由於幾個原因,您可能需要變更這個數值:
-
降低這個數值 – 在某些環境中,10 個並行請求的預設值可能拖垮系統。這可能導致連線逾時,或使系統的回應能力變慢。降低這個數值可讓 S3 傳輸命令耗用較少的資源。缺點是 S3 傳輸可能需要更久才會完成。如果您使用工具來限制頻寬,則可能需要降低這個數值。
-
提高這個數值 – 在某些情況下,您可能希望 Amazon S3 傳輸依需要儘量使用網路頻寬,以儘快完成。在這種情況下,預設的並行請求數量可能還不足以使用所有可用的網路頻寬。提高此數值可以縮短完成 Amazon S3 傳輸所花的時間。
-
max_queue_size
-
指定任務佇列中的任務數量上限。預設值為 1000。
AWS CLI 內部使用模型,其會將佇列排入佇列,然後由編號受限於 的消費者執行的 Amazon S3 任務
max_concurrent_requests
。任務通常會映射到單一 Amazon S3 操作。例如,任務可能是PutObjectTask
、GetObjectTask
或UploadPartTask
。任務新增到佇列的速率可比消費者完成任務的速率快很多。為了避免無限制成長,任務佇列大小會受限於特定大小。這個設定會變更該數量的上限值。您通常不需要變更此設定。此設定也對應於 AWS CLI 知道需要執行的任務數量。這表示根據預設, AWS CLI 只能看到 1000 個任務。增加此值表示 AWS CLI 可以更快地知道所需的任務總數,假設佇列率比任務完成率更快。缺點是較大的 max_queue_size 需要更多記憶體。
multipart_chunksize
-
指定 AWS CLI 用於分段傳輸個別檔案的區塊大小。預設值為 8 MB,下限為 5 MB。
當檔案傳輸超過
multipart_threshold
時, AWS CLI 會將檔案分割成此大小的區塊。指定這個數值所使用的語法與multipart_threshold
相同,包括以整數指定位元組數量,或使用大小和尾碼。 multipart_threshold
-
指定 AWS CLI 用於分段傳輸個別檔案的大小閾值。預設值為 8 MB。
當上傳、下載或複製檔案時,如果檔案超過該大小,Amazon S3 命令會切換到分段操作。您有兩種方式可以指定此數值:
-
以位元組為單位的檔案大小。例如:
1048576
。 -
附上大小尾碼的檔案大小。您可以使用
KB
、MB
、GB
或TB
,例如10MB
和1GB
。注意
對於可用於分段操作的有效值,S3 可以施加限制。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 S3 分段上傳文件。
-