授予访问 Marathon UI 的权限

ENTERPRISE

授予访问 Marathon UI 的权限

您可以授予用户访问 Marathon UI 的权限。新用户默认没有权限。

使用 Web 界面授予访问权限

前提条件:

  • 不具有 dcos:superuser 权限 的 DC/OS 用户账户。
  1. 以具有 dcos:superuser 权限的用户身份登录 DC/OS Web 界面。

    登录

    图 1. 登录 Web 界面

  2. 选择组织,然后选择用户

  3. 选择要授予权限的用户名或组名。

    添加 cory 权限

    图 2. 选择要授予权限的用户或组

  1. 权限选项卡上,单击添加权限

  2. 单击插入权限字符串以切换对话框。

    添加权限

    图 3. 添加权限

  3. 权限字符串字段中复制并粘贴权限。根据您的 安全模式 选择权限字符串,单击添加权限,然后单击关闭

宽容

Marathon 仪表盘

  1. dcos:adminrouter:service:marathon full

启动任务

  1. dcos:service:marathon:marathon:services:/ full

任务详情和日志

要查看任务详情和日志,您必须授予访问 Mesos UI 的权限。

严格

Marathon 仪表盘

  1. dcos:adminrouter:service:marathon full

启动任务

  1. dcos:service:marathon:marathon:services:/ full

任务详情和日志

要查看 Marathon 任务详情和日志,您必须授予访问 Mesos UI 的权限。

  1. 您可以将 DC/OS 本地 Marathon UI 的 URL 发送给用户:http://<master-public-ip>/marathon/

使用 API 授予访问权限

前提条件:

Notes

  • 服务资源通常包括 / 必须在 curl 请求中以 %252F 替换的字符,如下例所示。
  • 使用 API 管理权限时,您必须在授予之前先创建权限。如果权限已存在,API 将返回提示信息,您可以继续分配权限。

宽容

Marathon 仪表盘

  1. 创建权限。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
    3. -H 'Content-Type: application/json' \
    4. $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:adminrouter:service:marathon \
    5. -d '{"description":"Grants access to the Marathon UI"}'
  2. 向用户 uid 授予以下特权。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:adminrouter:service:marathon/users/<uid>/full

注意:要向组而不是向用户授予权限,应将 /users/"uid" 替换为/groups/"gid"

启动任务

  1. 创建权限。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
    3. -H 'Content-Type: application/json' \
    4. $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F \
    5. -d '{"description":"Grants access to launch Marathon task from UI"}'
  2. 向用户 uid 授予以下特权。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
    3. $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F/full

注意:要向组而不是向用户授予权限,应将 /users/"uid" 替换为/groups/"gid"

任务详情和日志

要查看任务详情和日志,您必须授予访问 [Mesos UI] 的权限(/cn/1.12/security/ent/gui-permissions/mesos-ui/)。

严格

Marathon 仪表盘

  1. 创建权限。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
    3. -H 'Content-Type: application/json' $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:adminrouter:service:marathon \
    4. -d '{"description":"Grants access to the Marathon UI"}'
  2. 向用户 uid 授予以下特权。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:adminrouter:service:marathon/users/<uid>/full

    注意:要向组而不是向用户授予权限,应将 /users/"uid" 替换为/groups/"gid"

启动任务

  1. 创建权限。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
    3. -H 'Content-Type: application/json' $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F \
    4. -d '{"description":"Grants access to launch Marathon task from UI"}'
  2. 向用户 uid 授予以下特权。

    1. curl -X PUT --cacert dcos-ca.crt \
    2. -H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
    3. $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F/full

    注意:要向组而不是向用户授予权限,应将 /users/"uid" 替换为/groups/"gid"

任务详情和日志

要查看任务详情和日志,您必须授予访问 Mesos UI 的权限。

您现在可以将 DC/OS 本地 Marathon UI 的 URL 发送给用户:http://<master-public-ip>/marathon/