SSO 与 SAML
了解如何通过 SSO 与 SAML 共享您的 GitBook 内容
对于较小的团队或希望拥有大量控制权的用户而言,手动管理组织成员是可以的,但有时你需要以更自动化的方式开放访问。GitBook 允许你通过几种方式配置此项:一种是基于邮箱域的基础 SSO,另一种是更复杂的 SAML 集成。
通过邮箱域的单点登录
当你创建或管理组织时,可以添加一列你希望允许访问该 GitBook 组织的邮箱域。这意味着任何具有与所配置 SSO 域匹配的已验证邮箱地址的人都将被允许加入你的组织。
你可以在 SSO 部分启用邮箱域 SSO,位于你组织的 设置中;输入以逗号分隔的希望允许 SSO 访问的邮箱域列表,然后即可使用。
基于 SAML 的单点登录 (SSO)允许成员通过你选择的身份提供者(IdP)访问 GitBook。
GitBook 可与现有的身份提供者(IdP)轻松集成,以便你可以使用与其他服务提供者相同的凭证和登录体验为员工提供对 GitBook 的单点登录。
通过使用 SSO,你的员工将能够使用熟悉的身份提供者界面登录 GitBook,而不是 GitBook 的登录页面。然后员工的浏览器会将他们转发到 GitBook。当启用 SSO 并禁用 GitBook 自身的登录机制时,IdP 会授予对 GitBook 的访问。通过这种方式,身份验证安全性转移到你的 IdP,并与其他服务提供者协调。
GitBook SSO 的先决条件
贵公司的身份提供者(IdP)必须支持 SAML 2.0 标准。
你必须在 IdP 上拥有管理员权限。
你必须是想要在其上设置 SAML 的 GitBook 组织的管理员。
在 GitBook 上的设置
你必须是 组织管理员 才能为你的 GitBook 组织启用 SSO。
在 IdP 上配置 SSO 后,你将能够输入元数据。当设置成功时,管理员会看到确认对话框,并显示用于终端用户的 SSO 登录 URL。 GitBook 在设置完成后不会发送公告邮件。由管理员负责通知公司员工(并将登录 URL 告知他们),以便他们可以通过 SSO 访问 GitBook。
你需要从 IdP 元数据中获取以下信息以注册 SAML 提供者:
一个 标签 —— 这可以是任意内容,它会显示在登录页面上
一个 实体 ID
一个 单点登录 URL
一个 X.509 证书 —— 请确保复制并粘贴整个证书!
在 IdP 上的设置
大多数符合 SAML 2.0 的身份提供者在设置时需要关于服务提供者(在本例中为 GitBook)的相同信息。这些值是特定于你的 GitBook 组织的,可在 设置 -> SSO 选项卡中获取,该选项卡位于你想要启用 SSO 的 GitBook 组织中。
大多数这些值可以直接复制到你的 IdP 中以完成 SAML 的配置。
GitBook 要求 NameID 包含用户的电子邮件地址。技术上我们正在寻找: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress 作为 Name-ID 格式 —— 许多提供者(例如 Google)会允许你将格式设置为 EMAIL.
自定义属性
GitBook 将从 SAML 断言响应中提取以下自定义属性,并在创建用户时使用它们。
first_name
first_name 和 last_name 这些字段将组合以生成用户在 GitBook 中的显示名称
last_name
first_name 和 last_name 这些字段将组合以生成用户在 GitBook 中的显示名称
创建终端用户帐户
要添加成员,请在你的 IdP 中为他们创建帐户。新成员首次通过 IdP 登录 GitBook 时,GitBook 会通过自动的 IdP 配置为他们创建一个 GitBook 帐户。该用户将作为组织成员访问组织资源。
设置要求使用小写电子邮件地址。不要使用混合大小写的电子邮件地址。
删除帐户
从 IdP 中删除成员将阻止该用户登录到相应的 GitBook 帐户, 但不会从 GitBook 中删除该帐户。我们也建议将该帐户从 GitBook 组织中移除。
控制访问
一旦你设置了 SAML SSO,控制谁可以访问你的 GitBook 帐户的责任就落在 IdP 上。
安全提示
如果你在身份提供者提供的电子邮件地址下已有现有的 GitBook 帐户,并且你不是要登录的组织的成员,那么出于安全原因我们将无法通过 SAML 配置自动将你添加到该组织。你有两个选项:
删除你现有的 GitBook 帐户,然后使用 SAML 登录到你想要的组织。GitBook 将为你创建一个新帐户,并将你添加到该组织
或者,要求你的管理员邀请你加入该组织:
如果你的组织没有启用“强制 SSO”,组织的管理员可以通过组织设置中的成员页面邀请用户。
如果你的组织启用了“强制 SSO”,管理员将不得不使用 GitBook 的 邀请 API 端点来邀请用户加入组织。对该 API 的调用示例如下;
最后更新于
这有帮助吗?