本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將標籤與目錄儲存貯體的 S3 存取點搭配使用
AWS 標籤是金鑰值對,其中包含有關 資源的中繼資料,在此情況下為目錄儲存貯體的 Amazon S3 存取點。您可以在建立存取點或管理現有存取點上的標籤時標記存取點。如需標籤的一般資訊,請參閱 成本分配或屬性型存取控制 (ABAC) 的標記。
注意
對於超出標準 S3 API 請求率的目錄儲存貯體,在存取點上使用標籤不會產生額外費用。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價
使用標籤與目錄儲存貯體存取點的常見方法
屬性型存取控制 (ABAC) 可讓您擴展存取許可,並根據目錄儲存貯體的標籤授予存取點存取權。如需 Amazon S3 中 ABAC 的詳細資訊,請參閱使用 ABAC 標籤。
S3 存取點的 ABAC
Amazon S3 存取點支援使用標籤的屬性型存取控制 (ABAC)。在您的 AWS 組織、IAM 和存取點政策中使用標籤型條件金鑰。對於企業,Amazon S3 中的 ABAC 支援跨多個 AWS 帳戶進行授權。
在 IAM 政策中,您可以使用下列全域條件金鑰,根據儲存貯體的標籤來控制目錄儲存貯體存取點的存取:
-
aws:ResourceTag/key-name
-
使用此鍵來將您在政策中所指定的標籤鍵值對與連接到資源的鍵值對進行比較。例如,您可以要求只在資源擁有連接標籤鍵
Dept
和值Marketing
時才允許資源的存取。如需詳細資訊,請參閱控制 AWS 資源的存取。
-
-
aws:RequestTag/key-name
-
使用此鍵來將請求中傳遞的標籤鍵/值對與您在政策中所指定的標籤對進行比較。例如,您可以檢查請求是否包含標籤鍵
Dept
並且其具有值Accounting
。如需詳細資訊,請參閱在AWS 請求期間控制存取。您可以使用此條件索引鍵來限制在TagResource
和CreateAccessPoint
API 操作期間可以傳遞哪些標籤索引鍵/值對。
-
-
aws:TagKeys
-
使用此鍵來將請求中的標籤鍵與您在政策中所指定的鍵進行比較。當使用政策來控制使用標籤的存取時,建議您使用
aws:TagKeys
條件鍵來定義允許的標籤鍵。如需範例政策和詳細資訊,請參閱根據標籤索引鍵控制存取。您可以為具有標籤的目錄儲存貯體建立存取點。若要在CreateAccessPoint
API 操作期間允許標記,您必須建立同時包含s3express:TagResource
和s3express:CreateAccessPoint
動作的政策。然後,您可以使用aws:TagKeys
條件金鑰來強制執行在CreateAccessPoint
請求中使用特定標籤。
-
-
s3express:AccessPointTag/tag-key
-
使用此條件金鑰,透過使用標籤的存取點授予特定資料的許可。在 IAM 政策
aws:ResourceTag/tag-key
中使用 時,存取點和存取點指向的儲存貯體都必須具有與授權期間同時考慮的相同標籤。如果您只想要透過存取點標籤來控制對資料的存取,您可以使用s3express:AccessPointTag/tag-key
條件金鑰。
-
目錄儲存貯體存取點的 ABAC 政策範例
請參閱下列適用於目錄儲存貯體存取點的 ABAC 政策範例。
1.1 - 使用特定標籤建立或修改存取點的 IAM 政策
在此 IAM 政策中,具有此政策的使用者或角色只有在存取點在存取點建立請求Trinity
中以標籤索引鍵project
和標籤值標記存取點時,才能建立存取點。只要TagResource
請求包含標籤鍵/值對 ,他們也可以在目錄儲存貯體的現有存取點上新增或修改標籤project:Trinity
。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3express:CreateAccessPoint", "s3express:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "
Trinity
" ] } } } ] }
1.2 - 使用標籤限制儲存貯體操作的存取點政策
在此存取點政策中,只有在存取點project
標籤的值符合主體project
標籤的值時,IAM 主體 (使用者和角色) 才能在存取點上使用 CreateSession
動作來執行操作。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "
111122223333
" }, "Action": "s3express:CreateSession", "Resource": "arn:aws::s3express:region
:111122223333
:access-point/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
my-access-point
1.3 - 修改現有資源上的標籤以維護標記管理的 IAM 政策
在此 IAM 政策中,只有在存取點標籤的值符合主體project
標籤的值時,IAM 主體 (使用者或角色) 才能修改存取點上的project
標籤。這些存取點只允許aws:TagKeys
條件索引鍵中cost-center
指定的四個標籤 project
environment
owner
、、 和 。這有助於強制執行標籤控管、防止未經授權的標籤修改,並使標記結構描述在您的存取點之間保持一致。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3express:TagResource" ], "Resource": "arn:aws::s3express:
region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "
my-access-point
project
", "environment
", "owner
", "cost-center
" ] } } } ] }
1.4 - 使用 s3express:AccessPointTag 條件金鑰
在此 IAM 政策中,只有在用於存取儲存貯體的存取點具有標籤索引鍵 Environment
和標籤值 時, 條件陳述式才會允許存取儲存貯體的資料Production
。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3express:
region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "s3express:AccessPointTag/Environment": "Production" } } } ] }
my-access-point
使用目錄儲存貯體存取點的標籤
您可以使用 Amazon S3 主控台、 AWS 命令列界面 (CLI)、 AWS SDKs 或使用 S3 APIs 來新增或管理目錄儲存貯體的存取點標籤:TagResource、UntagResource 和 ListTagsForResource。如需詳細資訊,請參閱: