全部产品
Search
文档中心

密钥管理服务:设置密钥策略

更新时间:Mar 23, 2026

您可以在密钥策略中添加或删除RAM用户、RAM角色,以设置密钥的管理员和使用者。本文介绍如何设置密钥策略。

通过控制台设置

  1. 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击资源 > 密钥管理

  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"
            ]