管理RBAC角色
注意:可以在Grafana企业和Grafana云先进。
本节包括说明如何查看权限与角色相关联,创建自定义角色,更新和删除角色。
下面的例子包括base64用户名:密码基本授权。你不能使用授权令牌的请求。
列表权限与角色相关联
使用一个得到
命令查看操作和范围与一个角色相关联。更多信息看到每个角色的权限列表,请参考得到一个角色。
看到相关的权限基本角色,指下列基本角色uid:
基本角色 | UID |
---|---|
查看器 |
basic_viewer |
编辑器 |
basic_editor |
管理 |
basic_admin |
Grafana管理 |
basic_grafana_admin |
示例请求
curl——位置请求得到“< grafana_url > / api /访问控制/角色/ qQui_LCMk”——头的授权:基本YWRtaW46cGFzc3dvcmQ = '
示例响应
{“版本”:2,“uid”:“qQui_LCMk”、“名称”:“固定:用户:作家”、“displayName”:“用户作家”、“描述”:“读取和更新所有属性和设置为所有用户在Grafana:更新用户信息,读取用户信息,创建或启用或禁用用户,让用户Grafana管理员,标志了一个用户、更新用户的身份验证令牌,或更新所有用户配额。”“全球”:真的,“权限”:[{“行动”:“org。用户:添加”、“范围”:“用户:*”、“更新”:“2021 - 05 - 17 - t20:49:18 + 02:00”、“创建”:“2021 - 05 - 17 t20:49:18 + 02:00”},{“行动”:“org。用户:阅读”、“范围”:“用户:*”、“更新”:“2021 - 05 - 17 - t20:49:18 + 02:00”、“创建”:“2021 - 05 - 17 t20:49:18 + 02:00”},{“行动”:“org。用户:删除”、“范围”:“用户:*”、“更新”:“2021 - 05 - 17 - t20:49:18 + 02:00”、“创建”:“2021 - 05 - 17 t20:49:18 + 02:00”},{“行动”:“org。用户:写”、“范围”:“用户:*”、“更新”:“2021 - 05 - 17 - t20:49:18 + 02:00”、“创建”:“2021 - 05 - 17 - t20:49:18 + 02:00}],“更新”:“2021 - 05 - 17 - t20:49:18 + 02:00”、“创建”:“2021 - 05 - 13 - t16:24:26 + 02:00 "}
指的是RBAC HTTP API为更多的细节。
创建自定义角色
本节将向您展示如何创建一个定制的RBAC角色使用Grafana供应和HTTP API。
创建一个自定义的角色当基本角色和固定角色不满足您的权限要求。
在你开始之前:
- 计划你的RBAC实现策略。
- 确定您想要添加自定义角色权限。看到一列操作和范围,请参考RBAC权限、操作和范围。
- 使角色配置。
- 确保你有权限创建一个自定义的角色。
- 默认情况下,Grafana Admin角色创建自定义角色的权限。
- Grafana管理员可以自定义角色权限委托给另一个用户通过创建一个自定义角色相关的权限和添加
权限:类型:委托
范围。
使用配置创建自定义角色
基于文件的配置是一个方法你可以使用它来创建自定义角色。
打开YAML配置文件和定位
角色
部分。参考下表添加属性和值。
属性 | 描述 |
---|---|
的名字 |
一个友好的标识符的作用帮助管理者理解角色的目的。的名字 是必需的,不能超过190个字符。我们建议您使用ASCII字符。在一个组织中角色名称必须是惟一的。 |
uid |
一个惟一的标识符与作用。UID使您能够更改或删除角色。你可以自己生成一个UID,或者让Grafana为您生成一个。你不能使用相同的UID在同一个Grafana实例。 |
orgId |
识别组织角色所属。的默认org ID如果你没有指定使用orgId 。 |
全球 |
全球组织不与任何特定的角色,这意味着您可以重用它们在所有的组织。此设置将覆盖orgId 。 |
displayName |
人性化在UI中显示的文本。角色显示名称不能超过190 ASCII-based字符。固定的角色,指定的显示名称显示为。如果你不设定显示名称显示名称代替“:” (冒号)' ' (空间)。 |
描述 |
提供人性化的文本描述的权限的角色。 |
集团 |
组织角色的角色选择器。 |
版本 |
一个正整数定义的当前版本的角色,从而防止覆盖更新变化。 |
隐藏的 |
隐藏角色不会出现在角色选择器。 |
状态 |
状态的作用。默认为现在 ,但如果设置缺席 这个角色将被删除。 |
力 |
除了可以使用状态缺席 力的作用和其所有作业。 |
从 |
一个可选列表的角色你想复制权限。 |
权限 |
提供用户访问Grafana资源。的权限,请参考RBAC权限操作和范围。如果你不知道哪个权限分配,您可以创建和分配角色没有任何权限作为占位符。使用从 属性,可以指定删除通过添加额外的权限或权限状态 你的权限列表。 |
重新加载配置配置文件。
关于在运行时重新加载配置配置的更多信息,请参考重新加载配置配置。
下面的示例创建一个本地的作用:
# apiVersion配置文件版本:2角色:-名称:自定义:用户:作家描述:列表、创建或更新其他用户。版本:1 orgId: 1权限:行动:“用户:读取范围:全球。用户:*”——行动:“用户:写的范围:全球。用户:*”——行动:“用户:创建“
下面的示例创建一个隐藏的全球角色。的全球:真
选项创建一个全球角色,隐藏:真
选择隐藏角色的角色选择器。
# apiVersion配置文件版本:2角色:-名称:自定义:用户:作家描述:列表、创建或更新其他用户。版本:1全球:真正的隐藏:真正的权限:-行动:“用户:读取范围:全球。用户:*”——行动:“用户:写的范围:全球。用户:*”——行动:“用户:创建“
下面的示例创建一个全球角色基于其他固定的角色。的从
选择包含要复制的角色权限。许可状态:没有
排除选项可以用来指定权限的副本。
#配置文件版本apiVersion: 2角色:-名称:自定义:org。用户:作家描述:“列出和删除其他用户的组织。的版本:1全球:真:名字:“固定:org。用户:读者的全球:真-名称:固定:org。用户:作家的全球:真正的权限:-行动:org。用户:写的范围:用户:*”状态:“缺席”——行动:“org。用户:添加的范围:用户:*”状态:“缺席”
使用HTTP API创建自定义角色
下面的例子展示如何使用Grafana HTTP API创建一个自定义的角色。有关HTTP API的更多信息,请参考创建一个新的自定义角色。
注意:你不能创建一个自定义的角色和权限,你没有。例如,如果你只有
用户:创建
权限,那么您不能创建一个角色,包括其他权限。
下面的示例创建一个定义:用户:管理员
角色和分配用户:创建
行动。
示例请求
curl——位置请求后的< grafana_url > / api /访问控制/角色/ ' \——头的授权:基本YWRtaW46cGFzc3dvcmQ = ' \——头的application / json内容类型:\——data-raw”{“版本”:1、“uid”:“jZrmlLCkGksdka”、“名称”:“自定义:用户:管理员”,“displayName”:“自定义用户管理”,“描述”:“我的自定义角色赋予用户权限来创建用户”、“全球”:真的,“权限”:[{“行动”:“用户:创建“}]}”
示例响应
{“版本”:1、“uid”:“jZrmlLCkGksdka”、“名称”:“自定义:用户:管理员”、“displayName”:“自定义用户管理”,“描述”:“我的自定义角色赋予用户权限来创建用户”、“全球”:真的,“权限”:[{“行动”:“用户:创建”“更新”:“2021 - 05 - 17 t22:07:31.569936 + 02:00”,“创建”:“2021 - 05 - 17 t22:07:31.569935 + 02:00”}],“更新”:“2021 - 05 - 17 t22:07:31.564403 + 02:00”,“创建”:“2021 - 05 - 17 t22:07:31.564403 + 02:00 "}
指的是RBAC HTTP API为更多的细节。
更新基本角色权限
如果默认的基本角色定义不符合您的需求,您可以改变他们的权限。
在你开始之前:
- 确定你想添加或删除的权限从一个基本的角色。关于与基本的角色相关联的权限的更多信息,参阅RBAC角色定义。
改变从一个基本权限角色:
打开YAML配置文件和定位
角色
部分。参考下表添加属性和值。
属性 描述 的名字
基本角色的名字你想更新。您可以指定一个 uid
而不是一个角色的名字。这个角色的名字
或者是uid
是必需的。orgId
识别组织角色所属。 全球
可以用来指定这是一个全球的角色。版本
标识版本的作用,从而防止覆盖更新变化。 从
复制权限的角色列表。 权限>状态
许可的状态。你可以设置 缺席
以确保它被排除在副本列表。重新加载配置配置文件。
关于在运行时重新加载配置配置的更多信息,请参考重新加载配置配置。
下面的例子修改Grafana管理
基本的角色权限。
- 权限列表,授予和撤销角色团队移除。
- 允许读和写Grafana文件夹添加。
#配置文件版本apiVersion: 2角色:-名称:“基本:grafana_admin”全球:真正的版本:3:-名称:“基本:grafana_admin”全球:真正的权限:#权限删除-行动:“团队。角色:阅读的范围:团队:*”状态:“缺席”——行动:“团队。角色:remove' scope: 'permissions:type:delegate' state: 'absent' - action: 'teams.roles:add' scope: 'permissions:type:delegate' state: 'absent' # Permissions to add - action: 'folders:read' scope: 'folder:*' - action: 'folders:write' scope: 'folder:*'
请注意:你可以添加多个
固定
,基本
或自定义
角色的从
部分。他们的权限将被复制和添加到基本的角色。
请注意:一定要增量版本变化的作用。
您还可以使用API更改基本角色的权限。指的是RBAC HTTP API为更多的细节。
重置默认的基本角色
本节描述如何重置为其默认的基本角色:
打开YAML配置文件和定位
角色
部分。授予
行动:“角色:写”,范围:“权限:类型:升级
许可Grafana管理
。请注意,这并没有被授予任何许可的基本角色默认情况下,因为用户可以获得比以往更多的权限通过基本重置角色权限。apiVersion: 2角色:名字:“基本:grafana_admin”全球:真正的版本:3:-名称:“基本:grafana_admin”全球:真正的权限:#许可允许重置基本角色——行动:角色:写的范围:“权限:类型:升级”
作为一个
Grafana管理
,调用API端点来重置为其默认的基本角色。指的是RBAC HTTP API为更多的细节。
删除自定义角色使用Grafana供应
删除自定义角色,当你不再需要它。当你删除一个自定义角色,从用户自定义角色和团队的分配。
在你开始之前:
- 确定要删除的角色或角色。
- 确保您拥有访问YAML配置文件。
删除自定义角色:
打开YAML配置文件和定位
角色
部分。参考下表添加属性和值。
属性 描述 的名字
自定义角色的名字你想删除。您可以指定一个 uid
而不是一个角色的名字。这个角色的名字
或者是uid
是必需的。orgId
识别组织角色所属。 状态
角色组的状态 缺席
触发删除。力
当设置为 真正的
角色删除,即使有现有的作业。重新加载配置配置文件。
关于在运行时重新加载配置配置的更多信息,请参考重新加载配置配置。
下面的示例删除自定义角色:
# apiVersion配置文件版本:2角色:-名称:“自定义:报告:编辑”orgId: 1状态:“缺席”的力量:真的
你也可以删除自定义角色使用API。指的是RBAC HTTP API为更多的细节。