使用 APIs 授權區域端點 IAM - Amazon Simple Storage Service

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

使用 APIs 授權區域端點 IAM

AWS Identity and Access Management (IAM) 是一種 AWS 服務 ,可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可控制誰可以進行身分驗證 (登入) 和授權 (具有許可),以在 Amazon S3 S3 資源。您可以使用 IAM,無需額外費用。

根據預設,使用者未具備執行目錄儲存貯體和 S3 Express One Zone 操作的許可。若要授予目錄儲存貯體的存取許可,您可以使用 IAM 來建立使用者、群組或角色,並將許可連接到這些身分。如需 IAM 的詳細資訊,請參閱 IAM 使用者指南中的 Word 中的安全最佳實務IAM

若要提供存取權,您可以透過下列方式新增許可至您的使用者、群組或角色:

如需 IAM for S3 Express One Zone 的詳細資訊,請參閱下列主題。

主體

當您建立資源型政策以授予儲存貯體的存取權時,您必須使用 Principal 元素來指定可對該資源提出動作或操作請求的人員或應用程式。對於目錄儲存貯體政策,您可以使用下列主體:

  • AWS 帳戶

  • IAM 使用者

  • IAM 角色

  • 聯合身分使用者

如需詳細資訊,請參閱 Principal (在 IAM 使用者指南中)

資源

目錄儲存貯體的 Amazon Resource Names (ARNs) 包含s3express命名空間、 AWS 區域、 AWS 帳戶 ID 和目錄儲存貯體名稱,其中包含可用區域 ID。若要存取目錄儲存貯體並對其執行動作,您必須使用下列 ARN 格式:

arn:aws:s3express:region:account-id:bucket/base-bucket-name--zone-id--x-s3

如需 ARNs 的詳細資訊,請參閱 Amazon Resource Names (ARNs) (在 IAM 使用者指南中) 如需 資源的詳細資訊,請參閱 JSONIAM 政策元素:Resource (在 IAM 使用者指南中)

目錄儲存貯體的動作

在 IAM 身分型政策或資源型政策中,您可以定義允許或拒絕哪些 S3 動作。動作對應至特定的 API 操作。使用目錄儲存貯體時,您可以使用 S3 Express One Zone 命名空間來授予許可。這個命名空間是 s3express

當您允許 s3express:CreateSession許可時,這可讓 API CreateSession 操作在存取 Zonal 端點 API (或物件層級) 操作時擷取工作階段權杖。這些工作階段權杖會傳回用來授予所有其他區域端點 API 操作存取權的憑證。因此,您不必使用 API 政策授予 Zonal IAM 操作的存取許可。而是由工作階段權杖啟用存取權。如需區域端點 API 操作和許可的清單,請參閱驗證和授權請求

如需區域和區域端點 API 操作的詳細資訊,請參閱 目錄儲存貯體的網路。若要進一步了解 API CreateSession 操作,請參閱 CreateSessionAmazon Simple Storage Service API 參考中。

您可以在 IAM 政策陳述式的 Action元素中指定下列動作。使用政策來授予在 AWS中執行操作的許可。當您在政策中使用動作時,通常會允許或拒絕使用相同名稱存取 API 操作。不過,在某些情況下,單一動作會控制對多個 API 操作的存取。只能在 IAM 身分型政策 (使用者或角色) 中授予對儲存貯體層級動作的存取權,而不是在儲存貯體政策中授予。

下表顯示動作和條件索引鍵。

動作 API 描述 存取層級 條件索引鍵
s3express:CreateBucket CreateBucket

授予許可來建立新儲存貯體。

寫入

s3express:authType

s3express:LocationName

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:CreateSession 區域端點 API 操作

准許建立工作階段權杖,用於授予所有區域 (物件層級) API 操作的存取權,例如 CopyObjectPutObjectGetObjectHeadBucket等。

寫入

s3express:authType

s3express:SessionMode

s3express:ResourceAccount

s3express:signatureversion

s3express:signatureAge

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:x-amz-server-side-encryption

s3express:x-amz-server-side-encryption-aws-kms-key-id

s3express:DeleteBucket DeleteBucket

准許刪除 URI 中名為 的儲存貯體。

寫入

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:DeleteBucketPolicy DeleteBucketPolicy

授予許可,以在所指定的儲存貯體上刪除政策。

許可管理

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:GetBucketPolicy GetBucketPolicy

授予許可來傳回所指定儲存貯體的政策。

讀取

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:GetEncryptionConfiguration GetBucketEncryption

准許傳回目錄儲存貯體的預設加密組態。

讀取

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:ListAllMyDirectoryBuckets ListDirectoryBuckets

授予許可來列出已驗證的請求發送者擁有的所有目錄儲存貯體。

清單

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:PutBucketPolicy PutBucketPolicy

授予許可來新增或取代儲存貯體上的儲存貯體政策。

許可管理

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:PutBucketPolicy PutBucketPolicy

授予許可來新增或取代儲存貯體上的儲存貯體政策。

許可管理

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

s3express:PutEncryptionConfiguration PutBucketEncryptionDeleteBucketEncryption

准許設定目錄儲存貯體的加密組態

寫入

s3express:authType

s3express:ResourceAccount

s3express:signatureversion

s3express:TlsVersion

s3express:x-amz-content-sha256

目錄儲存貯體的條件索引鍵

以下是可用於 IAM 政策Condition元素的條件索引鍵。您可以使用這些索引鍵來縮小套用政策陳述式的條件。

條件金鑰 Description (描述) Type
s3express:authType

依身分驗證方法篩選存取權。若要限制傳入請求使用特定身分驗證方法,您可以使用此可選條件金鑰。例如,您可以使用此條件金鑰,僅允許在請求身分驗證中使用 HTTP Authorization標頭。

有效值REST-HEADERREST-QUERY-STRING

字串
s3express:LocationName

依特定可用區域 ID CreateBucket (AZ ID) 篩選對 API 操作的存取,例如 usw2-az1

範例值:usw2-az1

字串
s3express:ResourceAccount

依資源擁有者的 AWS 帳戶 ID 篩選存取權。

若要限制使用者、角色或應用程式對特定 AWS 帳戶 ID 所擁有目錄儲存貯體的存取權,您可以使用 aws:ResourceAccounts3express:ResourceAccount 條件金鑰。您可以在 AWS Identity and Access Management (IAM) 身分政策或虛擬私有雲端 (VPC) 端點政策中使用此條件金鑰。例如,您可以使用此條件金鑰來限制 VPC 中的用戶端存取您未擁有的儲存貯體。

範例值:111122223333

字串
s3express:SessionMode

根據 API CreateSession 操作請求的許可篩選存取權。根據預設,工作階段為 ReadWrite。您可以使用此條件索引鍵將存取限於 ReadOnly,或明確拒絕 ReadWrite 存取。如需詳細資訊,請參閱 目錄儲存貯體的範例儲存貯體政策CreateSessionAmazon Simple Storage Service API 參考中。

有效值ReadWriteReadOnly

字串
s3express:signatureAge

依請求簽章的存在時間篩選存取權 (以毫秒為單位)。此條件僅適用於預先簽章的 URLs

在 AWS Signature 第 4 版中,簽署金鑰的有效期最長為七天。因此,簽章的有效期限也是最長七天。如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的簽署請求簡介。您可以使用此條件來進一步限制簽章存留期。

範例值:600000

數值
s3express:signatureversion

識別您要支援已驗證請求的 AWS Signature 版本。對於已驗證的請求,支援 Signature 第 4 版。

有效值:"AWS4-HMAC-SHA256"(識別 Signature 第 4 版)

字串
s3express:TlsVersion

依用戶端使用的 TLS 版本篩選存取權。

您可以使用 s3:TlsVersion 條件金鑰來撰寫 IAM、虛擬私有雲端端點 (VPCE) 或儲存貯體政策,以根據用戶端使用的 TLS 版本限制使用者或應用程式對目錄儲存貯體的存取。您也可以使用此條件金鑰來撰寫需要最低 TLS 版本的政策。

範例值:1.3

數值
s3express:x-amz-content-sha256

依儲存貯體中未簽署的內容篩選存取權。

您可以使用此條件金鑰以不允許在儲存貯體中未簽署的內容。

當您使用第 4 版簽署程序時,針對使用 Authorization 標頭的請求,會在簽署計算中新增 x-amz-content-sha256 標頭,然後將其值設定為雜湊承載。

您可以在儲存貯體政策中使用此條件索引鍵,拒絕任何尚未簽署承載的上傳項目。例如:

有效值:UNSIGNED-PAYLOAD

字串
s3express:x-amz-server-side-encryption

依伺服器端加密篩選存取權

有效值"AWS256"aws:kms

字串
s3express:x-amz-server-side-encryption-aws-kms-key-id

依 AWS KMS 客戶受管金鑰篩選存取權以進行伺服器端加密

範例值:"arn:aws:kms:region:acct-id:key/key-id"

ARN