全部產品
Search
文件中心

Key Management Service:設定密鑰策略

更新時間:Mar 24, 2026

您可以在密鑰策略中添加或刪除RAM使用者、RAM角色,以設定密鑰的管理員和使用者。本文介紹如何設定密鑰策略。

通過控制台設定

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 密钥管理

  2. 用户主密钥頁簽,定位到您的目標密鑰,單擊密鑰ID或操作列的详情

  3. 在詳情頁面下方的密钥策略地區,單擊设置密钥策略,完成設定後單擊確認

    1. 图形编辑:此模式下授权主体(RAM使用者或RAM角色),使用預設策略許可權(Action)

      • 管理员:對密鑰進行管控類操作,不支援密碼運算操作。支援選擇當前主帳號下的RAM使用者和RAM角色。

      • 使用者:僅支援使用密鑰進行密碼運算操作。支援選擇當前主帳號下的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

    2. 语法编辑:可在文法編輯框中,直接修改或新增權限原則,配置樣本如下。

      • 情境說明:為阿里雲帳號(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密鑰時,需要進行雙向授權配置:

    1. 在KMS控制台設定密鑰策略,授予目標帳號使用許可權。即需添加授權主體為其他账号使用者的密鑰策略。

    2. 目標帳號需在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"
            ]