ユーザー認証
ユーザーが SAML シングル サインオン (SSO) を使用して ID プロバイダー (IdP) を通じて正常に認証されたら、次の重要な手順は承認です。つまり、個人アクセス トークン (AT)、SSH キー、OAuth アプリなどのツールに組織のリソースにアクセスする機能を付与します。
SAML SSO と SCIM を使用したユーザー承認の自動化
セキュリティ アサーション マークアップ言語 (SAML) SSO を使用すると、エンタープライズ所有者と組織の所有者は、リポジトリ、問題、プル要求などの GitHub リソースへのアクセスを制御できます。 SCIM (クロスドメイン ID 管理システム) を統合すると、ユーザー プロビジョニングとプロビジョニング解除を自動化することで、アクセス制御が強化されます。
SCIM を使用すると、IdP に追加された新しい従業員に GitHub へのアクセス権が自動的に付与されますが、離れたユーザーは削除され、手動の手順が減り、セキュリティが向上します。
メモ
SCIM がない場合、SAML SSO だけでは、組織メンバーの自動プロビジョニング解除はサポートされません。
SCIM はセッション終了後も古いトークンを取り消し、セキュリティ リスクを軽減します。 SCIM を使用しない場合、古いトークンの取り消しは手動で行う必要があります。
SAML SSO を使用した SSH キーと PAT の管理
SAML SSO と SCIM は連携して、GitHub での ID の変更を反映します。 この凝集をサポートするには:
NameIDとuserNameは SAML IdP クライアントと SCIM クライアントの間で一致する必要があります。- IdP の変更をグループ化すると、GitHub で SCIM 更新がトリガーされます。
API または Git にアクセスするユーザーは、承認された PAT キーまたは SSH キーを使用する必要があります。 これらの方法は監査可能であり、SAML SSO に安全に関連付けられています。
オンボーディングを簡略化するには、次を使用してユーザーを設定します: 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 はこの要求を処理し、ユーザーを組織に追加します。
はじめに
サポートされているプロバイダーの場合
- IdP 管理コンソールにサインインします。
- SCIM プロビジョニングを有効にします。
- GitHub の SCIM ベース URL とベアラー トークンを指定します。
カスタム IdP の場合
- GitHub の SCIM REST API を使用します。
- PAT を使用して認証します。
- サンプル要求との統合をテストします。
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 構成
- SAML SSO URL を構成します。
- パブリック証明書を指定します。
- IdP メタデータを追加します。
資格情報の管理
組織のリソースに安全にアクセスするには、AT と SSH キーを明示的に承認し、IdP ID にリンクする必要があります。
SAML セッションの監査
- 設定でアクティブなセッションを表示します。
- 必要に応じて個々のセッションを取り消します。
GitHub メンバーシップに関する考慮事項
| タイプ | 考慮事項 |
|---|---|
| GitHub インスタンス メンバーシップ | - パブリック リポジトリへのアクセス - 個人用プロジェクトを作成する 公開プロファイルの可視性 |
| 組織のメンバーシップ | - ロールベースの内部アクセス - 組織管理者に表示されるプロファイル - 課金に影響する可能性があります |
| 複数の組織メンバーシップ | - 組織全体で異なるロール - より広範なリソース アクセス - 複雑なアクセス許可と課金 - 厳密なガバナンスが必要 |