如果Elasticsearch Serverless服务的系统策略无法满足您的业务需求,可以通过自定义权限策略实现精细化权限管理。本文提供了ES Serverless服务权限策略配置的脚本示例和授权资源列表。
背景信息
默认情况下,阿里云主账号和RAM用户均可以使用ES Serverless控制台或ES Serverless API操作本账号内创建的ES Serverless资源。
以下场景中,会涉及授权问题:
刚创建的RAM用户没有权限操作阿里云主账号的资源。
具有权限控制的ES Serverless资源。
从其他阿里云服务访问ES Serverless资源或ES Serverless资源访问其他阿里云服务。
注意事项
自定义权限策略仅在账号级别生效,不会在资源组级别生效。如果您想对特定RAM用户仅显示控制台的特定资源,可以采用资源组授权的方式,具体操作,请参见通过资源组授权特定实例。
ES Serverless权限脚本
您可以通过RAM访问控制或者调用RAM API CreatePolicy创建自定义权限策略。
创建权限策略,请参见通过脚本编辑模式创建自定义权限策略。
ES Serverless权限策略的脚本示例。
AliyunElasticsearchServerlessReadOnlyAccess:只读访问阿里云ES Serverless服务的权限,用于只读用户。
{
"Version": "1",
"Statement": [
{
"Action": [
"es-serverless:List*",
"es-serverless:Describe*",
"es-serverless:Get*"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
AliyunElasticsearchServerlessFullAccess:管理阿里云ES Serverless服务的权限,拥有ES Serverless服务的所有操作权限,用于管理员。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "es-serverless:*",
"Resource": "*"
}
]
}
管控指定应用的权限。
{ "Statement": [ { "Action": [ "es-serverless:*" ], "Effect": "Allow", "Resource": "acs:es-serverless:*:<yourAccountId>:apps/{appName}" } ], "Version": "1" }
关于Action和Resource,请参见授权资源列表。
Effect:是否允许RAM用户执行Action中设置的操作,取值包括Allow(允许)和Deny(拒绝)。
<yourAccountId>: 阿里云主账号ID。
{appName}:指定的应用名。
授权资源列表
所有管控权限
Action
Resource
Action描述
es-serverless:*
acs:es-serverless:<yourRegionId>:<yourAccountId>:apps/{appName}
ES Serverless服务的所有管控API的权限。
说明es-serverless:*
不包括控制台外部依赖的权限,外部依赖的权限需要单独设置。管理应用
Action
Resource
Action描述
es-serverless:CreateApp
acs:es-serverless:<yourRegionId>:<yourAccountId>:apps/*
创建应用。
es-serverless:ListApps
获取应用列表。
es-serverless:DeleteApp
acs:es-serverless:<yourRegionId>:<yourAccountId>:apps/{appName}
删除应用。
es-serverless:UpdateApp
更新应用。
es-serverless:GetApp
查询指定应用的详细信息。
es-serverless:GetAppQuota
查询指定应用的配额信息。
监控数据
Action
Resource
Action描述
es-serverless:GetMonitorData
acs:es-serverless:<yourRegionId>:<yourAccountId>:apps/{appName}
查询应用监控数据。