阅读(687) (2)

GitHub 在企业帐户中实施安全设置

2020-08-19 14:26:26 更新

企业所有者可以为企业帐户拥有的所有组织实施特定的安全策略。

企业帐户可用于 GitHub Enterprise Cloud 和 GitHub Enterprise Server。 更多信息请参阅“关于企业帐户”。

要求企业帐户中的组织进行双重身份验证

企业所有者可以要求企业帐户拥有的所有组织中的组织成员、帐单管理员和外部协作者使用双重身份验证来保护其个人帐户。

您必须为自己的帐户启用双重身份验证,然后才能对企业帐户拥有的所有组织都要求 2FA。 更多信息请参阅“使用双重身份验证 (2FA) 保护您的帐户”。

警告:

- 当您需要为企业帐户进行双重身份验证时,不使用 2FA 的企业帐户拥有的所有组织中的成员、外部协作者和帐单管理员(包括自动程序帐户)将从组织中删除,并失去对其仓库的访问权限。 他们还会失去对组织私有仓库的复刻的访问权限。 如果他们在从您的组织中删除后的三个月内为其个人帐户启用双重身份验证,您可以恢复其访问权限和设置。 更多信息请参阅“恢复组织的前成员”。
- 为其个人帐户禁用 2FA 的企业帐户拥有的任何组织中的任何组织所有者、成员、帐单管理员或外部协作者在您启用所需的双重身份验证后将自动从组织中删除。
- 如果您是某个要求双重身份验证的企业帐户的唯一所有者,则在不为企业帐户禁用双重身份验证要求的情况下,您将无法为个人帐户禁用 2FA。

在您要求使用双重身份验证之前,我们建议通知组织成员、外部协作者和帐单管理员,并要求他们为帐户设置双重身份验证。 组织所有者可以查看成员和外部协作者是否已在每个组织的 People(人员)页面上使用 2FA。 更多信息请参阅“查看组织中的用户是否已启用 2FA”。

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“Two-factor authentication(双重身份验证)”下,审查有关更改设置的信息。 (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 View your organizations' current configurations(查看组织的当前配置)

查看企业中组织的当前策略配置的链接

  1. 在“Two-factor authentication(双重身份验证)”下,选择 Require two-factor authentication for all organizations in your business(对您企业中的所有组织要求双重身份验证),然后单击 Save(保存)

要求双重身份验证的复选框

  1. 如果出现提示,请阅读有关将从企业帐户所拥有的组织中删除的成员和外部协作者的信息。 要确认更改,请输入企业帐户的名称,然后单击 Remove members & require two-factor authentication(删除成员并要求双重身份验证)

确认双重实施框

  1. (可选)如果从您的企业帐户拥有的组织中删除了任何成员或外部协作者,我们建议向他们发送邀请,以恢复其以前对组织的权限和访问权限。 每个人都必须启用双重身份验证,然后才能接受您的邀请。

管理企业帐户中组织允许的 IP 地址

企业所有者可以通过为特定 IP 地址配置允许列表,来限制对企业帐户中组织拥有的资产的访问。 例如,您可以只允许从您办公室网络的 IP 地址访问。 IP 地址的允许列表将阻止 从不在允许列表中的任何 IP 地址通过 web、API、Git 进行访问。

您可以使用 CIDR 表示法批准访问单个 IP 地址或地址范围。 更多信息请参阅维基百科上的“CIDR 表示法”。

要执行 IP 允许列表,必须先将 IP 地址添加到列表,然后启用 IP 允许列表。 您必须先添加当前 IP 地址或匹配范围,然后才能启用 IP 允许列表。

您还可以为单个组织配置允许的 IP 地址。 更多信息请参阅“管理组织允许的 IP 地址”。

添加允许的 IP 地址

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“IP Address(IP 地址)”下,以 CIDR 表示法输入 IP 地址或地址范围。

添加 IP 地址的关键字段

  1. 在“Description(说明)”下,输入允许的 IP 地址或范围的说明。

添加 IP 地址名称的关键字段

  1. 单击 + Add(添加)

添加允许的 ip 地址按钮

启用允许的 IP 地址

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“IP allow list(IP 允许列表)”下,选择 Enable IP allow list(启用 IP 允许列表)

允许 IP 地址的复选框

  1. 单击 Save(保存)

编辑允许的 IP 地址

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“ "IP allow list(IP 允许列表)”下您要编辑的条目右侧,单击 Edit(编辑)

编辑允许的 IP 地址按钮

  1. 以 CIDR 表示法输入 IP 地址或地址范围。

添加 IP 地址的关键字段

  1. 输入允许的 IP 地址或范围的说明。

添加 IP 地址名称的关键字段

  1. 单击 Update(更新)

删除允许的 IP 地址

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“ "IP allow list(IP 允许列表)”下您要删除的条目右侧,单击 Delete(删除)

删除允许的 IP 地址按钮

  1. 要永久删除该条目,请单击 Yes, delete this IP allow list entry(是,删除此 IP 允许列表条目)

永久删除 IP 允许列表条目按钮

对 GitHub 操作 使用 IP 允许列表

警告:如果您使用 IP 允许列表,并且还希望使用 GitHub 操作,则必须使用自托管运行器。 更多信息请参阅“托管您自己的运行器”。

要允许自托管运行器与 GitHub 通信,请将自托管运行器的 IP 地址或 IP 地址范围添加到 IP 允许列表。 更多信息请参阅“添加允许的 IP 地址”。

为企业帐户中的组织启用 SAML 单点登录

SAML SSO 为 GitHub 上的组织所有者和企业所有者提供一种控制安全访问仓库、议题和拉取请求等组织资源的方法。更多信息请参阅“关于使用 SAML 单点登录管理身份和访问”。

企业所有者可以通过 SAML IdP 跨企业帐户拥有的所有组织启用 SAML SSO 和集中式身份验证。 为企业帐户启用 SAML SSO 后,默认情况下会为您的企业帐户拥有的所有组织启用 SAML SSO。 所有成员都需要使用 SAML SSO 进行身份验证才能访问其所属的组织,并且企业所有者在访问企业帐户时需要使用 SAML SSO 进行身份验证。

要在 GitHub 上访问每个组织的资源,成员必须在其浏览器中启动 SAML 会话。 要使用 API 和 Git 访问每个组织的受保护资源,成员必须使用被授权在组织中使用的个人访问令牌或 SSH 密钥。 企业所有者可以随时查看和撤销成员链接的身份、活动的会话或授权的凭据。 更多信息请参阅“查看和管理用户对企业帐户的 SAML 访问”。

我们向执行 SAML 2.0 标准的所有身份提供程序提供有限的支持。 我们正式支持以下经过内部测试的身份提供程序:

  • Active Directory Federation Services (AD FS)
  • Azure Active Directory (Azure AD)
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

如果您正在参加针对企业帐户用户配置的私人Beta版,则当您为企业帐户启用SAML时,默认情况下会在GitHub中启用SCIM置备和取消置备。 您可以通过在IdP中配置SCIM,使用资源调配来管理组织成员身份。 如果您没有参与私人测试,那么 SIM 卡不支持企业账户。更多信息请参阅“管理企业帐户中组织的用户配置”。

注意: 为您的企业帐户启用SAML单一登录身份验证将覆盖任何现有的组织级SAML配置。

有关如何使用 Okta 启用 SAML 的更多详细信息,请参阅使用 Okta 为企业帐户配置 SAML 单点登录和 SCIM

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. (可选)要在实施设置之前,查看设置对企业帐户中所有组织的当前配置,请单击 View your organizations' current configurations(查看组织的当前配置)

查看企业中组织的当前策略配置的链接

  1. 在“SAML single sign-on”(SAML 单点登录)下,选择 Enable SAML authentication(启用 SAML 身份验证)

用于启用 SAML SSO 的复选框

  1. Sign on URL(登录 URL)字段中,为单点登录请求输入您的 IdP 的 HTTPS 端点。 此值可在 IdP 配置中找到。

登录时将成员转发到的 URL 字段

  1. (可选)在 Issuer(签发者) 字段中,输入您的 SAML 签发者的姓名。 此操作验证已发送消息的真实性。

SAML 签发者姓名字段

  1. Public Certificate(公共证书)下,粘贴证书以验证 SAML 响应。

身份提供程序的公共证书字段

  1. 要验证来自 SAML 签发者的请求的完整性,请单击 edit。 然后,在 Signature Method(签名方法)和 Digest Method(摘要方法)下拉菜单中,选择 SAML 签发者使用的哈希算法。

SAML 签发者使用的签名方法和摘要方法哈希算法下拉列表

  1. 在为企业启用 SAML SSO 之前,单击 Test SAML configuration(测试 SMAL 配置) ,以确保已输入的信息正确。

实施前测试 SAML 配置的按钮

  1. 单击 Save(保存)

管理企业帐户中组织的用户配置

企业所有者可直接从身份提供程序 (IdP) 管理企业帐户中的组织成员身份。

注意: 企业帐户的用户配置当前处于私有Beta中,并且可能会发生变化。请求访问Beta, contact our account management team.

如果使用Okta作为IdP,则可以使用SCIM管理企业帐户中的组织成员身份。SCIM会根据他们是否是与您的IdP中每个组织相对应的组的成员,自动邀请人们加入您企业帐户中的组织或从中删除组织。

如果您正在参加针对企业帐户用户配置的私人Beta版,则当您为企业帐户启用SAML时,默认情况下会在GitHub中启用SCIM置备和取消置备。 您可以通过在IdP中配置SCIM,使用资源调配来管理组织成员身份。(可选)您也可以启用 SAML 预配和单独取消预配。

如果您在 IdP 中配置 SCIM,每次更改您在 IdP 中的成员身份时, 您的 IdP 将向 GitHub 发出 SCIM 呼叫来更新对应组织的成员身份。 如果启用 SAML 预配,则每当企业成员访问受企业帐户 SAML 配置保护的资源时,该 SAML 断言都将触发预配。

对于每个 SCIM 呼叫或 SAML 断言,GitHub 都将检查用户所属的 IdP 组并执行以下操作:

  • 如果用户是企业帐户拥有的组织对应的 IdP 组的成员,并且该用户当前不是该组织的成员,请将该用户添加到组织(SAML 断言)或向用户发送电子邮件邀请其加入组织(SCIM 呼叫)。
  • 取消邀请用户加入您的企业帐户所拥有的组织的任何现有邀请。

对于每个 SCIM 呼叫,如果您启用 SAML 解除预配,则对于每个 SAML 断言,GitHub 也会执行以下操作:

  • 如果用户不是企业帐户拥有的组织对应的 IdP 组的成员,并且该用户当前是该组织的成员,请将组织中删除该用户。

如果解除预配从组织中删除最后一个剩余的所有者,组织将变得没有所有者。 企业所有者可以接管无所有者组织的所有权。 更多信息请参阅“管理企业帐户中无所有者的组织”。

要使用 Okta 为您的企业帐户启用用户预配,请参阅“使用 Okta 为企业帐户配置 SAML 单点登录和 SCIM”。

管理企业帐户中组织的团队同步

企业所有者可以在 IdP 与 GitHub 之间启用团队同步,以让组织所有者和团队维护员将企业帐户拥有的组织中的团队与 IdP 组连接起来。

当您将 GitHub 团队与 IdP 组同步时,IdP 组的变更将自动反映在 GitHub 上,从而减少对手动更新和自定义脚本的需求。 您可以使用 IdP 与团队同步来管理一系列管理任务,如新成员登记、为组织内的调动授予新权限及删除成员对组织的访问权限。

您可通过 Azure AD 对企业帐户使用团队同步。

启用团队同步后,团队维护员和组织所有者可在 GitHub 上或通过 API 将团队连接至 IdP 组。 有关更多信息,请参见 "Synchronizing a team with an identity provider group" and "Team synchronization."

警告:禁用团队同步时,通过 IdP 组分配给 GitHub 团队的任何团队成员都将从该团队删除,并且可能失去仓库访问权限。

您也可以为单个组织配置和管理团队同步。 更多信息请参阅“管理组织的团队同步”。

基本要求

在可以为企业帐户启用团队同步之前:

管理 Azure AD 的团队同步

要为 Azure AD 启用团队同步,Azure AD 安装需要以下权限:

  • 读取所有用户的完整个人资料
  • 登录和读取用户个人资料
  • 读取目录数据

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 确认 SAML SSO 已启用。 更多信息请参阅“管理组织的 SAML 单点登录”。

  1. 在“Team synchronization(团队同步)”下,单击 Enable for Azure AD(为 Azure AD 启用)

安全设置页面上的启用团队同步按钮

  1. 要确认团队同步:

  • 如果您有 IdP 访问权限,则单击 Enable team synchronization(启用团队同步)。 您将被重定向到身份提供程序的 SAML SSO 页面,并要求选择您的帐户和查看请求的权限。

  • 如果您没有 IdP 访问权限,请复制 IdP 重定向链接并将其与您的 IdP 管理员共享以继续启用团队同步。

启用团队同步重定向按钮

  1. 查看要连接到企业帐户的身份提供程序租户信息,然后单击 Approve(批准)

启用特定 IdP 租户团队同步且含有批准或取消请求选项的待处理请求

  1. 要禁用团队同步,单击 Disable team synchronization(禁用团队同步)

禁用团队同步

管理企业帐户的 SSH 认证中心

企业所有者可以添加和删除企业帐户的 SSH 认证中心 (CA)。

将 SSH CA 添加到企业帐户后,您可以允许企业帐户拥有的任何组织的成员使用您提供的 SSH 证书,访问该组织的仓库。 您可以要求成员使用 SSH 证书访问组织资源,。 更多信息请参阅“关于 SSH 认证中心”。

添加 SSH 认证中心

在颁发每个客户端证书时,必须包含扩展,以指定证书用于哪个 GitHub 用户。 更多信息请参阅“关于 SSH 认证中心”。

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“SSH Certificate Authorities(SSH 认证中心)”右侧,单击 New CA(新 CA)

新 CA 按钮

  1. 在“Key(密钥)”下,粘贴您的公共 SSH 密钥。

用于添加 CA 的密钥字段

  1. 单击 Add CA(添加 CA)

  1. (可选)若要求会员使用 SSH 证书,请选择 Require SSH Certificates(需要 SSH 证书),然后单击 Save(保存)

“需要 SSH 证书”复选框和保存按钮

删除 SSH 认证中心

对 CA 的删除无法撤销。 如果以后要使用同一 CA,您需要重新上传该 CA。

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“SSH Certificate Authorities(SSH 认证中心)”下您想要删除的 CA 权限右边,单击 Delete(删除)

删除按钮

  1. 阅读警告,然后单击 I understand, please delete this CA(我了解,请删除此 CA)

删除确认按钮