授予访问 Marathon UI 的权限
ENTERPRISE
授予访问 Marathon UI 的权限
您可以授予用户访问 Marathon UI 的权限。新用户默认没有权限。
使用 Web 界面授予访问权限
先决条件:
- 不具有
dcos:superuser
权限 的 DC/OS 用户账户。
- 以具有
dcos:superuser
权限的用户身份登录 DC/OS Web 界面。
图 1. DC/OS Web 界面登录
选择 Organization 并选择 Users 或 Groups。
选择要授予权限的用户名或组名。
图 2. 选择要授予权限的用户或组
从 Permissions 选项卡中,单击 ADD PERMISSION。
单击 INSERT PERMISSION STRING 以切换对话框。
图 3. 插入权限字符串
- 在 Permissions Strings 字段中复制并粘贴权限。根据您的 安全模式 选择权限字符串,单击添加权限,然后单击关闭。
禁用
所有 Marathon 权限
dcos:adminrouter:service:marathon full
宽容
Marathon 仪表盘
dcos:adminrouter:service:marathon full
启动任务
dcos:service:marathon:marathon:services:/ full
任务详情和日志
要查看任务详情和日志,您必须为 Mesos UI 授予访问权限。
严格
Marathon 仪表盘
dcos:adminrouter:service:marathon full
启动任务
dcos:service:marathon:marathon:services:/ full
任务详情和日志
要查看 Marathon 任务详情和日志,您必须授予访问 Mesos UI 的权限。
- 您可以将 DC/OS 本地 Marathon UI 的 URL 发送给用户:
http://<master-public-ip>/marathon/
。
使用 API 授予访问权限
先决条件:
- 您必须安装 DC/OS CLI 并以超级用户身份登录。
- 如果您的 安全模式 是
permissive
或strict
,则必须 获取根证书 才能发布此部分的 curl 命令。
注意:
- 服务资源通常包括
/
必须在 curl 请求中以%252F
替换的字符,如下例所示。 - 使用 API 管理权限时,您必须在授予之前先创建权限。如果权限已存在,API 将返回提示信息,您可以继续分配权限。
禁用
Marathon 仪表盘和启动任务
创建权限。
curl -X PUT \
-H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
-H 'Content-Type: application/json' \
$(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:adminrouter:service:marathon \
-d '{"description":"Grants access to the Marathon UI"}'
向用户授予以下权限
uid
。curl -X PUT \
-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/ with /groups/.
宽容
Marathon 仪表盘
创建权限。
curl -X PUT --cacert dcos-ca.crt \
-H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
-H 'Content-Type: application/json' \
$(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:adminrouter:service:marathon \
-d '{"description":"Grants access to the Marathon UI"}'
向用户授予以下权限
uid
。curl -X PUT --cacert dcos-ca.crt \
-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/ with /groups/.
启动任务
创建权限。
curl -X PUT --cacert dcos-ca.crt \
-H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
-H 'Content-Type: application/json' \
$(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F \
-d '{"description":"Grants access to launch Marathon task from UI"}'
向用户授予以下权限
uid
。curl -X PUT --cacert dcos-ca.crt \
-H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
$(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F/full
注意: 要向组而不是向用户授予权限,应替换 /users/ with /groups/.
任务详情和日志
要查看任务详情和日志,您必须授予访问 Mesos UI 的权限。
严格
Marathon 仪表盘
创建权限。
curl -X PUT --cacert dcos-ca.crt \
-H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
-H 'Content-Type: application/json' $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:adminrouter:service:marathon \
-d '{"description":"Grants access to the Marathon UI"}'
向用户授予以下权限
uid
。curl -X PUT --cacert dcos-ca.crt \
-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/ with /groups/.
启动任务
创建权限。
curl -X PUT --cacert dcos-ca.crt \
-H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
-H 'Content-Type: application/json' $(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F \
-d '{"description":"Grants access to launch Marathon task from UI"}'
向用户授予以下权限
uid
。curl -X PUT --cacert dcos-ca.crt \
-H "Authorization: token=$(dcos config show core.dcos_acs_token)" \
$(dcos config show core.dcos_url)/acs/api/v1/acls/dcos:service:marathon:marathon:services:%252F/full
注意: 要向组而不是向用户授予权限,应替换 /users/ with /groups/.
任务详情和日志
要查看任务详情和日志,您必须为 Mesos UI 授予访问权限。
您现在可以将 DC/OS 本地 Marathon UI 的 URL 发送给用户:http://<master-public-ip>/marathon/
。