本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Identity and Access Management 適用於 S3 快遞單一區域的 (IAM)
AWS Identity and Access Management (IAM) 可協助管理員安全地控制 AWS 資源存取權。 AWS 服務 IAM 管理員可控制哪些人員可進行身分驗證 (登入) 並獲得授權 (具有許可),以使用 S3 Express One Zone 中的 Amazon S3 資源。您可以免費使用 IAM。
根據預設,使用者未具備執行目錄儲存貯體和 S3 Express One Zone 操作的許可。若要授予存取目錄儲存貯體的許可,您可以使用 IAM 建立使用者、群組或角色,並將許可附加至這些身分。如需有關 IAM 的詳細資訊,請參閱《IAM 使用者指南》中的 IAM 安全最佳實務。
若要提供存取權,您可以透過下列方式新增許可至您的使用者、群組或角色:
-
中的使用者和群組 AWS IAM Identity Center — 建立權限集。請遵循《AWS IAM Identity Center 使用者指南》的建立許可集合中的指示。
-
IAM 中透過身分提供者管理的使用者:建立聯合身分的角色。請遵循《IAM 使用者指南》的為第三方身分提供者 (聯合) 建立角色中的指示。
-
IAM 角色和使用者:建立您的使用者可擔任的角色。請依照《IAM 使用者指南》中的建立角色以將許可委派給 IAM 使用者的指示進行。
根據預設,目錄儲存貯體為私有,只有明確獲得存取權的使用者才能存取。目錄儲存貯體的存取控制界限只會在儲存貯體層級設定。相反地,一般用途儲存貯體的存取控制界限可在儲存貯體、字首或物件標籤層級設定。這個差異表示,目錄儲存貯體是唯一可以包含在儲存貯體政策或 IAM 身分政策中,以提供 S3 Express One Zone 存取權的資源。
使用 S3 Express One Zone 時,除了 IAM 授權之外,您還可以透過 CreateSession
API 操作所處理的新工作階段型機制來驗證和授權請求。您可以使用 CreateSession
請求臨時憑證來提供低延遲的儲存貯體存取。這些臨時憑證的範圍會設為特定目錄儲存貯體。
若要使用CreateSession
,我們建議您使用最新版本的 AWS SDK 或使用 AWS Command Line Interface (AWS CLI)。支援的 AWS SDK 以及代表您建立、重新整 AWS CLI 理和終止工作階段。
工作階段權杖只能搭配區域 (物件層級) 操作 (CopyObject
和 HeadBucket
除外) 使用,將與授權相關的延遲分散到工作階段中的數個請求。對於區域端點 API 操作 (儲存貯體層級操作),您可以使用不涉及管理工作階段的 IAM 授權。如需詳細資訊,請參閱 AWS Identity and Access Management 適用於 S3 快遞單一區域的 (IAM) 及 CreateSession 授權。
如需有關適用於 S3 Express One Zone 的 IAM 的詳細資訊,請參閱下方主題。
主體
當您建立資源型政策以授予儲存貯體的存取權時,您必須使用 Principal
元素來指定可對該資源提出動作或操作請求的人員或應用程式。對於目錄儲存貯體政策,您可以使用下列主體:
-
一個 AWS 帳戶
-
IAM 使用者
-
IAM 角色
-
聯合身分使用者
如需詳細資訊,請參閱《IAM 使用者指南》中的 Principal。
資源
目錄儲存貯體的 Amazon 資源名稱 (ARN) 包含s3express
命名空間 AWS 區域、 AWS 帳戶 ID 和目錄值區名稱,其中包括可用區域 ID。若要存取並對目錄儲存貯體執行動作,您必須使用下列 ARN 格式:
arn:aws:s3express:
region
:account-id
:bucket/base-bucket-name
--azid
--x-s3
如需有關 ARN 的詳細資訊,請參閱《IAM 使用者指南》中的 Amazon Resource Names (ARNs)。如需有關資源的詳細資訊,請參閱《IAM 使用者指南》中的 IAM JSON 政策元素︰Resource。
S3 Express One Zone 的動作
在 IAM 身分型政策或資源型政策中,您可以定義可允許或拒絕哪些 S3 動作。S3 Express One Zone 動作對應於特定 API 操作。S3 Express One Zone 具有唯一的 IAM 命名空間,與 Amazon S3 的標準命名空間有所區別。這個命名空間是 s3express
。
當您允許 s3express:CreateSession
許可時,這可讓 CreateSession
API 操作在存取區域端點 API (也就是物件層級) 操作時擷取工作階段權杖。這些工作階段權杖會傳回憑證,可用來授予所有其他區域端點 API 操作的存取權。因此,您不需要使用 IAM 政策授予存取區域 API 操作的許可。而是由工作階段權杖啟用存取權。
如需區域 (Zone) 和區域 (Region) 端點 API 操作的詳細資訊,請參閱 S3 Express One Zone 的網路功能。若要進一步了解 CreateSession
API 操作,請參閱《Amazon Simple Storage Service API 參考》中的 CreateSession。
您可在 IAM 政策陳述式的 Action
元素中指定以下動作。使用政策來授予在 AWS中執行操作的許可。在政策中使用動作時,通常會允許或拒絕存取相同名稱的 API 操作。不過,在某些情況下,單一動作可控制對多個 API 操作的存取。儲存貯體層級動作的存取權只能在 IAM 身分型政策 (使用者或角色) 中授予,無法在儲存貯體政策中授予。
S3 Express One Zone 的動作和條件索引鍵 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
動作 | API | 描述 | 存取層級 | 條件索引鍵 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
CreateBucket |
授予許可來建立新儲存貯體。 |
寫入 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:CreateSession |
CreateSession |
授予許可來建立工作階段權杖,此權杖用於授予所有區域 (物件層級) API 操作的存取權,例如 |
寫入 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:DeleteBucket |
DeleteBucket |
授予許可來刪除 URI 中命名的儲存貯體。 |
寫入 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:DeleteBucketPolicy |
DeleteBucketPolicy |
授予許可,以在所指定的儲存貯體上刪除政策。 |
許可管理 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:GetBucketPolicy |
GetBucketPolicy |
授予許可來傳回所指定儲存貯體的政策。 |
讀取 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:ListAllMyDirectoryBuckets |
ListDirectoryBuckets |
授予許可來列出已驗證的請求發送者擁有的所有目錄儲存貯體。 |
清單 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
s3express:PutBucketPolicy |
PutBucketPolicy |
授予許可來新增或取代儲存貯體上的儲存貯體政策。 |
許可管理 |
|
S3 Express One Zone 的條件索引鍵
S3 Express One Zone 定義了下列條件索引鍵,可在 IAM 政策的 Condition
元素中使用。您可以使用這些索引鍵來縮小套用政策陳述式的條件。
條件金鑰 | 描述 | Type |
---|---|---|
s3express:authType |
依身分驗證方法篩選存取權。若要限制傳入請求使用特定身分驗證方法,您可以使用此可選條件金鑰。例如,您可以使用此條件金鑰,僅允許 HTTP 有效值: |
字串 |
s3express:LocationName |
依特定可用區域 ID (AZ ID) 篩選對 範例值: |
字串 |
s3express:ResourceAccount |
依資源擁有者 AWS 帳戶 ID 篩選存取。 若要限制使用者、角色或應用程式存取特定 AWS 帳戶 ID 所擁有的目錄值區,您可以使用 範例值: |
字串 |
s3express:SessionMode |
依 有效值: |
字串 |
s3express:signatureAge |
依請求簽章的存在時間篩選存取權 (以毫秒為單位)。此條件僅適用於預先簽章 URL。 在 AWS 簽名版本 4 中,簽名密鑰的有效期最多為七天。因此,簽章的有效期限也是最長七天。如需詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的「簽署請求簡介」。您可以使用此條件來進一步限制簽章存留期。 範例值: |
數值 |
s3express:signatureversion |
識別您要支援已驗證要求的 AWS 簽章版本。對於已驗證的請求,S3 Express One Zone 支援第 4 版簽署程序。 有效值: |
字串 |
s3express:TlsVersion |
依用戶端所使用的 TLS 版本篩選存取權。 您可以使用 範例值: |
數值 |
s3express:x-amz-content-sha256 |
依儲存貯體中未簽署的內容篩選存取權。 您可以使用此條件金鑰以不允許在儲存貯體中未簽署的內容。 當您使用第 4 版簽署程序時,針對使用 您可以在儲存貯體政策中使用此條件索引鍵,拒絕任何尚未簽署承載的上傳項目。例如:
有效值: |
字串 |
如何授權和驗證 API 操作
下表列出 S3 Express One Zone API 操作的授權和身分驗證資訊。對於每項 API 操作,資料表會顯示 API 操作名稱、IAM 動作、端點類型 (區域 (Region) 或區域 (Zone)) 以及授權機制 (IAM 或工作階段型)。此資料表也會指出支援跨帳户存取權的位置。儲存貯體層級動作的存取權只能在 IAM 身分型政策 (使用者或角色) 中授予,無法在儲存貯體政策中授予。
API | 端點類型 | IAM 動作 | 跨帳戶存取權 |
---|---|---|---|
CreateBucket |
區域性 | s3express:CreateBucket |
否 |
DeleteBucket |
區域性 | s3express:DeleteBucket |
否 |
ListDirectoryBuckets |
區域性 | s3express:ListAllMyDirectoryBuckets |
否 |
PutBucketPolicy |
區域性 | s3express:PutBucketPolicy |
否 |
GetBucketPolicy |
區域性 | s3express:GetBucketPolicy |
否 |
DeleteBucketPolicy |
區域性 | s3express:DeleteBucketPolicy |
否 |
CreateSession |
區域 | s3express:CreateSession |
是 |
CopyObject |
區域 | s3express:CreateSession |
是 |
DeleteObject |
區域 | s3express:CreateSession |
是 |
DeleteObjects |
區域 | s3express:CreateSession |
是 |
HeadObject |
區域 | s3express:CreateSession |
是 |
PutObject |
區域 | s3express:CreateSession |
是 |
GetObjectAttributes |
區域 | s3express:CreateSession |
是 |
ListObjectsV2 |
區域 | s3express:CreateSession |
是 |
HeadBucket |
區域 | s3express:CreateSession |
是 |
CreateMultipartUpload |
區域 | s3express:CreateSession |
是 |
UploadPart |
區域 | s3express:CreateSession |
是 |
UploadPartCopy |
區域 | s3express:CreateSession |
是 |
CompleteMultipartUpload |
區域 | s3express:CreateSession |
是 |
AbortMultipartUpload |
區域 | s3express:CreateSession |
是 |
ListParts |
區域 | s3express:CreateSession |
是 |
ListMultipartUploads |
區域 | s3express:CreateSession |
是 |