ユーザー認証

完了

ユーザーが SAML シングル サインオン (SSO) を使用して ID プロバイダー (IdP) を通じて正常に認証されたら、次の重要な手順は承認です。つまり、個人アクセス トークン (AT)、SSH キー、OAuth アプリなどのツールに組織のリソースにアクセスする機能を付与します。

SAML SSO と SCIM を使用したユーザー承認の自動化

セキュリティ アサーション マークアップ言語 (SAML) SSO を使用すると、エンタープライズ所有者と組織の所有者は、リポジトリ、問題、プル要求などの GitHub リソースへのアクセスを制御できます。 SCIM (クロスドメイン ID 管理システム) を統合すると、ユーザー プロビジョニングとプロビジョニング解除を自動化することで、アクセス制御が強化されます。

SCIM 設定のスクリーンショット。

SCIM を使用すると、IdP に追加された新しい従業員に GitHub へのアクセス権が自動的に付与されますが、離れたユーザーは削除され、手動の手順が減り、セキュリティが向上します。

メモ

SCIM がない場合、SAML SSO だけでは、組織メンバーの自動プロビジョニング解除はサポートされません。

SCIM はセッション終了後も古いトークンを取り消し、セキュリティ リスクを軽減します。 SCIM を使用しない場合、古いトークンの取り消しは手動で行う必要があります。

SAML SSO を使用した SSH キーと PAT の管理

SAML SSO と SCIM は連携して、GitHub での ID の変更を反映します。 この凝集をサポートするには:

  • NameIDuserName は SAML IdP クライアントと SCIM クライアントの間で一致する必要があります。
  • IdP の変更をグループ化すると、GitHub で SCIM 更新がトリガーされます。

API または Git にアクセスするユーザーは、承認された PAT キーまたは SSH キーを使用する必要があります。 これらの方法は監査可能であり、SAML SSO に安全に関連付けられています。

SSH キーのスクリーンショット。

オンボーディングを簡略化するには、次を使用してユーザーを設定します: https://github.com/orgs/ORGANIZATION/sso/sign_up. IdP ダッシュボードにこのリンクを表示します。

ユーザーが最初に認証を行うとき、GitHub は自分のアカウントと SCIM データを組織にリンクします。 管理者は、後でセッションと資格情報を監査または取り消して、オフボードを自動化できます。

SCIM と GitHub の統合

SCIM は、ネイティブ統合とカスタム構成の両方をサポートすることで、GitHub Enterprise Cloud での ID 管理を効率化します。

サポートされている SCIM プロバイダー

GitHub では、次の機能がネイティブでサポートされています。

  • Okta
  • Microsoft Entra ID
  • OneLogin
  • Ping Identity
  • Google ワークスペース

これらの統合により、信頼性の高い構成と互換性が保証されます。

カスタム SCIM 統合

IdP がネイティブにサポートされていない場合は、GitHub の SCIM API を使用してカスタム統合を構築します。

SCIM API の概要

SCIM 2.0 API を使用すると、次のことができます。

  • ユーザーの作成、更新、削除
  • グループの管理

ユーザーのプロビジョニング要求の例

POST /scim/v2/Users
Content-Type: application/json

{
  "userName": "jdoe",
  "name": {
    "givenName": "John",
    "familyName": "Doe"
  },
  "emails": [
    {
      "value": "jdoe@example.com",
      "primary": true
    }
  ]
}

GitHub はこの要求を処理し、ユーザーを組織に追加します。

はじめに

サポートされているプロバイダーの場合

  1. IdP 管理コンソールにサインインします。
  2. SCIM プロビジョニングを有効にします。
  3. GitHub の SCIM ベース URL とベアラー トークンを指定します。

IdP の管理コンソールの SCIM 構成手順のスクリーンショット。

カスタム IdP の場合

  1. GitHub の SCIM REST API を使用します。
  2. PAT を使用して認証します。
  3. サンプル要求との統合をテストします。

SCIM 統合の主な利点

  • プロビジョニング: アカウントを自動的に作成します。
  • 最新情報: ロールと部門を同期します。
  • プロビジョニング解除: ユーザーの終了時にすぐにアクセス権を削除します。

SCIM と手動ユーザー管理

特徴 SCIM ベースの管理 手動管理
オートメーション プロビジョニングとプロビジョニング解除を自動化する 手動による介入が必要
一貫性 システム間で標準化されたユーザー データ 不整合のリスク
セキュリティ アクセスのタイムリーな非アクティブ化 遅延または見逃しによる失効
スケーラビリティ 大規模なユーザー ベースでのスケーリング 大規模で煩雑
コンプライアンス ポリシーと監査の要件を満たすのに役立ちます 追跡と報告が困難

IdP を GitHub に接続する

サポートされている ID プロバイダーを使用することも、独自の SAML 2.0 IdP を使用することもできます。

サポートされている (Paved Path) IdP

  • Okta
  • Microsoft Entra ID
  • Google ワークスペース

サポートされている IdP を使用する利点は次のとおりです。

  • シームレスな統合
  • GitHub でサポートされています
  • セットアップ作業の短縮

BYO IdP

独自の IdP を使用するには、SAML 2.0 のサポートが必要です。 それは完全な柔軟性を可能にする利点を有する。

統合手順

タイプ ステップス
舗装されたパス: 1. エンタープライズ セキュリティ設定に移動します。
2. IdP を選択します。
3. セットアップ手順に従います。
カスタム IdP: 1. セキュリティ設定に移動します。
2. カスタム IdP を選択します。
3. SAML メタデータを入力します。 4. 接続を検証します。

IdP 統合パスの比較

特徴 舗装された道 BYO IdP
セットアップ プロセス ✅ ガイド付きセットアップ ⚠️ 手動構成
柔軟性 ⚠️ リストされた IdP に限定 ✅ 任意の SAML 2.0 IdP
メンテナンス ✅ GitHub マネージド ⚠️ 組織管理型
カスタマイズ ⚠️ 最小 ✅ 完全にカスタマイズ可能
サポートと更新 ✅ GitHub でサポートされています ⚠自己管理型

ID とアクセスの管理

SAML SSO 構成

  1. SAML SSO URL を構成します。
  2. パブリック証明書を指定します。
  3. IdP メタデータを追加します。

資格情報の管理

組織のリソースに安全にアクセスするには、AT と SSH キーを明示的に承認し、IdP ID にリンクする必要があります。

SAML セッションの監査

  • 設定でアクティブなセッションを表示します。
  • 必要に応じて個々のセッションを取り消します。

GitHub メンバーシップに関する考慮事項

タイプ 考慮事項
GitHub インスタンス メンバーシップ - パブリック リポジトリへのアクセス
- 個人用プロジェクトを作成する
公開プロファイルの可視性
組織のメンバーシップ - ロールベースの内部アクセス
- 組織管理者に表示されるプロファイル
- 課金に影響する可能性があります
複数の組織メンバーシップ - 組織全体で異なるロール
- より広範なリソース アクセス
- 複雑なアクセス許可と課金
- 厳密なガバナンスが必要