ES自定义策略 本章节主要介绍云搜索服务自定义策略。 如果系统预置的ES权限,不满足您的授权要求,可以创建自定义策略。自定义策略中可以添加的授权项(Action)请参考云搜索服务API参考中的权限策略和授权项。 目前支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。 JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。 具体创建步骤请参见:统一身份认证用户指南中有关创建自定义策略的内容。本章为您介绍常用的ES自定义策略样例。 ES系统策略样例 示例1:授权用户ES FullAccess权限,即给用户配置ES的所有权限。 开启ES FullAccess权限,需要依赖OBS和IAM权限,除了配ES FullAccess还要加上IAM ReadOnlyAccess和OBS的所有权限。如果用户需要查看集群监控信息,则需要依赖CES的只读权限。如果用户需要使用终端节服务,除了配置VPCEndpoint Administrator权限,还需要同时配置VPC Administrator、Server Administrator以及DNS Administrator权限。如果用户需要使用标签功能,需要配置TMS Administrator权限。 说明 如果是子账户,需要同时设置GetBucketStoragePolicy、GetBucketLocation、ListBucket权限,才能看到OBS桶。 1.授权用户ES FullAccess权限。 { "Version": "1.1", "Statement": [ { "Action": [ "ES::", "vpc:securityGroups:get", "vpc:securityGroups:create", "vpc:securityGroups:delete", "vpc:securityGroupRules:get", "vpc:securityGroupRules:create", "vpc:securityGroupRules:delete", "vpc:vpcs:list", "vpc:privateIps:list", "vpc:ports:get", "vpc:ports:create", "vpc:ports:update", "vpc:ports:delete", "vpc:quotas:list", "vpc:subnets:get", "ecs:cloudServerFlavors:get", "ecs:serverInterfaces:use", "ecs:cloudServers:addNics", "ecs:quotas:get", "evs:types:get", "evs:quotas:get" ], "Effect": "Allow" } ] } 2.授权用户IAM ReadOnlyAccess自定义策略。 { "Version": "1.1", "Statement": [ { "Action": [ "iam::get", "iam::list", "iam::check" ], "Effect": "Allow" } ] } 3.授权用户OBS的所有权限。 { "Version": "1.1", "Statement": [ { "Action": [ "OBS::" ], "Effect": "Allow" } ] } 4.(可选)授权用户查看集群监控信息权限。 { "Version": "1.1", "Statement": [ { "Action": [ "ces::get", "ces::list" ], "Effect": "Allow" } ] } 5.(可选)授权用户VPCEndpoint Administrator权限。 { "Version": "1.0", "Statement": [ { "Action": [ "VPCEP:endpointservices:" ], "Effect": "Allow" } ], "Depends": [ { "catalog": "BASE", "displayname": "Server Administrator" }, { "catalog": "VPC", "displayname": "VPC Administrator" }, { "catalog": "DNS", "displayname": "DNS Administrator" } ] } 6.(可选)授权VPC Administrator权限。 { "Version": "1.0", "Statement": [ { "Action": [ "vpc:vpcs:", "vpc:routers:", "vpc:networks:", "vpc:subnets:", "vpc:ports:", "vpc:privateIps:", "vpc:peerings:", "vpc:routes:", "vpc:lbaas:", "vpc:vpns:", "ecs::get", "ecs::list", "elb::get", "elb::list" ], "Effect": "Allow" } ] } 7.(可选)授权Server Administrator权限。 { "Version": "1.1", "Statement": [ { "Action": [ "ecs::", "evs::get", "evs::list", "evs:volumes:create", "evs:volumes:delete", "evs:volumes:attach", "evs:volumes:detach", "evs:volumes:manage", "evs:volumes:update", "evs:volumes:uploadImage", "evs:snapshots:create", "vpc::get", "vpc::list", "vpc:networks:create", "vpc:networks:update", "vpc:subnets:update", "vpc:subnets:create", "vpc:routers:get", "vpc:routers:update", "vpc:ports:", "vpc:privateIps:", "vpc:securityGroups:", "vpc:securityGroupRules:", "vpc:floatingIps:", "vpc:publicIps:", "vpc:bandwidths:", "vpc:firewalls:", "ims:images:create", "ims:images:delete", "ims:images:get", "ims:images:list", "ims:images:update", "ims:images:upload" ], "Effect": "Allow" } ], "Depends": [ { "catalog": "BASE", "displayname": "Tenant Guest" }, { "catalog": "BASE", "displayname": "BSS Administrator" }, { "catalog": "BASE", "displayname": "VPC Administrator" }, { "catalog": "BASE", "displayname": "IMS Administrator" } ] } 8.(可选)授权DNS Administrator权限。 { "Version": "1.0", "Statement": [ { "Action": [ "DNS:Zone:", "DNS:RecordSet:", "DNS:PTRRecord:" ], "Effect": "Allow" } ], "Depends": [ { "catalog": "BASE", "displayname": "Tenant Guest" }, { "catalog": "VPC", "displayname": "VPC Administrator" } ] } 9.(可选)授权TMS Administrator权限。 { "Version": "1.0", "Statement": [ { "Action": [ "TMS:predefinetag:", "TMS:resourcetag:" ], "Effect": "Allow" } ], "Depends": [ { "catalog": "BASE", "displayname": "Tenant Guest" }, { "catalog": "BASE", "displayname": "Server Administrator" }, { "catalog": "IMS", "displayname": "IMS Administrator" }, { "catalog": "Auto Scaling", "displayname": "AutoScaling Administrator" }, { "catalog": "VPC", "displayname": "VPC Administrator" }, { "catalog": "VBS", "displayname": "VBS Administrator" }, { "catalog": "OBS", "displayname": "Tenant Administrator" }, { "catalog": "OBS", "displayname": "Tenant Guest" } ] } 说明 如果用户账号开通了企业项目: 当该账号配置ES FullAccess权限时,即使给单个企业项目只配了ES ReadOnlyAccess权限,但所有企业项目都拥有ES FullAccess权限。 如果给单个企业项目开通了ES FullAccess权限,则该企业项目下的所有子用户都可以拥有该权限。如:企业项目default配了ES FullAccess权限,那么子用户可以读到default企业项目下的集群,且进行读写操作。 示例2:授权用户ES ReadOnlyAccess权限,即给用户配置ES的只读权限。如果用户需要查看集群监控信息,则需要依赖CES的只读权限。 1.授权用户ES ReadOnlyAccess权限。 { "Version": "1.1", "Statement": [ { "Action": [ "ES::get", "ES::list", "vpc:securityGroups:get", "vpc:securityGroupRules:get", "vpc:vpcs:list", "vpc:privateIps:list", "vpc:ports:get", "vpc:quotas:list", "vpc:subnets:get", "ecs:cloudServerFlavors:get", "ecs:quotas:get", "evs:types:get", "evs:quotas:get" ], "Effect": "Allow" } ] } 2.(可选)授权用户查看集群监控信息权限。 { "Version": "1.1", "Statement": [ { "Action": [ "ces::get", "ces::list" ], "Effect": "Allow" } ] } 说明 如果用户账号开通了企业项目: 在统一认证服务中给该账号开通了ES ReadOnlyAccess权限,但是给某个企业项目配置了ES FullAccess权限,那么子用户可以读到所有企业项目下的集群,但是只对开通ES FullAccess权限下的集群进行写操作。例如,给企业项目default配置了ES FullAccess权限,那么子用户可以读到所有企业项目下的集群,但是只对default下的集群进行写操作。 在统一认证服务中给该账号开通了ES ReadOnlyAccess权限,但是没有给单个企业项目授权,则子账户只能读取该项目下的集群,不能进行写操作。例如,给企业项目default配了ES ReadOnlyAccess,那么子用户可以读到default企业项目下的集群,不可进行写操作。
来自: