選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

ABAC for AWS KMS

焦點模式
ABAC for AWS KMS - AWS Key Management Service

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

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

屬性型存取控制 (ABAC) 是一種授權策略,可根據屬性定義許可。 AWS KMS 支援 ABAC,可讓您根據與 KMS 金鑰相關聯的標籤和別名來控制對客戶受管金鑰的存取。在 中啟用 ABAC 的標籤和別名條件索引鍵 AWS KMS 提供強大且靈活的方式,可授權主體使用 KMS 索引鍵,而無需編輯政策或管理授予。但是,您應該謹慎使用這些功能,避免委託人意外被允許或拒絕存取。

如果您使用 ABAC,請注意管理標籤和別名的許可現在是存取控制許可。部署依存於標籤或別名的政策之前,請務必先知曉所有 KMS 金鑰上的現有標籤和別名。新增、刪除和更新別名,以及標記和取消標記金鑰時,請採取合理的預防措施。只將管理標籤和別名的許可授予需要的委託人,並限制他們可以管理的標籤和別名。

備註

使用 ABAC for 時 AWS KMS,請謹慎授予主體管理標籤和別名的許可。變更標籤或別名可能會允許或拒絕 KMS 金鑰的許可。沒有變更主要政策或建立授權之許可的重要管理員可以控制 KMS 金鑰的存取,如果他們擁有管理標籤或別名的許可。

可能最多需要五分鐘才能將標籤和別名變更體現在 KMS 金鑰授權上。最近的變更可能會在 API 操作中可見,然後才會影響授權。

若要根據 KMS 金鑰的別名來控制對 KMS 金鑰的存取,您必須使用條件索引鍵。您不能使用別名來代表政策陳述式 Resource 元素中的 KMS 金鑰。當別名出現在 Resource 元素時,政策陳述式會套用至別名,而不是相關聯的 KMS 金鑰。

進一步了解

的 ABAC 條件金鑰 AWS KMS

若要根據 KMS 金鑰的標籤和別名授權存取,請在金鑰政策或 IAM 政策中使用下列條件索引鍵。

ABAC 條件索引鍵 描述 Policy type (政策類型) AWS KMS 操作
aws:ResourceTag KMS 金鑰上的標籤 (鍵和值) 與政策中的標籤 (鍵和值) 或標籤模式相符 僅限 IAM 政策 KMS 金鑰資源操作 2
aws:RequestTag/tag-key 請求中的標籤 (鍵和值) 與政策中的標籤 (鍵和值) 或標籤模式相符 金鑰政策和 IAM 政策 1 TagResourceUntagResource
aws:TagKeys 請求中的標籤索引鍵與政策中的標籤索引鍵相符 金鑰政策和 IAM 政策 1 TagResourceUntagResource
kms:ResourceAliases 與 KMS 金鑰相關聯的別名符合政策中的別名或別名模式 僅限 IAM 政策 KMS 金鑰資源操作 2
kms:RequestAlias 代表請求中 KMS 金鑰的別名與政策中的別名或別名模式相符。 金鑰政策和 IAM 政策 1 Cryptographic operationsDescribeKeyGetPublicKey

1 可在金鑰政策中使用的任何條件索引鍵也可以在 IAM 政策中使用,但只能在金鑰政策允許的情形下。

2KMS 金鑰資源操作是針對特定 KMS 金鑰授權的操作。若要識別 KMS 金鑰資源操作,請在 AWS KMS 許可表中尋找 Resources 欄 KMS 金鑰的值,以執行操作。

例如,您可以使用這些條件索引鍵來建立下列政策。

  • 具有 kms:ResourceAliases 的 IAM 政策,允許使用具有特定別名或別名模式的 KMS 金鑰的許可。這與依賴標籤的政策略有不同:雖然您可以在政策中使用別名模式,但 AWS 帳戶 和 區域中的每個別名都必須是唯一的。這可讓您將政策套用至一組精選 KMS 金鑰,而不會在政策陳述式中列出 KMS 金鑰的金鑰 ARN。若要為集合新增 KMS 金鑰或從中移除 KMS 金鑰,請變更 KMS 金鑰的別名。

  • 具有 kms:RequestAlias 的金鑰政策允許委託人在 Encrypt 操作中使用 KMS 金鑰,但僅在 Encrypt 請求會使用該別名來識別 KMS 金鑰的情形下。

  • 具有 aws:ResourceTag/tag-key 的 IAM 政策拒絕將 KMS 金鑰與特定標籤索引鍵和標籤值使用的許可。這可讓您將政策套用至一組精選 KMS 金鑰,而不會在政策陳述式中列出 KMS 金鑰的金鑰 ARN。若要為集合新增 KMS 金鑰或從中移除 KMS 金鑰,請標記或取消標記 KMS 金鑰。

  • 具有 aws:RequestTag/tag-key 的 IAM 政策允許委託人只刪除 "Purpose"="Test" KMS 金鑰標籤。

  • 具有 aws:TagKeys 的 IAM 政策拒絕使用 Restricted 標籤索引鍵標記或取消標記 KMS 金鑰的許可。

ABAC 讓存取管理具有靈活性和可擴展性。例如,您可以使用 aws:ResourceTag/tag-key 條件索引鍵來建立 IAM 政策,此政策只允許委託人在 KMS 金鑰具有 Purpose=Test 標籤時針對特定操作使用 KMS 金鑰。此政策適用於 AWS 帳戶所有區域中的所有 KMS 金鑰。

當連接至使用者或角色時,下列 IAM 政策允許委託人將所有現有的 KMS 金鑰與 Purpose=Test 標籤搭配用於指定的操作。若要將此存取權提供給新的或現有的 KMS 金鑰,則您不需要變更政策。只需將 Purpose=Test 標籤連接至 KMS 金鑰。同樣地,若要從具有 Purpose=Test 標籤的 KMS 金鑰中移除此存取權,請編輯或刪除標籤。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }

但是,如果您使用此功能,則請謹慎管理標籤和別名。新增、變更或刪除標籤或別名可能會意外允許或拒絕對 KMS 金鑰的存取。如果他們有管理標籤和別名的許可,則沒有變更主要政策或建立授予之許可的金鑰管理員可以控制對 KMS 金鑰的存取。為了減輕這種風險,請考慮限制管理標籤的許可別名。例如,您可能只允許選取的委託人管理 Purpose=Test 標籤。如需詳細資訊,請參閱 使用別名來控制對 KMS 金鑰的存取使用標籤來控制對 KMS 金鑰的存取

標籤或別名?

AWS KMS 支援具有標籤和別名的 ABAC。這兩種選項都提供靈活、可擴展的存取控制策略,但彼此略有不同。

您可以根據您的特定 AWS 使用模式決定使用標籤或使用別名。例如,如果您已將標記許可指定給大多數管理員,則根據別名來控制授權策略可能會比較容易。或者,如果接近每個 KMS 金鑰的別名配額,則您可能會偏好基於標籤的授權策略。

以下是一般利益的優勢。

標籤型存取控制的優勢

  • 不同類型的 AWS 資源的相同授權機制。

    您可以使用相同的標籤或標籤金鑰來控制對多種資源類型的存取,例如 Amazon Relational Database Service (Amazon RDS) 叢集、Amazon Elastic Block Store (Amazon EBS) 磁碟區和 KMS 金鑰。此功能可啟用數種不同的授權模式,這些模式比傳統的角色型存取控制更靈活。

  • 授權一組 KMS 金鑰的存取權。

    您可以使用標籤來管理對相同 AWS 帳戶 和區域中一組 KMS 金鑰的存取。將相同的標籤或標籤金鑰指派給您選擇的 KMS 金鑰。然後建立以標籤或標籤索引鍵為基礎的簡單、易於維護的政策陳述式。若要為授權群組新增 KMS 金鑰或從中移除金鑰,請新增或移除標籤;您無需編輯政策。

別名型存取控制的優勢

  • 根據別名授權存取密碼編譯操作。

    大部分屬性的請求型政策條件,包括 aws:RequestTag/tag-key,僅影響新增、編輯或刪除屬性的操作。但 kms:RequestAlias 條件索引鍵根據用於識別請求中 KMS 金鑰的別名控制對密碼編譯操作的存取。例如,您可以授予委託人在 Encrypt 操作中使用 KMS 金鑰的許可,但僅在 KeyId 參數值為 alias/restricted-key-1 的情形下。若要滿足此條件,需要下列所有項目:

    • KMS 金鑰必須與該別名相關聯。

    • 請求必須使用別名來識別 KMS 金鑰。

    • 委託人必須擁有許可才能使用受限於 kms:RequestAlias 條件的 KMS 金鑰。

    如果您的應用程式通常使用別名名稱或別名 ARN 來引用 KMS 金鑰,則這會特別有用。

  • 提供非常有限的許可。

    別名在 AWS 帳戶 和 區域中必須是唯一的。因此,授予委託人根據別名存取 KMS 金鑰的許可,可能比為委託人授予標籤型存取權更嚴格。與別名不同的是,標籤可指派給相同帳戶和區域中的多個 KMS 金鑰。如果選擇,則您可以使用別名模式,例如 alias/test*,讓委託人可以存取相同帳戶和區域中的一組 KMS 金鑰。不過,允許或拒絕存取特定別名,實現了對 KMS 金鑰非常嚴格的控制。

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。