本文永久链接: https://www.xtplayer.cn/rancher/authentication/rancher2-azure-ad-authentication/

版本支持: Rancher v2.0.3+

如果您在 Azure 中启用了 Active Directory(AD) 服务,则可以配置 Rancher 以允许您的用户使用 Azure AD 帐户登录。

注意 在开始之前,请熟悉 外部身份验证配置和主要用户 的概念。

在 Azure 中注册 Rancher

在 Rancher 中启用 Azure AD 之前,必须向 Azure 注册 Rancher。

Azure 分 Global 区和中国区:

  • 中国区 Portal 地址:https://portal.azure.cn
  • Global 区 Portal 地址:https://portal.azure.com

本文配置以中国区为例,Global 区方法类似

  1. 步骤中的配置需要管理访问权限,所以需要以管理用户身份登录 Microsoft Azure portal

  2. 搜索应用注册并打开

  3. 点击新应用程序注册, 并完成表单填写,最后点击右下角的创建。

    注意 登录 URL 需要填写为 Rancher 设置中配置的 server_url,但是中国区需要在 rancher_server_url 地址后面添加 verify-auth-azure 后缀,例如:https://demo.rancher.com/verify-auth-azure,Azure 为 Global 区不用添加。

创建 Azure API 密钥

从 Azure 门户中创建 API 密钥,Rancher 将使用此密钥对 Azure AD 进行身份验证。

  1. 搜索应用注册服务,然后打开上一个过程中创建的 rancher-test。可能会提示您不是此目录中任何应用程序的所有者,直接点击查看所有应用程序。

  2. 点击 rancher-test 后弹出新的窗口

  3. 单击设置,从设置边栏中选择密钥

  4. 输入密钥描述,比如 rancher-test,选择密钥的有效期,最后点击保存。

注意 因为密钥只显示一次,所以需要复制密钥并保存到一个安全的地方。

设置 Rancher 的必需权限

接下来,在 Azure 中为 Rancher 设置 API 权限。

  1. 紧接上一步,从设置边栏选择所需权限

  2. 单击Windows Azure Active Directory

  3. 启用访问权限边栏选项卡中,勾选以下委派权限

    • 以登录用户身份访问该目录
    • 读取目录数据
    • 读取所有群组
    • 读取所有用户的完整个人资料
    • 读取所有用户的基本配置文件
    • 登录并读取用户个人资料

    注意:

    必须以 Azure 管理员身份登录才能成功保存权限设置。

复制 Azure 应用程序数据

Azure 配置的最后一步,复制用于配置 Rancher 进行 Azure AD 身份验证的相关配置参数到空文本文件中。

  1. 获取目录 ID

    • 搜索 Azure Active Directory 服务

    • 从 Azure Active Directory 菜单中,打开属性

    • 复制目录 ID 并将其粘贴到文本文件中

  2. 获取应用 ID

    • 搜索应用注册

    • 找到创建的 rancher-test 应用

    • 复制应用程序 ID 并将其粘贴到您的文本文件中

    • 获取 MICROSOFT AZURE AD GRAPH API 终结点OAUTH 2.0 令牌终结点OAUTH 2.0 授权终结点

    • 搜索应用注册,并点击终结点

  3. 将以下端点复制到剪贴板并将其粘贴到文本文件中

    • MICROSOFT AZURE AD GRAPH API 终结点
    • OAUTH 2.0 令牌终结点
    • OAUTH 2.0 授权终结点

在 Rancher 中配置 Azure AD

在 Rancher UI 中,输入在 Azure 中获取到的 AD 配置信息以完成配置。

  1. 登录 RancherUI,从全局视图中,选择安全>认证

  2. 选择 Azure AD。

  3. 输入对应的配置信息:

    下表是 Azure 门户配置与 Rancher 认证配置的字段对应表:

    RancherAzure AD
    租户 ID(Tenant ID)目录 ID(Directory ID)
    应用 ID(Application ID)应用 ID(Application ID)
    Application Secret密钥
    Endpointhttps://login.chinacloudapi.cn
    Graph Endpointhttps://graph.chinacloudapi.cn
    Token EndpointOAUTH 2.0 令牌终结点
    Auth EndpointOAUTH 2.0 授权终结点

    重要提示

    Global 区 Endpoint 地址: https://login.windows.net/
    Global 区 Graph Endpoint 地址:https://graph.windows.net/
    具体信息请查阅:Check-endpoints-in-Azure

  4. 最后点击启用 Azure AD