本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用API級別(S3API)命令 AWS CLI
API級別命令(包含在 s3api 命令集)可直接訪問 Amazon Simple Storage Service (Amazon S3)API,並啓用一些不暴露在高級別的操作 s3 命令。這些命令等同於對服務功能提供 API 層級存取的其他 AWS 服務。
本主題提供範例,示範如何使用對應到 Amazon S3 API 的較低層級命令。此外,您還可以在 CLI參考指南的S3API部分.
在執行任何命令前,請先設定您的預設登入資料。如需詳細資訊,請參閱設定 AWS CLI.
套用自訂 ACL
使用高級命令,您可以使用 --acl 選項應用預定義訪問控制列表(ACL)到 Amazon S3 對象。但不能使用該命令來設定整個儲存貯體的 ACL。但是,您可以使用 put-bucket-acl API級別命令。
以下示例顯示如何將全控制授予兩個 AWS 用戶(用戶1@example.com 和 user2@example.com)並且已閱讀對每個人的權限。"everyone" 的識別符來自您當做參數傳遞的特殊 URI。
$aws s3api put-bucket-acl --bucket MyBucket --grant-full-control 'emailaddress="user1@example.com",emailaddress="user2@example.com"' --grant-read 'uri="http://acs.amazonaws.com/groups/global/AllUsers"'
有關如何構建ACL的詳細信息,請參閱 put池ACL 在 Amazon Simple Storage Service API Reference. TheThethe s3api CLI中的ACL命令,例如 put-bucket-acl,使用相同的 短信參數標記.
設定記錄政策
API命令 put-bucket-logging 配置桶記錄策略。
在以下示例中,AWS用戶 用戶@example.com 已授權對日誌文件進行全面控制,並且所有用戶都可以讀取訪問權限。請注意, put-bucket-acl 命令還需要授予 Amazon S3 日誌遞送系統(由URI指定)讀取和寫入日誌到桶的權限。
$aws s3api put-bucket-acl --bucket MyBucket --grant-read-acp 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"' --grant-write 'URI="http://acs.amazonaws.com/groups/s3/LogDelivery"'
$aws s3api put-bucket-logging --bucket MyBucket --bucket-logging-status file://logging.json
TheThethe logging.json 上一命令中的文件包含以下內容。
{
"LoggingEnabled": {
"TargetBucket": "MyBucket",
"TargetPrefix": "MyBucketLogs/",
"TargetGrants": [
{
"Grantee": {
"Type": "AmazonCustomerByEmail",
"EmailAddress": "user@example.com"
},
"Permission": "FULL_CONTROL"
},
{
"Grantee": {
"Type": "Group",
"URI": "http://acs.amazonaws.com/groups/global/AllUsers"
},
"Permission": "READ"
}
]
}
}