身份认证管理
管理 DC/OS CLI 中的身份认证
DC/OS 用户数据库通过在路径 /dcos/users
下 znodes 中的管理节点上运行而保留在 ZooKeeper 中。在 HTTP 授权标题中发送至 DC/OS 的令牌必须采用以下格式:token=<token>
. 在未来的版本中 Bearer <token>
还将受到支持 。
DC/OS 开源通过 CLI 命令提供安全管理;请参阅 CLI 命令参考。在 CLI 中,您可以对群集进行身份认证,甚至可以选择退出基于 Auth0 的身份认证。
通过 DC/OS CLI 进行身份认证
仅 DC/OS CLI 版本 0.4.3 及更高版本支持身份认证。有关升级说明,请参阅此处。
DC/OS CLI 将令牌存储在运行 CLI 的用户主目录下的目录 .dcos
中的配置文件里。此令牌可与 curl
命令一起使用,以访问 DC/OS API,使用 curl
或 wget
。例如,curl -H 'Authorization: token=<token>' http://cluster
。
在终端提示符下,使用以下命令对集群进行身份认证。
dcos auth login
以下是输出示例:
Please go to the following link in your browser:
https://<public-master-ip>/login?redirect_uri=urn:ietf:wg:oauth:2.0:oob
Enter OpenID Connect ID Token:
在终端提示符中复制 URL 并将其粘贴到浏览器中。
单击与您首选的身份提供程序相对应的按钮。
图 1. 选择身份提供程序
如果出现提示,请将凭据提供给身份提供程序。如果您在当前浏览器会话期间已经对身份提供程序进行了认证身份,则无需再次执行此操作。
图 2. Auth 登录令牌
单击 Copy to Clipboard。
返回到终端提示符,并在提示时粘贴 OpenID Connect ID 令牌值。
您应该收到以下消息。
Login successful!
要注销,请运行此命令:
dcos auth logout
身份认证选择退出
如果您正在进行高级安装,则可以通过将此参数添加到配置文件 (genconf/config.yaml
) 中选择退出基于 Auth0 的身份认证。
oauth_enabled: 'false'
如需更多信息,请参阅配置文档。
如果您正在 AWS 上进行云安装,则可以在指定详细信息步骤上将 OAuthEnabled
选项设置为 false
以禁用身份认证。
如果您在 Azure 上进行云安装,则无法禁用身份认证。此选项将在未来 版本中与其他选项一起添加以自定义身份认证的选项。
请注意,如果您已经安装了集群并希望就地禁用此功能,则可以使用相同的参数集进行升级。
延伸阅读
- 让我们加密 DC/OS!: 使用 Let’s Encrypt 的博客帖子,具有 在 DC/OS 上运行的服务。
未来工作
我们期待与 DC/OS 社区合作,改进现有 安全功能,并在即将发布的版本中引入新功能。
后续步骤
排除身份认证故障
排除 DC/OS 开源部署中的身份认证问题…
HTTP API 端点身份认证
使用 HTTP API 端点进行身份认证…