本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS 定義全域條件金鑰,這是一組政策條件金鑰,適用於使用 IAM 進行存取控制的所有 AWS 服務。 AWS KMS 支援所有全域條件金鑰。您可以在 AWS KMS 金鑰政策和 IAM 政策中使用它們。
例如,您可以使用 aws:PrincipalArn 條件索引鍵,僅在請求中之主體的表示方式是條件索引鍵值中的 Amazon Resource Name (ARN) 時,允許存取 AWS KMS key (KMS 金鑰)。若要在 中支援屬性型存取控制 (ABAC) AWS KMS,您可以在 IAM 政策中使用 aws:ResourceTag/tag-key 全域條件金鑰,以允許存取具有特定標籤的 KMS 金鑰。
為了協助防止 AWS 服務在委託人為AWS 服務委託人的政策中用作混淆代理人,您可以使用 aws:SourceArn或 aws:SourceAccount全域條件金鑰。如需詳細資訊,請參閱 使用 aws:SourceArn 或 aws:SourceAccount 條件金鑰。
如需 AWS 全域條件金鑰的相關資訊,包括可用的請求類型,請參閱《IAM 使用者指南》中的AWS 全域條件內容金鑰。如需 IAM 政策中使用全域條件索引鍵的範例,請參閱《IAM 使用者指南》中的控制對請求的存取和控制標籤索引鍵。
下列主題提供的特殊指導,讓您能根據 IP 位址和 VPC 端點來使用條件金鑰。
在政策中使用 IP 地址條件搭配 AWS KMS 許可
您可以使用 AWS KMS 來保護整合 AWS 服務中的資料。但是,在允許或拒絕存取的相同政策陳述式中指定 IP 地址條件運算子或aws:SourceIp
條件索引鍵時,請務必小心 AWS KMS。例如, 中的政策AWS: AWS 根據來源 IP 拒絕對 的存取,將 AWS 動作限制為來自指定 IP 範圍的請求。
考慮以下情形:
-
您可以連接類似 的政策AWS: AWS 根據來源 IP 拒絕存取 到 IAM 身分。您將
aws:SourceIp
條件金鑰的值設定為使用者公司的 IP 地址範圍。這個 IAM 身分還有其他連接的政策,允許他使用 Amazon EBS、Amazon EC2 和 AWS KMS。 -
該身分嘗試將加密的 EBS 磁碟區連接到 EC2 執行個體。即使使用者有權使用所有相關的服務,這個動作仍會失敗,發生授權錯誤。
步驟 2 失敗,因為 AWS KMS 向 請求解密磁碟區的加密資料金鑰,來自與 Amazon EC2 基礎設施相關聯的 IP 地址。若要成功,請求必須來自原始使用者的 IP 地址。由於步驟 1 中的政策明確拒絕來自指定 IP 地址以外的所有請求,因此 Amazon EC2 被拒絕解密 EBS 磁碟區之加密資料金鑰的許可。
此外,當請求來自 Amazon VPC 端點時,aws:sourceIP
條件索引鍵無效。若要將請求限制為 VPC 端點 (包含 AWS KMS VPC 端點),請使用 aws:sourceVpce
或 aws:sourceVpc
條件金鑰。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的 VPC 端點 - 控制端點的使用。
在政策中使用 VPC 端點條件搭配 AWS KMS
許可
AWS KMS 支援採用 PrivateLink 技術的 Amazon Virtual Private Cloud (Amazon VPC) 端點。 AWS PrivateLink 您可以在金鑰政策和 IAM 政策中使用下列全域條件金鑰,在請求來自 VPC 或使用 VPC 端點時控制對 AWS KMS 資源的存取。如需詳細資訊,請參閱 使用 VPC 端點控制對 AWS KMS 資源的存取。
-
aws:SourceVpc
會限制對指定 VPC 所發出之請求的存取權。 -
aws:SourceVpce
會限制對指定 VPC 端點所發出之請求的存取權。
如果您使用這些條件金鑰來控制對 KMS 金鑰的存取,您可能會不小心拒絕 AWS KMS 存取代表您使用 AWS 的服務。
請注意避免 IP 地址條件金鑰範例這樣的狀況。如果您將 KMS 金鑰的請求限制為 VPC 或 VPC 端點,則 AWS KMS 從 Amazon S3 或 Amazon EBS 等整合服務呼叫 可能會失敗。即使來源請求最終源自 VPC 或來自 VPC 端點,也會發生這種情況。