访问控制是用来控制哪些用户可以访问你的Rancher服务。在默认情况下,Rancher没有启用访问控制。这意味着知道你的Rancher服务IP的人都可以访问你的Rancher服务和API。你的Rancher服务是对外开放的!我们强烈建议你在启动Rancher后立即配置访问控制,这样你可以按照需要分享你的Rancher服务。用户在访问你的Rancher服务之前,需要进行身份认证。同时,只有拥有合法的API密钥才能使用Rancher API。
Rancher认证的第一个账户将成为 管理员 账户。 想要获取有关详细信息,请参阅 管理员权限。
在 系统管理 选项卡中, 点击访问控制。
在你配置了Rancher的访问控制后,访问控制将被启用。访问控制使你能够管理不同的环境并把它们分享给不同的个人或团队。
当访问控制启用后,Rancher API将被锁定。这时需要用户进行身份认证, 或者使用API 密钥来访问它。
选择ACTIVE DIRECTORY图标。 如果你想要通过TLS来使用ACTIVE DIRECTORY,请确保你已经使用了相应的证书来启动Rancher Server。填写相关信息后,通过点击身份认证进行认证校验。 当ACTIVE DIRECTORY认证成功后,你将自动以已认证的用户名身份登录,同时把你的账号会被设置为管理员。
在配置ACTIVE DIRECTORY时,你将需要输入用户的SEARCH BASE。 此SEARCH BASE允许Rancher搜索你设置的ACTIVE DIRECTORY中的用户。如果你的用户和用户组位于相同的SEARCH BASE中,那么你仅仅需要填写用户的SEARCH BASE,但是如果你的用户组在不同的SEARCH BASE,你可以把该SEARCH BASE填写在用户组SEARCH BASE
字段下。 此字段专用于用户组搜索,该项是可选的。
选择Azure AD图标。 填写相应信息并单击Azure认证进行认证校验。 当认证成功后,你将自动以已认证的用户名身份登录。并且把你的账号设置为了管理员权限。
选择GitHub图标,并按照用户界面中的说明将Rancher注册为GitHub应用程序。 点击使用GitHub进行身份认证后,当认证成功后,你将自动以已认证的Github账号登录。并且把你的账号设置为了管理员权限。
本地身份认证允许你创建自己的一组账户,这些账户存储在Rancher数据库中。
选择本地图标。 通过提供登录用户名,全名和密码来创建管理员用户。 点击启用本地认证来启用本地身份认证。 通过单击此按钮,管理员用户将被创建并保存在数据库中。这时你将自动用刚刚创建的管理员帐户登录到Rancher服务。
填写对应信息后,通过点击身份认证进行认证校验。当OpenLDAP认证成功后,你将自动以已认证的用户名身份登录。并且把你的账号设置为了管理员权限。
在配置ACTIVE DIRECTORY时,你将需要输入用户的SEARCH BASE。 此SEARCH BASE允许Rancher搜索你设置的ACTIVE DIRECTORY中的用户。如果你的用户和用户组位于相同的SEARCH BASE中,那么你仅仅需要填写用户的SEARCH BASE,但是如果你的用户组在不同的SEARCH BASE,你可以把该SEARCH BASE填写在用户组SEARCH BASE
字段下。 此字段专用于用户组搜索,该项是可选的。
选择Shibboleth图标。 填写Shibboleth帐户的配置信息,点击保存保存信息,然后点击测试来测试访问控制是否正常工作。
在使用Shibboleth时,你应该注意一些已知的问题。
根据你的身份认证类型,Rancher提供不同级别的站点访问。
如果你已通过AD或GitHub进行身份认证,则将有3个选项可用。
已授权用户和用户组
的用户一样,都有权限访问Rancher服务。已授权用户和用户组
的用户才能访问Rancher服务。 即使用户已被添加到环境中,如果没有被添加到已授权用户和用户组
,他们将仍然无法访问Rancher服务。任何具有Rancher服务访问权限的人都将被授予 用户权限。他们将无法查看系统管理页面。 如果想要他们查看,你将需要明确地将其帐户更改为管理员帐户。
为了让用户查看不同的环境, 他们将需要被环境的所有者添加到环境中。
对于Azure AD和OpenLDAP,你的设置中的任何用户都可以访问Rancher站点。
启用本地身份认证后,管理员可以通过访问系统管理> 账号设置选项卡来创建其他管理员/用户。 点击添加账号并填写你要添加的帐户的详细信息。 你可以选择其帐户类型为管理员或用户。 管理员可以查看系统管理页面,普通用户无法看到该页面。
一旦帐户被创建后,该账户可以被添加到任何环境中。
帐户类型决定帐户是否可以访问系统管理页面。对于Rancher中的每个环境,可以设置不同级别的成员角色来对特定环境进行访问。
认证Rancher的第一个用户成为Rancher的管理员。 只有管理员才有权限查看系统管理页面
在管理环境时,管理员可以查看Rancher中的所有环境, 即使管理员没有被加入到该环境的成员中。 在非管理员的环境下拉菜单中,用户只能看到他们所在的环境。
管理员可以将其他用户添加为Rancher管理员。 在用户登录Rancher后,他们可以在 系统管理 > 账号设置页面上更改用户角色。 在系统管理> 账号设置帐户标签中,点击帐户名称旁边的编辑,并将帐户类型更改为管理员。 点击保存。
除了用来启用Rancher认证的用户外,任何其他用户都将自动拥有用户权限。 他们将无法看到系统管理页面
他们只能看到他们所在的环境。
如果你决定不再需要访问控制,请单击禁用访问控制按钮。 这将使你的Rancher服务向公众开放,任何人都可以访问你的API。 这是不推荐的。
默认情况下,会话在其创建后16小时到期。 如果你觉得时间太长,可以更新会话到期时间。
从v1.6.3版开始支持
在默认情况下,用户可以同时在线。你可以通过API来禁用同时在线的功能。
api.auth.restrict.concurrent.sessions
.
true
,然后点击保存。一旦该设置生效,在用户下次登陆的时候,之前的登陆口令将会被删除。这样,之前登陆的用户将会被登出。