授权

没有安全开关,当然也没有授权。配置了安全性之后,默认情况是任何用户都可以执行任何操作。但是,GoCD可以限制特定用户或角色的某些操作,并管理这些角色的成员。

管理员

GoCD允许您限制可以执行某些功能的用户。管理员是一个特殊的角色,允许其成员在GoCD中执行任何操作。指定管理员是可选的——没有它,所有的用户都会自动成为管理员。

如果指定了管理员,只有他们可以执行以下操作:

  • 访问“管理”标签。

  • 添加/编辑管道模板

  • 允许代理

  • 添加/删除代理资源。

用户可以从“Admin”部分的“用户摘要(User Summary)”选项卡中获得管理员。

为了通过“Config xml”给用户和/或角色提供管理员权限,请参考下面一节中的示例,其中“go_admin”角色(jhumble和qiao)的成员,以及用户chris可以管理go。

基于角色的安全性

您可以定义可以在需要授权的任何地方使用的角色。角色只是一组用户。管理员可以在“Admin”部分的“用户摘要”选项卡中添加用户到新的或现有的角色。在这里,您可以选择任意数量的用户并为其分配一个新的或现有的角色。在这个例子中,用户“aantony”被添加到角色“分析师”中

对于power用户,下面是如何通过“Config XML”配置角色:

<cruise>
  <server>
    <license ... />
    <security>
      <passwordFile path="/etc/go-server/passwords.properties" />

      <roles>
        <role name="qa">
          <users>
            <user>dyang</user>
            <user>pavan</user>
          </users>
        </role>
        <role name="go_admin">
          <users> 
            <user>jhumble</user>
            <user>qiao</user>
          </users>
        </role>
      </roles>

      <admins>
        <role>go_admin</role>
        <user>chris</user>
      </admins>
    </security>
  </server>
</cruise>

在本例中,“qa”角色有两个用户:dyang和pavan。“go_admin”角色也有两个用户:jhumble和qiao。

指定管道组的权限

GoCD允许您将管道组合在一起。如果您定义管道组,则可以指定谁能够查看或操作这些组。为此,您可以对管道组配置权限。系统管理员将继续拥有对管道组的完全访问权限,即使他们没有被显式授予权限。

“视图”权限允许用户查看管道。它不允许触发管道、批准阶段或重新运行阶段。在下面的例子中,用户“akrishna”和“aantony”可以查看这个组中的管道,但是他们不能执行任何操作。

“操作”权限允许用户触发管道及其阶段。在下面的示例中,角色“开发人员”被授予操作权限,并能够在这个组内触发管道及其阶段。

“admin”权限使用户成为一个管道组管理员,允许他查看、操作和管理管道组。在下面的例子中,角色“管理员”被授予这个权限。

请注意,仅允许用户或角色使用操作权限。在下面的示例中,用户“bot”只有操作权限。这意味着他们不能查看管道,只能操作。这可以用来使脚本通过api在管道上操作,而不会让用户访问任何其他功能。

要编辑管道组的权限,请导航到“Admin”部分的“管道”选项卡:

然后,单击要管理权限的管道组的“Edit”链接:

如果没有为管道组定义授权,那么所有GoCD用户都将拥有对该组的视图和操作权限。

对于power用户,以下是如何通过“Config XML”配置权限:

<pipelines group="Shine">
  <authorization>
    <view>
      <user>aantony</user>
      <user>akrishna</user>
      <role>developer</role>
    </view>
    <operate>
      <user>bot</user>
      <role>developer</role>
    </operate>
    <admins>
      <role>admins</role>
    </admins>
  </authorization>
  ...
</pipelines>

添加授权批准

在GoCD中,可以在阶段之间指定手动审批。您还可以指定允许哪些用户触发人工审批。

该授权可以从该管道所属的管道组继承。但是定义特定的权限会覆盖这个。在下面的示例中,只有角色“admin”和用户“goleys”的成员可以触发审批。

对于power用户,以下是如何通过“Config XML”配置对阶段的批准的授权:

<stage name="defaultStage">

  <approval type="manual">
    <authorization>
      <role>admin</role>
      <user>goleys</user>
    </authorization>
  </approval>

  <jobs>
    <job name="deploy">
      <resources>
        <resource>uat</resource>
      </resources>
      <tasks>
        <ant target="deploy" />
      </tasks>
    </job>
  </jobs>
</stage>

指定权限模板

GoCD管理员可以使任何用户成为特定模板的模板管理员。作为模板管理员,用户现在可以查看和编辑他拥有权限的模板。

要编辑模板的权限,导航到“Admin”部分的“Templates”选项卡:

然后,单击要管理权限的模板的“权限”链接:

对于高级用户,以下是如何通过“Config XML”配置权限:

<templates>
    <pipeline name="app-1-template">
      <authorization>
        <admins>
          <user>operate</user>
        </admins>
      </authorization>
      ...
    </pipeline>
  </templates>

Also See

results matching ""

    No results matching ""