KMS 金鑰存取和許可 - AWS Key Management Service

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

KMS 金鑰存取和許可

若要使用 AWS KMS,您必須擁有 AWS 可用於驗證請求的登入資料。登入資料必須包含存取 AWS 資源 AWS KMS keys 和別名的許可。除非明確提供該許可且從未拒絕,否則任何 AWS 委託人都無權存取KMS金鑰。沒有使用或管理KMS金鑰的隱含或自動許可。

若要控制對KMS金鑰的存取,您可以使用下列政策機制。

  • 金鑰政策 – 每個KMS金鑰都有金鑰政策。它是控制存取KMS金鑰的主要機制。您可以單獨使用金鑰政策來控制存取,這表示KMS金鑰的完整存取範圍是在單一文件中定義 (金鑰政策)。如需使用金鑰政策的詳細資訊,請參閱金鑰政策

  • IAM 政策 – 您可以結合 金鑰IAM政策和 授權使用政策,以控制對KMS金鑰的存取。透過這種方式控制存取,可讓您管理 IAM 中 IAM 身分的所有許可。若要使用 IAM政策來允許存取KMS金鑰,金鑰政策必須明確允許它。如需使用 IAM 政策的詳細資訊,請參閱IAM 政策:

  • 授予 – 您可以結合金鑰政策和IAM政策使用授予,以允許存取KMS金鑰。以這種方式控制存取可讓您允許存取KMS金鑰政策中的金鑰,並允許身分將其存取權委派給其他人。如需使用授與的詳細資訊,請參閱在 中授予 AWS KMS

KMS 金鑰政策

管理 AWS KMS 資源存取權的主要方式是使用 政策。政策是描述哪些主體可以存取哪些資源的文件。連接到IAM身分的政策稱為身分型政策 (或IAM政策),連接到其他類型資源的政策稱為資源政策。適用於KMS金鑰的資源 AWS KMS 政策稱為金鑰政策

所有KMS金鑰都有金鑰政策。如果您不提供,請為您 AWS KMS 建立一個。 AWS KMS 使用 的預設金鑰政策會因您在 AWS KMS 主控台中建立金鑰或使用 而有所不同 AWS KMS API。我們建議您編輯預設金鑰政策,以符合組織對最低權限許可的要求。

如果金鑰和IAM委託人位於同一個 AWS 帳戶中,您可以單獨使用KMS金鑰政策來控制存取,這表示金鑰的完整存取範圍是在單一文件中定義 (金鑰政策)。不過,當一個帳戶中的呼叫者必須存取不同帳戶中的金鑰時,您無法單獨使用金鑰政策來授予存取權。在跨帳戶案例中,IAM政策必須連接到發起人的使用者或角色,明確允許發起人進行API呼叫。

您也可以將IAM政策與金鑰政策和授權結合使用,以控制對KMS金鑰的存取。若要使用 IAM政策來控制對KMS金鑰的存取,金鑰政策必須授予帳戶使用IAM政策的許可。您可以指定啟用IAM政策的金鑰政策陳述式,也可以在金鑰政策中明確指定允許的主體

撰寫政策時,請確定您擁有強有力的控制,限制誰可以執行下列動作:

  • 更新、建立和刪除 IAM和 KMS 金鑰政策

  • 從使用者、角色和群組連接和分離IAM政策

  • 從KMS金鑰連接和分離KMS金鑰政策

KMS 金鑰授予

除了 IAM和 金鑰政策之外, AWS KMS 還支援 授予。授予提供靈活且強大的方法來委派許可。您可以使用 授予,將有時間限制的KMS金鑰存取權授予您 AWS 帳戶中的IAM主體或其他 AWS 帳戶中的主體。如果您在建立政策時不知道委託人的名稱,或者需要存取的委託人經常變更,我們建議您發出有時間限制的存取。承授者主體可以位於與KMS金鑰相同的 帳戶中,也可以位於不同的 帳戶中。如果委託人和KMS金鑰位於不同的帳戶中,則除了授予之外,您還必須指定IAM政策。授予需要額外的管理,因為您必須呼叫 API來建立授予,並在不再需要授予時淘汰或撤銷授予。

下列主題提供如何使用 AWS Identity and Access Management (IAM) 和 AWS KMS 許可的詳細資訊,透過控制誰可以存取這些資源,協助保護您的資源。