授权用户

    您的查询搜索没有结果。

    授权

    在没有启用安全性的前提下,当然也没有授权。一旦配置了安全性,默认情况下任何用户都可以执行任何操作。然而,GoCD可以将某些操作限制为特定用户或角色,并管理这些角色的成员。

    管理员

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

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

    • 访问“管理”选项卡
    • 添加/编辑管道模板
    • 启用代理
    • 添加/删除代理资源

    可以从“管理”菜单下的“用户管理”部分将用户设置为管理员。

    若要通过“Config xml”给予用户和/或角色管理员权限,请参阅下面章节中的示例,其中“go_admin”角色的成员(jhumble和qiao)以及用户chris可以管理GoCD。

    基于角色的访问控制

    您可以定义可以在任何需要授权的地方使用的角色。角色只是一组用户。管理员可以从“管理”部分的“用户摘要”选项卡中将用户添加到新角色或现有角色中。在这里,您可以选择任意数量的用户并给他们分配新角色或现有角色。在此示例中,将用户“aantony”添加到了角色“analyst”中。

    对于高级用户,这是如何通过“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。

    启动GoCD19.11.0,可以配置角色以允许被赋予该角色的用户如何访问GoCD实体。GoCD系统管理员现在可以定义一个角色,其中包含一组权限,用于管理属于该角色的用户的GoCD实体访问。policy能够包含一组权限来管理属于该角色的用户的GoCD实体访问。

    以下角色定义将授予view对GoCD实体类型的environment匹配的通配符模式的操作权限:

    ...
        <roles>
            <role name="view-permissions">
                <policy>
                    <allow type="environment" action="view">env*</allow>
                </policy>
            </role>
        </roles>
    ...
    

    这意味着任何拥有角色view-permissions的用户都将获得view对环境的访问权限,其名称以env开头。您可以阅读更多关于策略的内容在这里.

    为管道组指定权限

    GoCD允许您将管道分组在一起。如果您定义了管道组,则可以指定谁能查看或操作这些组。为此,您需要为管道组配置权限。即使系统管理员未明确授予权限,他们仍然可以完全访问管道组。


    注意:如果未为管道组定义授权,则仅GoCD系统管理员可以查看和操作它。


    The “查看”权限允许用户查看管道。它不包括触发管道、批准阶段或重新运行阶段的权限。在下面的例子中,用户“akrishna”和“aantony”可以查看此组中的管道,但他们无法对该组执行任何操作。

    The “操作”权限允许用户触发管道及其阶段。在下面的例子中,角色“developer”被授予了操作权限,能够触发此组内的管道及其阶段。

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

    请注意,可以仅给用户或角色操作权限。在下面的例子中,用户“bot”仅有操作权限。这意味着他们无法查看管道,只能对其进行操作。这可用于让脚本通过API操作管道,而不允许该用户访问GoCD的其他功能。

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

    然后,点击您要管理权限的管道组的“编辑”链接:

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

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

    为审批添加授权

    在GoCD中,可以指定阶段间的手动审批。还可以指定哪个用户可以触发手动审批。

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

    对于高级用户,这是如何通过“Config XML”为阶段配置审批授权的方法:

    <stage name="stage">
    
      <approval type="manual">
        <authorization>
          <role>dev</role>
          <user>operate</user>
        </authorization>
      </approval>
    
      <jobs>
        <job name="deploy">
          <resources>
            <resource>uat</resource>
          </resources>
          <tasks>
            <ant target="deploy" />
          </tasks>
        </job>
      </jobs>
    </stage>
    

    为模板指定权限

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

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

    然后,单击您想要管理权限的模板对应的“Permissions”链接:

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

    <templates>
        <pipeline name="app-1-template">
          <authorization>
            <view>
                <role>dev</role>
            </view>
            <admins>
              <user>tez</user>
            </admins>
          </authorization>
          ...
        </pipeline>
      </templates>
    

    另请参阅

    无噪 Logo
    无噪文档
    25 年 6 月翻译
    版本号 25.2.0
    文档源↗