参数仓库可以通过加密参数的形式在云端动态维护加密数据,并且可以供用户随时读取。虽然在调用时参数是以加密的形式来存储和展示的,但是某些用户会有其它类的特殊需求,例如在同一账号下,会有若干阿里云子账号,某些加密数据是不允许所有的子账号可以访问。本文介绍如何给子账号设置不同的加密参数的不同访问权限。
操作步骤
创建加密参数。
登录RAM控制台,配置自定义权限策略。具体操作步骤,请参见通过脚本编辑模式创建自定义权限策略。将以下示例脚本内容填充进去。该示例脚本的主要功能为子账号仅能访问以group1开头的加密参数详情,以及获取所有加密参数列表(如果想授予某个子账号可以读取所有加密参数值,请参考附录:权限策略)。
重要加密参数必须配置kms的相关权限。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oos:GetSecretParameter", "oos:ListSecretParameters", "kms:GetSecretValue" ], "Resource": [ "acs:oos:*:1234************:secretparameter/group1/*", "acs:kms:*:1234************:secret/oos/group1/*" ], "Condition": {} } ] }
将上述创建完成的自定义权限策略赋予给相应的子账号,或授予给相关的权限角色(参考为RAM用户授权或为RAM角色授权来将创建完成的自定义策略给子账号或角色授权)。
配置权限策略完成后,验证获取加密参数详情。
由上面的示例可知,当在权限策略中设置了仅可以访问名称为group1为开头的权限,并将此权限策略授予某个子账号时,该子账号仅可以获取到名称以group1为起始的加密参数,尝试获取加密参数group2/parameter时,就会显示无权限。
附录:权限策略
子账号可以访问所有加密参数:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oos:GetSecretParameter",
"oos:ListSecretParameters",
"kms:GetSecretValue"
],
"Resource": [
"acs:oos:*:1234************:secretparameter/*",
"acs:kms:*:1234************:secret/oos/*"
],
"Condition": {}
}
]
}
文档内容是否对您有帮助?