如果Elasticsearch Serverless的系统策略无法满足您的需求,可以通过创建自定义策略实现精细化权限管理。本文介绍如何创建自定义权限策略,并提供权限策略配置示例供您参考。
前提条件
了解权限策略语言的基本结构和语法。详细信息,请参见权限策略语法和结构。
注意事项
自定义策略仅在账号级别生效,不会在资源组级别生效。如果您想对特定RAM用户仅显示控制台的特定资源,那么可以采用通过资源组授权特定实例的方式实现。
操作步骤
权限策略示例
完整控制台功能管理员权限策略
使RAM用户拥有所有Elasticsearch Serverless服务的所有操作权限,包括了Elasticsearch Serverless服务使用的Elasticsearch高级监控权限,是完整控制台功能管理员权限。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "es-serverless:*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"elasticsearch:GetEmonProjectList",
"elasticsearch:CreateEmonProject",
"elasticsearch:QueryEmonMetrics"
],
"Resource": "emonProjects/*"
}
]
}
管控特定应用权限策略
{
"Statement": [
{
"Action": [
"es-serverless:*"
],
"Effect": "Allow",
"Resource": "acs:es-serverless:*:<yourAccountId>:apps/<appName>"
},
{
"Effect": "Allow",
"Action": "elasticsearch:QueryEmonMetrics",
"Resource": "emonProjects/<projectId>"
},
{
"Effect": "Allow",
"Action": [
"elasticsearch:GetEmonProjectList",
"elasticsearch:CreateEmonProject"
],
"Resource": "emonProjects/*"
}
],
"Version": "1"
}
以下参数需要替换为您自己的信息:
参数 | 说明 |
---|---|
<yourAccountId> | 需要替换为您自己的阿里云账号ID,不支持通配符* 。阿里云账号ID的获取方法:鼠标移至控制台右上角的用户头像上,即可查看到账号ID。
|
<appName> | 需要替换为待授权的目标应用名称,不支持通配符* 。获取方式,请参见查看应用详情。
|
<projectId> | 为GetEmonProjectList返回的与指定的应用关联的高级监控Project的ID。在指标监控的Grafana页面,CreateEmonProject接口用于为新用户创建一个Emon高级监控Project。 |
Action说明
Action | 说明 |
---|---|
|
Elasticsearch Serverless的所有管控API权限。
重要
es-serverless:* 不包括控制台外部依赖的权限,这些权限需要单独设置。如果没有设置,进入包含这些功能的页面后,会出现无权限的错误。
|
|
获取Elasticsearch Serverless应用控制台依赖的Emon高级监控项目列表的权限。 |
|
在指标监控的Grafana页面,CreateEmonProject接口用于为新用户创建一个Emon高级监控Project。 |
Effect说明
Effect | 说明 |
---|---|
Allow | 允许RAM用户执行Action中设置的操作。 |
Deny | 拒绝RAM用户执行Action中设置的操作。 |
后续步骤
自定义策略创建完成后,使用阿里云账号在RAM控制台中或通过RAM SDK对RAM用户授权。具体操作,请参见为RAM用户授权。