使用者身分識別與存取管理

已完成

驗證是企業軟體開發生態系統的閘道。 每個使用者與 GitHub 的互動都是從身分識別驗證開始。 雖然個別帳戶可以依賴使用者名稱和密碼,但強式企業安全性會授權 雙因素驗證 (2FA) 或更進階的方法,例如 複雜密鑰生物特徵辨識登入。 平衡可用性與安全性是關鍵,特別是在快速節奏的開發環境中。

GitHub Enterprise 中的新式驗證

為了確保安全且簡化的驗證體驗,GitHub 支援多個與身分識別管理系統整合的新式方法:

Passkeys 和 WebAuthn

  • Passkeys 是一種無密碼的登入方法,與實體裝置綁定且能有效抵禦網路釣魚攻擊。
  • WebAuthn 支援生物特徵辨識因素和硬體令牌,例如 YubiKey。
  • 這些方法可大幅減少認證型攻擊,並改善登入UX。

GitHub Mobile for 2FA

使用者可以向 GitHub Mobile 進行驗證,其支援推播通知,以快速、安全核准—增強 2FA,而不會中斷工作流程。

OAuth 和 GitHub Apps

  • OAuth Apps 使用 GitHub 的 OAuth 2.0 流程來驗證使用者,並將範圍存取權授與外部應用程式。
  • GitHub Apps 會作為個別安裝進行身份驗證,並配有細緻的權限,非常適合 CI/CD 和自動化流程。

企業管理使用者(EMU)

GitHub Enterprise Cloud 中,EMU 可確保驗證會嚴格透過您的 識別提供者 (IdP) 進行。 此模型:

  • 僅限制對企業管理帳戶的存取。
  • 強制集中控制身分識別、認證和會話原則。

使用 SAML SSO 的組織管理

企業級驗證的基礎功能之一是 SAML Single Sign-On (SSO)。 SAML 會連結您的 IdP 與 GitHub,讓用戶能夠使用一組認證跨服務登入。 GitHub 會使用IdP來驗證使用者身分識別,再授與組織或企業資源的存取權。

當使用者登入 GitHub 時,他們可以看到他們所屬的企業,但存取存放庫數據需要透過 IdP 重新驗證 SAML。

身為 企業系統管理員,您的責任包括:

  • 根據角色和需要知道來授權存取權。
  • 監視和稽核用戶活動。
  • 界定許可權範圍,並將攻擊的表面區域降到最低。

系統管理存放庫權限清單檢閱範例的螢幕擷取畫面。

若要為組織設定 SAML SSO,請將 IdP 與 GitHub 整合。 支援的提供者包括:

  • Active Directory 同盟服務 (AD FS)
  • Microsoft Entra ID
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

附註

GitHub 為實作 SAML 2.0 標準的識別提供者提供有限的支援。

企業存取和授權控制

GitHub 中的存取權是由健全且多層式的授權模型所控管:

Fine-Grained 個人存取權杖 (PAT)

不同於傳統的 PAT細微的 PAT

  • 限制對特定存放庫和範圍的存取。
  • 支持自動到期,以減少風險暴露。
  • 提供增強的可追蹤性和合規性控制。

自訂存放庫角色

系統管理員可以定義超越預設許可權集合的 自定義角色 。 這支援:

  • 針對唯一工作流程量身打造的委派存取權。
  • 敏感存放庫的最低權限實施。

安全策略強制執行

您可以強制執行全域安全性控制件,例如:

  • 所有使用者都必須使用2FA
  • IP 允許清單 限制對已核准網路的存取。
  • 除非明確核准,否則封鎖未驗證的 OAuth 應用程式。

組織與 Enterprise-Level 控制措施

  • 組織層級 控件包括預設角色、小組型存取,以及外部共同作業者的管理。
  • 企業級 治理包括:
    • 集中式 SAML 實施。
    • 以IdP為基礎的登入限制。
    • 透過 GitHub Enterprise Cloud 強制執行全域原則。

存放庫可見性和內部存取

當組織成員建立存放庫時,他們可以在 公用私人內部 可見性選項中選擇:

  • 公用:可供因特網上的任何人使用。
  • 私人:受限於選取的使用者。
  • 內部:對企業內的所有成員可見,但會隱藏於外部使用者。

此數據粒度可確保原始程式碼、檔和其他資產只會與適當的專案關係人共用。