第 22 章 设置社交身份验证
身份验证方法简化了最终用户的登录过程,通过使用现有登录信息向第三方网站签名,而不是为该网站专门创建新的登录帐户。
您可以在用户界面中配置帐户身份验证,并将它保存到 PostgreSQL 数据库中。
您可以在自动化控制器中配置帐户身份验证,以集中使用 OAuth2,而您可以将 SAML、RADIUS 甚至 LDAP 配置为身份验证信息来源配置企业级帐户身份验证。
对于提供帐户信息的网站,如 Microsoft Azure、Google 或 GitHub,帐户信息通常使用 OAuth 标准来实施。
OAuth 是一种安全授权协议。它通常与帐户身份验证一起使用,为第三方应用授予"会话令牌",允许他们代表用户向提供商发出 API 调用。
安全断言标记语言 (SAML)是一种基于 XML 的、开放式的数据格式,用于在身份提供程序和服务提供程序之间交换帐户身份验证和授权数据。
RADIUS 分布式客户端/服务器系统可让您保护网络不受未授权访问的影响。您可以在需要高级别安全性的网络环境中执行此操作,同时为远程用户维护网络访问。
其他资源
如需更多信息,请参阅 Automation 控制器配置部分。
22.1. GitHub 设置 复制链接链接已复制到粘贴板!
要为 GitHub 设置社交身份验证,您必须获取 web 应用程序的 OAuth2 密钥和 secret。要做到这一点,您必须首先在 https://github.com/settings/developers 将新应用程序注册到 GitHub。
要注册应用程序,您必须为其提供主页 URL,这是 GitHub 默认设置 页面的 Details 选项卡中显示 的回调 URL。OAuth2 密钥(客户端 ID)和机密(客户端 Secret)用于提供 UI 中的必填字段。
流程
- 在导航面板中,选择 。
- 在 Settings 页面中,从 Authentication 选项列表中选择 GitHub 设置。
如果尚未选择,请选择 GitHub Default 选项卡。
GitHub OAuth2 Callback URL 字段已预先填充且不可编辑。注册应用程序时,GitHub 会显示客户端 ID 和客户端 Secret。
- 点 ,并将 GitHub Client ID 复制并粘贴到 GitHub OAuth2 Key 字段中。
- 将 GitHub Client Secret 复制并粘贴到 GitHub OAuth2 Secret 字段中。
- 有关完成映射字段的更多信息,请参阅 机构映射 和 团队映射。
- 点击 。
验证
要验证是否已正确配置了身份验证,请注销自动化控制器。登录屏幕现在显示 GitHub 徽标,以启用使用这些凭证登录。
22.1.1. GitHub 机构设置 复制链接链接已复制到粘贴板!
当使用机构或机构中的团队定义帐户身份验证时,您应该使用特定的机构和团队设置。帐户身份验证可以被机构和机构中的团队限制。
您还可以通过指定基于非机构或非团队的设置来选择允许所有设置。
您可以限制只有某个机构或者机构中的某个团队的用户才可以登陆到控制器。
要为 GitHub 机构设置社交身份验证,您必须获取 web 应用程序的 OAuth2 密钥和 secret。要做到这一点,您必须首先在 https://github.com/organizations/<yourorg>/settings/applications 注册您的机构拥有的应用程序。
要注册应用程序,您必须为其提供 Authorization 回调 URL,这是 Details 页面中显示的回调 URL。每个密钥和 secret 必须属于一个唯一的应用,且不能在不同的身份验证后端之间共享或重复使用。OAuth2 密钥(客户端 ID)和机密(客户端 Secret)用于提供 UI 中的必填字段。
流程
- 在导航面板中,选择 。
- 在 Settings 页面中,从 Authentication 选项列表中选择 GitHub 设置。
选择 GitHub Organization 选项卡。
GitHub Organization OAuth2 Callback URL 字段已预先填充且不可编辑。
注册应用程序时,GitHub 会显示客户端 ID 和客户端 Secret。
- 点 ,并将 GitHub 的客户端 ID 复制并粘贴到 GitHub Organization OAuth2 Key 字段中。
- 将 GitHub 的客户端 Secret 复制并粘贴到 GitHub Organization OAuth2 Secret 字段中。
- 输入 GitHub 机构的名称,如您的组织 URL 中使用,例如,GitHub Organization Name 字段中的 https://github.com/<yourorg>/。
- 有关完成映射字段的更多信息,请参阅 机构映射 和 团队映射。
- 点击 。
验证
要验证是否已正确配置了身份验证,请注销自动化控制器。登录屏幕显示 GitHub 机构徽标,以启用使用这些凭证登录。
22.1.2. GitHub 团队设置 复制链接链接已复制到粘贴板!
要为 GitHub 团队设置社交身份验证,您必须获取 web 应用程序的 OAuth2 密钥和 secret。要做到这一点,您必须首先在 https://github.com/organizations/<yourorg>/settings/applications 注册您的团队拥有的应用程序。要注册应用程序,您必须为其提供 Authorization 回调 URL,这是 Details 页面中显示的回调 URL。每个密钥和 secret 必须属于一个唯一的应用,且不能在不同的身份验证后端之间共享或重复使用。OAuth2 密钥(客户端 ID)和机密(客户端 Secret)用于提供 UI 中的必填字段。
流程
- 使用 GitHub API 查找数字团队 ID。团队 ID 用于提供 UI 中的必填字段。
- 在导航面板中,选择 。
- 在 Settings 页面中,从 Authentication 选项列表中选择 GitHub 设置。
点 GitHub Team 选项卡。
GitHub Team OAuth2 Callback URL 字段已预先填充且不可编辑。注册应用程序时,GitHub 会显示客户端 ID 和客户端 Secret。
- 点 ,并将 GitHub 的客户端 ID 复制并粘贴到 GitHub Team OAuth2 Key 字段中。
- 将 GitHub 的客户端 Secret 复制并粘贴到 GitHub Team OAuth2 Secret 字段中。
- 在 GitHub Team ID 字段中复制并粘贴 GitHub 团队 ID。
- 有关完成映射字段的更多信息,请参阅 机构映射 和 团队映射。
- 点
验证
要验证是否已正确配置了身份验证,请注销自动化控制器。登录屏幕显示 GitHub 团队徽标,以启用使用这些凭证登录。
22.1.3. GitHub Enterprise 设置 复制链接链接已复制到粘贴板!
要为 GitHub Enterprise 设置社交身份验证,您必须获取 web 应用程序的 GitHub Enterprise URL、API URL、OAuth2 密钥和 secret。
要获取 URL,请参阅 GitHub Enterprise 管理 文档。
要获取密钥和 secret,您必须首先在 https://github.com/organizations/<yourorg>/settings/applications 注册您的企业拥有的应用程序。
要注册应用程序,您必须为其提供 Authorization 回调 URL,这是 Details 页面中显示的回调 URL。因为它托管在站点上而不是 github.com,所以您必须指定它与之通信的身份验证适配器。
每个密钥和 secret 必须属于一个唯一的应用,且不能在不同的身份验证后端之间共享或重复使用。OAuth2 密钥(客户端 ID)和机密(客户端 Secret)用于提供 UI 中的必填字段。
流程
- 在导航面板中,选择 。
- 在 Settings 页面中,从 Authentication 选项列表中选择 GitHub 设置。
单击 GitHub Enterprise 选项卡。
GitHub Enterprise OAuth2 Callback URL 字段已预先填充且不可编辑。注册应用程序时,GitHub 会显示客户端 ID 和客户端 Secret。
- 点 以配置 GitHub Enterprise 设置。
- 在 GitHub Enterprise URL 字段中,输入 GitHub Enterprise 实例的主机名,例如 https://github.example.com。
- 在 GitHub Enterprise API URL 字段中,输入 GitHub Enterprise 实例的 API URL,例如 https://github.example.com/api/v3。
- 将 GitHub 的客户端 ID 复制并粘贴到 GitHub Enterprise OAuth2 Key 字段中。
- 将 GitHub 的客户端 Secret 复制并粘贴到 GitHub Enterprise OAuth2 Secret 字段中。
- 有关完成映射字段的更多信息,请参阅 机构映射 和 团队映射。
- 点击 。
验证
要验证是否已正确配置了身份验证,请注销自动化控制器。登录屏幕显示 GitHub Enterprise 徽标,以启用使用这些凭证登录。
22.1.4. GitHub Enterprise 组织设置 复制链接链接已复制到粘贴板!
要为 GitHub Enterprise Organization 设置社交身份验证,您必须获取 GitHub Enterprise Organization URL、机构 API URL、机构 OAuth2 密钥和 web 应用程序的 secret。
要获取 URL,请参阅 GitHub Enterprise 管理 中的 GitHub 文档。
要获取密钥和 secret,您必须首先在 https://github.com/organizations/<yourorg>/settings/applications注册您的企业拥有的应用程序
要注册应用程序,您必须为其提供 Authorization 回调 URL,这是 Details 页面中显示的回调 URL。
因为它托管在站点上而不是 github.com,所以您必须指定它与之通信的身份验证适配器。
每个密钥和 secret 必须属于一个唯一的应用,且不能在不同的身份验证后端之间共享或重复使用。OAuth2 密钥(客户端 ID)和机密(客户端 Secret)用于提供 UI 中的必填字段。
流程
- 在导航面板中,选择 。
- 在 Settings 页面中,从 Authentication 选项列表中选择 GitHub 设置。
单击 GitHub Enterprise Organization 选项卡。
GitHub Enterprise Organization OAuth2 Callback URL 字段已预先填充且不可编辑。注册应用程序时,GitHub 会显示客户端 ID 和客户端 Secret。
- 点 来配置 GitHub Enterprise Organization 设置。
- 在 GitHub Enterprise Organization URL 字段中,输入 GitHub Enterprise Organization 实例的主机名,例如 https://github.orgexample.com。
- 在 GitHub Enterprise Organization API URL 字段中,输入 GitHub Enterprise Organization 实例的 API URL,例如 https://github.orgexample.com/api/v3。
- 将 GitHub 的客户端 ID 复制并粘贴到 GitHub Enterprise Organization OAuth2 Key 字段中。
- 将 GitHub 的客户端 Secret 复制并粘贴到 GitHub Enterprise Organization OAuth2 Secret 字段中。
- 输入 GitHub Enterprise organization 的名称,如您的组织 URL 中使用,例如,GitHub Enterprise Organization Name 字段中的 https://github.com/<yourorg >/。
- 有关完成映射字段的更多信息,请参阅 机构映射 和 团队映射。
- 点击 。
验证
要验证是否已正确配置了身份验证,请注销自动化控制器。登录屏幕显示 GitHub Enterprise Organization 徽标,以启用使用这些凭证登录。
22.1.5. GitHub Enterprise Team 设置 复制链接链接已复制到粘贴板!
要为 GitHub Enterprise 团队设置社交身份验证,您必须获取 GitHub Enterprise Organization URL、机构 API URL、机构 OAuth2 密钥和 web 应用程序的 secret。
要获取 URL,请参阅 GitHub Enterprise 管理 中的 GitHub 文档。
要获取密钥和 secret,您必须首先在 https://github.com/organizations/<yourorg>/settings/applications 注册您的企业团队拥有的应用程序。
要注册应用程序,您必须为其提供 Authorization 回调 URL,这是 Details 页面中显示的回调 URL。因为它托管在站点上,而不是 github.com,所以您必须指定它与之通信的身份验证适配器。
每个密钥和 secret 必须属于一个唯一的应用,且不能在不同的身份验证后端之间共享或重复使用。OAuth2key (客户端 ID)和机密(客户端 Secret)用于提供 UI 中的必填字段。
流程
- 使用 GitHub API 查找数字团队 ID。团队 ID 将用于在 UI 中提供必填字段。
- 在导航面板中,选择 。
- 在 Settings 页面中,从 Authentication 选项列表中选择 GitHub 设置。
单击 GitHub Enterprise Team 选项卡。
GitHub Enterprise Team OAuth2 Callback URL 字段已预先填充且不可编辑。注册应用程序时,GitHub 会显示客户端 ID 和客户端 Secret。
- 单击 以配置 GitHub Enterprise Team 设置。
- 在 GitHub Enterprise Team URL 字段中,输入 GitHub Enterprise team 实例的主机名,例如 https://github.teamexample.com。
- 在 GitHub Enterprise Team API URL 字段中,输入 GitHub Enterprise team 实例的 API URL,例如 https://github.teamexample.com/api/v3。
- 将 GitHub 的客户端 ID 复制并粘贴到 GitHub Enterprise Team OAuth2 Key 字段中。
- 将 GitHub 的客户端 Secret 复制并粘贴到 GitHub Enterprise Team OAuth2 Secret 字段中。
- 在 GitHub Enterprise Team ID 字段中复制并粘贴 GitHub 团队 ID。
- 有关完成映射字段的更多信息,请参阅 机构映射 和 团队映射。
- 点击 。
验证
要验证是否已正确配置了身份验证,请注销自动化控制器。登录屏幕显示 GitHub Enterprise Teams 徽标,以启用使用这些凭证登录。