您可以在密鑰策略中添加或刪除RAM使用者、RAM角色,以設定密鑰的管理員和使用者。本文介紹如何設定密鑰策略。
通過控制台設定
登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊。
在用户主密钥頁簽,定位到您的目標密鑰,單擊密鑰ID或操作列的详情。
在詳情頁面下方的密钥策略地區,單擊设置密钥策略,完成設定後單擊確認。
图形编辑:此模式下授权主体(RAM使用者或RAM角色),使用預設策略許可權(Action)。
管理员:對密鑰進行管控類操作,不支援密碼運算操作。支援選擇當前主帳號下的RAM使用者和RAM角色。
使用者:僅支援使用密鑰進行密碼運算操作。支援選擇當前主帳號下的RAM使用者和RAM角色。
其他账号使用者:
重要如果授權給其他阿里雲帳號下的RAM使用者、RAM角色,將消耗KMS執行個體的訪問管理數量配額,按阿里雲帳號個數計算消耗的配額。取消授權後,約5分鐘後,返還配額。
需同時在RAM控制台為其使用者/角色配置相應的密鑰使用許可權,才能正常使用。具體操作,請參見Key Management Service自訂權限原則參考、管理RAM使用者的許可權、管理RAM角色的許可權。
可以是其他阿里雲帳號的RAM使用者或RAM角色,僅支援通行金鑰進行密碼運算操作。
單擊添加其他账号使用者ARN,填寫授權主體的ARN,可登入RAM控制台,在使用者或角色詳情頁擷取ARN資訊。
RAM使用者:格式為
acs:ram::<其他阿里雲帳號userId>:user/<ramuser>,例如acs:ram::119285303511****:user/testpolicyuser。RAM角色:格式為
acs:ram::<其他阿里雲帳號userId>:role/<ramrole>,例如acs:ram::119285303511****:role/testpolicyrole。
语法编辑:可在文法編輯框中,直接修改或新增權限原則,配置樣本如下。
情境說明:為阿里雲帳號(119285303511****)下的密鑰設定密鑰策略為例。
當前阿里雲帳號(119285303511****)對該密鑰具有完整存取,即管理和使用密鑰,不建議修改。
說明系統預設密鑰擁有者擁有全部許可權,不可修改規則。
允許當前阿里雲帳號(119285303511****)下的RAM使用者(key_ramuser1)管理密鑰。
允許當前阿里雲帳號(119285303511****)下的RAM使用者(key_ramuser2)、其他阿里雲帳號(190325303126****)下的RAM使用者(key_ramuser3)使用密鑰。
文法樣本:
{ "Statement": [ { "Action": [ "kms:*" ], "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::119285303511****:*" ] }, "Resource": [ "*" ], "Sid": "kms default key policy" }, { "Action": [ "kms:List*", "kms:Describe*", "kms:Create*", "kms:Enable*", "kms:Disable*", "kms:Get*", "kms:Set*", "kms:Update*", "kms:Delete*", "kms:Cancel*", "kms:TagResource", "kms:UntagResource", "kms:ImportKeyMaterial", "kms:ScheduleKeyDeletion" ], "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::119285303511****:user/key_ramuser1" ] }, "Resource": [ "*" ] }, { "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateAndExportDataKey", "kms:AsymmetricEncrypt", "kms:AsymmetricDecrypt", "kms:DescribeKey", "kms:DescribeKeyVersion", "kms:ListKeyVersions", "kms:ListAliasesByKeyId", "kms:TagResource" ], "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::119285303511****:user/key_ramuser2", "acs:ram::190325303126****:user/key_ramuser3" ] }, "Resource": [ "*" ] } ], "Version": "1" }
使用限制
僅用户主密钥支援設定密鑰策略。
密鑰策略的內容長度不超過32768個位元組,且為JSON格式。
密鑰策略中可以設定的巨集指令清單如下:
警告如果設定了列表外的操作,設定後也不會生效。
"Action": [ "kms:List*", "kms:Describe*", "kms:Create*", "kms:Enable*", "kms:Disable*", "kms:Get*", "kms:Set*", "kms:Update*", "kms:Delete*", "kms:Cancel*", "kms:TagResource", "kms:UntagResource", "kms:ImportKeyMaterial", "kms:ScheduleKeyDeletion" "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateAndExportDataKey", "kms:AsymmetricEncrypt", "kms:AsymmetricDecrypt", "kms:DescribeKey", "kms:DescribeKeyVersion", "kms:ListKeyVersions", "kms:ListAliasesByKeyId", "kms:TagResource" ]跨帳號密鑰授權:若需要授權其他阿里雲帳號下的RAM使用者或RAM角色使用當前帳號下的KMS密鑰時,需要進行雙向授權配置:
在KMS控制台設定密鑰策略,授予目標帳號使用許可權。即需添加授權主體為其他账号使用者的密鑰策略。
目標帳號需在RAM控制台為其使用者/角色配置相應的密鑰使用許可權。
預設策略許可權(Action)
管理員
對密鑰進行管控類操作,不支援密碼運算操作。
"Action": [
"kms:List*",
"kms:Describe*",
"kms:Create*",
"kms:Enable*",
"kms:Disable*",
"kms:Get*",
"kms:Set*",
"kms:Update*",
"kms:Delete*",
"kms:Cancel*",
"kms:TagResource",
"kms:UntagResource",
"kms:ImportKeyMaterial",
"kms:ScheduleKeyDeletion"
]使用者/其他帳號使用者
僅支援使用密鑰進行密碼運算操作。
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:GenerateAndExportDataKey",
"kms:AsymmetricEncrypt",
"kms:AsymmetricDecrypt",
"kms:DescribeKey",
"kms:DescribeKeyVersion",
"kms:ListKeyVersions",
"kms:ListAliasesByKeyId",
"kms:TagResource"
]