本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
下列程式碼範例示範如何使用 PutKeyPolicy
。
- AWS CLI
-
變更 KMS 金鑰的金鑰政策
下列
put-key-policy
範例會變更客戶受管金鑰的金鑰政策。若要開始,請建立金鑰政策並將其儲存在本機 JSON 檔案中。在此範例中,檔案為
key_policy.json
。您也可以指定金鑰政策做為policy
參數的字串值。此金鑰政策中的第一個陳述式提供 AWS 帳戶使用 IAM 政策來控制對 KMS 金鑰的存取的許可。第二個陳述式提供
test-user
使用者在 KMS 金鑰上執行describe-key
和list-keys
命令的許可。key_policy.json
的內容:{ "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:DescribeKey", "kms:ListKeys" ], "Resource" : "*" } ] }
若要識別 KMS 金鑰,此範例會使用金鑰 ID,但您也可以使用金鑰 ARN。若要指定金鑰政策,命令會使用
policy
參數。若要指出政策位於 檔案,會使用必要的file://
字首。識別所有支援的作業系統上的檔案時,需要此字首。最後, 命令會使用 值為 的policy-name
參數default
。如果未指定政策名稱,預設值為default
。唯一有效的值為default
。aws kms put-key-policy \ --policy-name
default
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --policyfile://key_policy.json
此命令不會產生任何輸出。若要驗證命令是否有效,請使用
get-key-policy
命令。下列範例命令會取得相同 KMS 金鑰的金鑰政策。值為 的output
參數會text
傳回易於讀取的文字格式。aws kms get-key-policy \ --policy-name
default
\ --key-id1234abcd-12ab-34cd-56ef-1234567890ab
\ --outputtext
輸出:
{ "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:Describe", "kms:List" ], "Resource" : "*" } ] }
如需詳細資訊,請參閱 金鑰管理服務開發人員指南中的變更金鑰政策。 AWS
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutKeyPolicy
。
-
如需 AWS SDK 開發人員指南和程式碼範例的完整清單,請參閱 將此服務與 AWS SDK 搭配使用。此主題也包含有關入門的資訊和舊版 SDK 的詳細資訊。