本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 AWS KMS 金鑰以進行 AWS 支援 授權
索引鍵要求
密碼編譯簽署支援許可需要客戶受管 AWS KMS 金鑰。您的金鑰必須符合下列要求:
-
金鑰規格:
ECC_NIST_P384 -
金鑰用量:
SIGN_VERIFY -
金鑰必須位於與支援許可相同的 AWS 區域。
您的私有金鑰材料永遠不會離開 AWS KMS。您可以在金鑰上建立授權,允許它呼叫 DescribeKey、 GetPublicKey和 Sign。授予的範圍僅限於支援許可,並在刪除或停用支援許可時淘汰。
AWS 支援 授權如何使用您的 AWS KMS 金鑰
當您建立支援許可時,您的 AWS KMS 金鑰會以下列方式使用:
使用轉送存取工作階段
DescribeKey代表您呼叫 ,驗證金鑰是否符合所需的規格 (ECC_NIST_P384) 和用量 ()SIGN_VERIFY。CreateGrant代表您呼叫 ,在金鑰上建立授予。授予允許DescribeKey、GetPublicKey和Sign操作。當 AWS 支援 請求與現有的支援許可相符時,透過使用授予來
Sign呼叫金鑰來驗證授權。產生的簽章會驗證 AWS 支援 已獲授權可執行動作。
必要的金鑰政策陳述式
將下列政策陳述式新增至您的 AWS KMS 金鑰政策。這些是 AWS 支援 授權使用您的 金鑰所需的最低許可。
{ "Sid": "Allows access to CreateGrant through SupportAuthZ", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleRole"}, "Action": ["kms:CreateGrant"], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "supportauthz.us-east-1.amazonaws.com", "kms:GranteeServicePrincipal": "us-east-1.supportauthz.amazonaws.com", "kms:RetiringServicePrincipal": "us-east-1.supportauthz.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": ["DescribeKey", "GetPublicKey", "Sign"] }, "ArnLike": { "kms:GrantConstraintSourceArn": "arn:aws:supportauthz:us-east-1:111122223333:supportpermit/*" } } }, { "Sid": "Allows access to DescribeKey through SupportAuthZ", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleRole"}, "Action": ["kms:DescribeKey"], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "supportauthz.us-east-1.amazonaws.com" } } }
這些陳述式會授予下列許可:
- CreateGrant
-
允許建立
DescribeKey、GetPublicKey和Sign操作的授予。條件會將授予建立限制為透過 AWS 支援 授權服務提出的請求,且範圍限制為支援您帳戶中的資源。 AWS 支援 授權會使用轉送存取工作階段來呼叫CreateGrant,做為建立支援許可的一部分。 - DescribeKey
-
當您使用轉送存取工作階段建立支援許可時,允許驗證金鑰是否符合所需的規格和用量類型。
注意
111122223333 將 取代為 AWS 您的帳戶 ID,並將 us-east-1取代為您建立支援許可的 AWS 區域。
撤銷 AWS 支援 授權存取
撤銷金鑰簽署許可的建議方法是撤銷授予。這可防止進一步簽署操作,而不會影響金鑰的其他使用。
若要列出和撤銷 AWS 支援 授權的授予:
-
在金鑰上列出授予以尋找授予 ID:
aws kms list-grants \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab依其名稱或參考支援許可的
GrantConstraints來源 ARN 來識別授予。 -
撤銷授予:
aws kms revoke-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grant-id grant-id-from-list-grants
撤銷授予之後,就無法再針對使用此金鑰的任何支援許可發出新的已簽署授權。由於 AWS KMS API 遵循最終一致性模型,在變更全面可用之前,可能會有短暫的延遲 AWS KMS。
注意
撤銷授予不會刪除相關聯的支援許可。支援許可會保持在 ACTIVE 狀態,但無法為其簽署授權。授予是每個支援許可特有的。使用相同 AWS KMS 金鑰建立新的支援許可,並不會還原 AWS 支援 授權將金鑰用於原始支援許可的能力。
停用或刪除金鑰
您也可以停用或排程刪除 AWS KMS 金鑰,以防止 AWS 支援 授權發出已簽署的授權。不過,這會影響金鑰的所有使用,而不只是 AWS 支援 授權。
重要
AWS KMS 和 AWS 支援 授權最終都一致。在您停用或排程刪除金鑰後,變更最多可能需要幾分鐘才會完全生效。在此期間,可能會使用 金鑰繼續發出已簽署的授權。授予撤銷最終也一致。
如果您停用金鑰,則可以在 AWS KMS 主控台中或呼叫 來重新啟用該金鑰EnableKey。如果您刪除金鑰,則無法復原。
監控金鑰用量
當您的 AWS KMS 金鑰用於簽署授權時, AWS CloudTrail 會在金鑰的事件歷史記錄中記錄簽署操作。您可以使用這些事件來稽核代表您簽署授權的時間和頻率。