如何在您的Spot资源中设置自定义策略条件雷竞技rabet官网

今年早些时候,宣布了一种新的用户管理系统旨在让Spot的用户在组织和账户两级对Spot资源进行更细粒度的控制。雷竞技rabet官网

由于我们从客户那里得到了非常好的反馈,我们现在很高兴地宣布在用户管理系统中增加了一个新功能自定义策略条件

的条件特性允许具有策略修改权限的用户在策略中创建条件。它还为政策的影响,只在满足条件要求时才会进行。

条件构建模块是:

  • 条件操作符,其中包含条件键:
    • 资源检索
    • 资源属性
  • 条件值(属性值)它应该匹配键和值为请求中的给定资源接收

这样,一个人就能得到允许/拒绝只有当策略中的条件与请求的数据匹配(如。,资源名称,资源内部配置等)。

条件配置的技术说明

让我们看几个实际的例子。给定一个弹性组资源:

“集团”:{

“名称”:“eg-example”,

"计算":{

" launchSpecification ": {

“标签”:[

:“tagKey DeveloperEmail”,

“tagValue”:“example@mail.com”

以下策略将允许使用电子邮件的用户进行更新操作example@mail.com如标签中指定的带键DeveloperEmail来自上面的Elastigroup。

“语句”:(

“效应”:“允许”,

“行动”(

“elastigroup: updateGroup”

),

“雷竞技rabet官网资源”:(

“*”

),

"条件":{

" StringEquals ": {

“现货:elastigroup:标签/ DeveloperEmail”:“${现货:userEmail} "

在上面的例子中,属性(标签的键为DeveloperEmail)在弹性组中存在,并且匹配资源属性在政策中“现货:elastigroup:标签/ DeveloperEmail”).因此,电子邮件被定义为的用户example@mail.com可以使策略中定义的操作(即。更新Elastigroup)。

注意属性值定义为变量${现货:userEmail}不是常数。(详见下面的条件资源值部分。)

描述:权限配置工作流

启用ocean相关操作

“语句”:(

“效应”:“允许”,

“行动”(

“海洋:*”

),

“雷竞技rabet官网资源”:(

“*”

),

"条件":{

" StringEqualsIgnoreCase ": {

"spot:ocean:name": ["ocean-example-1", "ocean-example-2"]

在上面的例子中,映射到此策略的用户将能够执行所有名称包含的Ocean集群上的Ocean相关操作ocean-example-1ocean-example-2

理解条件块

在本节中,我们将回顾条件块的不同部分列出每个部分中支持的所有配置。

条件由四个部分:

  1. 条件操作符
  2. 资源检索
  3. 资源属性
  4. 属性值

1.条件操作符

operator字段定义了要在操作数之间检查的逻辑条件属性值而且实际检索值

属性中的一个缺失属性检索的属性值将被视为不匹配。因此,条件将返回false,并且不会强制执行政策的影响

以下是可用的操作符:

  1. StringEquals-比较两个字符串,如果相等则返回true,否则返回false。
  2. StringNotEquals-比较两个字符串,如果相等则返回false,否则返回true。
  3. StringContains-比较两个字符串,如果第一个字符串包含第二个字符串,则返回true,否则返回false。
  4. StringEqualsIgnoreCase-比较两个字符串,如果字符串长度相同且两个字符串中对应的字符相等,则返回true,忽略大小写。

2.资源检索

资源检索负责定义应该使用条件操作符测试哪些资源。它指定应该为测试检索哪些资源。雷竞技rabet官网

它由字符分隔的两个强制部分组成:

  1. 现货前缀-现货
  2. 资源名称- A资源超出可用资源:雷竞技rabet官网managedInstanceelastigroup海洋

3.资源属性

资源属性是属性从资源配置中的可用属性中取出。

支持的属性有:的名字标签

此部分可能包含内部定义(可选)资源属性键.它应该以字符分隔/后面跟着存在于属性中的某个键。

例如,资源属性是标签,而我们只对标签上的键感兴趣DeveloperEmail

完整的资源检索定义示例:

  • “现货:海洋:名称”
  • “现货:elastigroup:标签/电子邮件”

4.属性值

指定的值应该在检索到的资源中针对检索到的值进行测试。
属性值取值如下:

  • 单一的字符串
  • 单变量
    • 支持变量:${现货:userEmail}
  • 值数组:可以由上述两种类型的每种组合组成。参见下面的用法示例。

笔记

资源检索

目前,该特性仅支持AWS资源。雷竞技rabet官网

多条件运算符

如果条件配置包含多个条件操作符,操作符将使用逻辑.这意味着为了执行策略效果,所有操作符都应该返回true。

多个属性值

允许条件在同一字段中有多个属性值是可能的(如。地点:elastigroup:名称”:[“elastigroup-1”、“elastigroup-2”]).在这种情况下,逻辑将在考试中进行。因此,Elastigroup资源名应该匹配elastigroup-1elastigroup-2

多个资源雷竞技rabet官网

条件是使用单个操作符和单个资源定义的。但是,您可能希望为多个资源定义一个条件,例如允许访问名称为=的所有资源雷竞技rabet官网My_Resource,或者同时用于Elastigroup资源和Ocean资源。在这些情况下,您需要为每个资源定义一个单独的策略,并将每个策略映射到相关用户。

在Spot控制台中创建策略

使用以下步骤使用Spot控制台创建访问策略。

1.在右上角的用户图标下,选择我的组织从下拉菜单:

2.从左侧菜单中选择许可政策

3.在Permission Policies屏幕上,单击显示的按钮创建新策略

4.接下来,选择政策的名字属性中的策略范围权限管理设置。完成后,单击继续

5.在下一个屏幕上,转到JSONTAB和切换编辑模式“在”。

6.在文本字段中,添加策略JSON配置,包括条件块。完成后,请确保单击创建按下面的按钮,您的策略就设置好了。

接下来是什么?

目前只支持Spot的AWS资源。雷竞技rabet官网我们也将很快支持Azure资源。雷竞技rabet官网

要阅读有关为用户或用户组分配策略的更多信息,请访问我们的文档页面在这里