您可以通过资源和操作控制 DC/OS 访问。参阅 权限管理,了解如何控制权限的详细信息。此页面为每个可用的 DC/OS 权限提供参考。
执行
根据您的安全模式执行 DC/OS 权限。
| 权限类别 | 宽容 | 严格 |
|---|---|---|
Admin Router 权限 (dcos:adminrouter) |
x | x |
Mesos 权限 (dcos:mesos) |
x | |
Marathon 和 Metronome 权限 (dcos:service) ) |
x | x |
密钥存储库权限 (dcos:secrets) |
x | x |
群集链接器权限 (dcos:cluster:linker) |
x | x |
超级用户权限 (dcos:superuser) |
x | x |
权限
可用操作是 create、read、update、delete 和 full. 按照惯例,full 表示权限支持所有其他操作标识符。操作 full 可能包括任何其他操作标识符不支持的操作。
许多资源标识符包括方括号中的可选部分,可以填写这些部分以进一步缩小授予的权限。如果忽略可选部分,则资源标识符引用所有可能的值。例如,资源标识符 dcos:mesos:agent:framework:role 控制对使用任何 Mesos 角色 注册的 DC/OS 服务的查看访问权限,而资源标识符 dcos:mesos:agent:framework:role:slave_public 控制对使用角色 slave_public. 注册的 DC/OS 服务的查看访问权限。
发送到 DC/OS 组件的大多数 HTTP 请求都需要认证证明。这些 包括由 DC/OS CLI、DC/OS UI、DC/OS API 以及 DC/OS 组件之间内部启动的操作。某些端点的 HTTP 请求需要 额外的授权。许多 DC/OS 组件与 DC/OS 服务 帐户用户一起发布,并在首次安装群集时 单独授予必要的权限。
有几个执行请求授权的 DC/OS 组件, 例如,Admin Router、Mesos、Marathon 等。在这种情况下,它们被称为 授权者 。所有授权者均遵循 DC/OS 授权程序。以下 是 DC/OS 授权程序的高级描述。
当授权者收到对受保护资源的 HTTP 请求时,
授权者会检查 Authorization HTTP 请求标头以获取 DC/OS
认证令牌。DC/OS 认证令牌由
授权者验证和评估。在 uid 从 DC/OS 身份验证
令牌中提取后,授权者检查是否已授予相应 DC/OS 用户
执行所请求操作的必要权限。例如,
由 uid 标识的 DC/OS 用户必须具有 full 访问权限,
该权限是针对受保护资源 dcos:adminrouter:package,以便能够通过
Admin Router 访问 DC/OS 软件包 API。
Admin Router 权限
对 DC/OS 群集发出的大多数 HTTP 请求都通过 Admin Router。对于许多
HTTP 端点,Admin Router 自身执行授权。例如,
由 uid 标识的 DC/OS 用户必须具有 full 访问权限,
dcos:adminrouter:package该权限是针对受保护资源 ,以便能够
通过 Admin Router 访问 DC/OS 软件包 API。
| 资源标识符 | 全部 | C | R | U | D |
|---|---|---|---|---|---|
dcos:adminrouter:acs控制对安全和访问管理功能的访问。 |
x | ||||
dcos:adminrouter:ops:ca:ro控制对 证书颁发机构 API 只读端点和 dcos security cluster ca Enterprise DC/OS CLI 命令的访问。 |
x | ||||
dcos:adminrouter:ops:ca:rw控制用户对 证书颁发机构 API所有端点和 dcos security cluster ca Enterprise DC/OS CLI 命令的访问。 |
x | ||||
dcos:adminrouter:ops:cockroachdb控制对 CockroachDB UI 的访问。 |
x | ||||
dcos:adminrouter:ops:exhibitor控制对 Exhibitor UI 和 API 的访问。此权限允许用户在卸载服务之后 移除 ZooKeeper 状态。 |
x | ||||
dcos:adminrouter:ops:historyservice控制对 [历史服务] 的访问(/mesosphere/dcos/cn/2.0/overview/architecture/components/#dcos-history)。这包括从 Mesos 访问可能的敏感数据,例如,所有框架的名称、其使用的资源以及每种状态中的任务数量。此服务已弃用,将在未来版本中移除。 |
x | ||||
dcos:adminrouter:ops:mesos-dns控制对 Mesos DNS API 的访问。 |
x | ||||
dcos:adminrouter:ops:mesos控制对 Mesos 管理节点 UI 和 API 的访问。 |
x | ||||
dcos:adminrouter:ops:metadata 控制对 元数据端点 的访问。 |
x | ||||
dcos:adminrouter:ops:networking控制对 网络 和 网络度量 端点的访问。 |
x | ||||
dcos:adminrouter:ops:slave控制对 Mesos 代理节点 UI 和 API 的访问。 |
x | ||||
dcos:adminrouter:ops:system-health 控制对 系统健康 API 的访问。 |
x | ||||
dcos:adminrouter:ops:system-logs 控制对 系统日志 API 的访问。 |
x | ||||
dcos:adminrouter:ops:system-metrics控制对 系统度量标准 API 的访问。 |
x | ||||
dcos:adminrouter:licensing 控制对许可 API 的访问。 |
x | ||||
dcos:adminrouter:package控制对 Cosmos API 的访问,其提供对 DC/OS 的访问Catalog 。 |
x | ||||
dcos:adminrouter:service:[<group-name>/]<service-name>控制对已安装的 DC/OS 服务的 UI 和 API 的访问。 |
x | ||||
dcos:adminrouter:service:marathon 控制对本地 Marathon 实例的访问。 |
x | ||||
dcos:adminrouter:service:metronome控制对 DC/OS 作业 (Metronome) 的访问。 |
x |
Mesos 权限
许多 Mesos 操作需要授权。
必须将必要权限分配给向 Mesos 发出 HTTP 请求的 DC/OS 用户。
这并不总是与登录 UI 或 CLI 的 DC/OS 用户相同。
例如,当 Alice 使用 UI 创建 Marathon 应用程序时,Marathon 执行
HTTP 请求授权并检查 alice DC/OS 用户是否具有
对 create 资源的 dcos:service:marathon:marathon:services:/ 访问权限。
如果是,它使用其自己的 DC/OS 用户( 具有 uid 的 dcos_marathon 的 DC/OS 服务帐户),用指令认证对 Mesos 的 HTTP 请求,以启动新的 Mesos 任务。
此时,Mesos 将执行 DC/OS 授权程序,并检查 dcos_marathon DC/OS 用户是否已在 create 资源上被授予 dcos:mesos:master:task:app_id 操作。
根据 Root Marathon 启动的应用程序只能接收为 slave_public 或 * Mesos 角色.保留的资源供应。
| 资源标识符 | 全部 | C | R | U | D |
|---|---|---|---|---|---|
dcos:mesos:agent:container:app_id[:<service-or-job-group>]控制对特定服务或作业的 调试 功能的访问 。 |
x | ||||
dcos:mesos:agent:container:role[:<role-name>]控制对给定 Mesos 角色的 调试 功能的访问。 |
x | ||||
dcos:mesos:agent:endpoint:path[:<endpoint>]控制对未受保护的 Mesos 端点 的访问。 |
x | ||||
dcos:mesos:agent:executor:app_id[:<service-or-job-group>]控制对服务和作业的查看访问权限 执行器信息。 |
x | ||||
dcos:mesos:agent:flags控制对 代理标记 配置的查看访问权限。 |
x | ||||
dcos:mesos:agent:framework:role[:<role-name>]控制对在给定 Mesos 角色 注册的 DC/OS 服务的查看访问权限。 |
x | ||||
dcos:mesos:agent:log控制对 代理日志 的访问。 |
x | ||||
dcos:mesos:agent:nested_container_session:app_id[:<service-or-job-group>]在调试 时按服务或作业组控制对在服务或作业容器内启动容器的访问。 |
x | ||||
dcos:mesos:agent:nested_container_session:role[:<role-name>]在调试 时按 Mesos 角色 控制对服务或作业容器内启动容器的访问。 |
x | ||||
dcos:mesos:agent:nested_container_session:user[:<linux-user-name>]在调试 时,按 Linux 用户,控制对服务或作业容器内启动容器的访问。两个嵌套容器的用户必须相同。 |
x | ||||
dcos:mesos:agent:resource_provider控制对按代理执行的资源提供程序信息的查看访问权限。 |
x | ||||
dcos:mesos:agent:resource_provider_config控制对按代理执行的资源提供程序配置更改的访问。 |
x | x | x | ||
dcos:mesos:agent:sandbox:app_id[:<service-or-job-group>]控制对 Mesos 沙盒的访问。 |
x | ||||
dcos:mesos:agent:task:app_id[:<service-or-job-group>]控制对任务信息的访问。 |
x | ||||
dcos:mesos:master:agent控制对停用/重新激活代理节点的访问(更新),以及对 排空代理节点(删除)的访问。 |
x | x | |||
dcos:mesos:master:block_disk控制对创建和销毁块磁盘的访问。 |
x | x | |||
dcos:mesos:master:endpoint:path[:<path>]控制对这些未受保护的 Mesos 端点 的访问: logging/toggle、/metrics/snapshot 和 /files/debug。 |
x | ||||
dcos:mesos:master:executor:app_id[:<service-or-job-group>]控制对 执行器 服务和作业组的访问。 |
x | ||||
dcos:mesos:master:flags控制对 管理标记 配置的查看访问权限。 |
x | ||||
dcos:mesos:master:framework:principal[:<service-account-id>]按服务账户 ID 控制对 Mesos 拆除 端点的访问,这允许您卸载 DC/OS 服务。 |
x | ||||
dcos:mesos:master:framework:role[:<role-name>] 按 Mesos 角色 控制对在 Mesos 注册为框架的访问。 |
x | ||||
dcos:mesos:master:log控制对 Mesos 管理节点日志的访问。 |
x | ||||
dcos:mesos:master:mount_disk控制对创建和销毁挂载磁盘的访问。 |
x | x | |||
dcos:mesos:master:quota:role[:<role-name>] 按 Mesos 角色 控制对 资源配额 的访问。 |
x | x | |||
dcos:mesos:master:reservation:principal[:<service-account-id>]按用户或服务账户 控制对取消保留 资源 的访问。 |
x | ||||
dcos:mesos:master:reservation:role[:<role-name>]按 Mesos 角色 控制对保留 资源 的访问。 |
x | ||||
dcos:mesos:master:task:app_id[:<service-or-job-group>]控制对运行任务的访问权限。 |
x | ||||
dcos:mesos:master:task:user[:<linux-user-name>]控制作为特定 Linux 系统用户对运行任务的访问权限。 |
x | ||||
dcos:mesos:master:volume:principal[:<service-account-id>]控制对销毁卷的访问权限。 |
x | ||||
dcos:mesos:master:volume:role[:<role-name>]控制为给定 Mesos 角色 创建卷的访问权限。 |
x | ||||
dcos:mesos:master:weight:role[:<role-name>]控制对给定 Mesos 角色的 权重 的访问。 |
x | x |
Marathon 和 Metronome 权限
Marathon 和 Metronome 要求对某些受保护资源发出的 HTTP 请求必须获得授权。例如,必须为 DC/OS 用户授予对 create 资源的 dcos:service:marathon:marathon:services:/dev 操作,以便在 /dev 服务组中创建新的 Marathon 应用程序。
| 资源标识符 | 全部 | C | R | U | D |
|---|---|---|---|---|---|
dcos:service:marathon:marathon:admin:config控制对 GET /v2/info Marathon 端点 的访问。 |
x | ||||
dcos:service:marathon:marathon:admin:events 控制对 Marathon 事件端点 GET /v2/events 的访问。 |
x | x | |||
dcos:service:marathon:marathon:admin:leader 控制对 GET/DELETE /v2/leader 端点的访问。 |
x | x | x | ||
dcos:service:marathon:marathon:services:/[<service-group>] 控制对本地 Marathon 实例启动的 DC/OS 服务的访问。 POST /v2/group 需要 full 操作。 |
x | x | x | x | x |
dcos:service:metronome:metronome:jobs[:<job-group>]控制对 作业和作业组 的访问。 |
x | x | x | x | x |
密钥存储库权限
这些权限控制对[密钥 API] 的访问。(/mesosphere/dcos/cn/2.0/security/ent/secrets/secrets-api/). Mesos 框架必须 将权限授予其 DC/OS 服务帐户,以访问给定的密钥。如果您正在寻找有关如何使用密钥 启动 Marathon 应用程序的信息,请参阅配置服务和 pod 以使用密钥.
| 资源标识符 | 全部 | C | R | U | D |
|---|---|---|---|---|---|
dcos:secrets:default:[/<path-name>/]<secret-name>控制对单个 密钥 的访问。 |
x | x | x | x | x |
dcos:secrets:list:default:/[<path>]控制对 密钥 名称的查看访问权限。 |
x |
群集链接器权限
DC/OS 用户需要链接群集的权限。
| 资源标识符 | 全部 | C | R | U | D |
|---|---|---|---|---|---|
dcos:cluster:linker:<cluster-id>控制对单个 群集链接 的访问。 |
x | ||||
dcos:cluster:linker:*控制对 群集链接 的访问。 |
x | x | x | x |
超级用户权限
与 Windows Administrator 或 Linux root 帐户类似,DC/OS 具有
概念。superuser. 在 create 资源上至少具有 read、update、delete、full 或 dcos:superuser 中一项权限的用户具有对
整个 DC/OS 任何操作的完全、不受限制的访问权限。这是非常强大的,对这种权限的
授予应该谨慎。
| 资源标识符 | 全部 | C | R | U | D |
|---|---|---|---|---|---|
dcos:superuser控制对 DC/OS 群集的完全访问权限。 |
x | x | x | x | x |
DC/OS文档