メモ
Enterprise Managed Users に対する OpenID Connect (OIDC) と条件付きアクセス ポリシー (CAP) のサポートは、Microsoft Entra ID (旧称 Azure AD) でのみ使用できます。
条件付きアクセス ポリシーのサポートについて
企業が OIDC SSO を使用する場合、 GitHub は IdP の条件付きアクセス ポリシー (CAP) IP 条件を自動的に使用して、メンバーが Web UI を使用したり IP アドレスを変更したりするときに GitHub との対話を検証したり、ユーザー アカウントに関連付けられた personal access token または SSH キーを持つ認証ごとに認証を行ったりします。
メモ
Web セッションの CAP 保護は現在パブリック プレビュー段階にあり、変更される可能性があります。
Enterprise で IdP CAP のサポートが既に有効になっている場合は、Enterprise の [Authentication security] の設定から Web セッションの拡張保護にオプトインできます。 Web セッション保護が有効であり、ユーザーの IP 条件が満たされていない場合、ユーザーはすべてのユーザー所有リソースを表示およびフィルター処理できますが、通知、検索、個人用ダッシュボード、または星付きリポジトリの結果の詳細を表示することはできません。
GitHub は、OIDC SSO が有効になっているすべての マネージド ユーザーを含む Enterprise に対して CAP をサポートします。 エンタープライズ所有者は、 GitHubの IP 許可リストではなく、この IP 許可リスト構成を使用することを選択できます。OIDC SSO が構成されたら、これを行うことができます。 IP 許可リストについて詳しくは、「IP 許可リストを使用して Enterprise へのネットワーク トラフィックを制限する」と「組織に対する許可 IP アドレスを管理する」をご覧ください。
- GitHub は IdP の IP 条件を適用しますが、デバイスのコンプライアンス条件を適用することはできません。
- 多要素認証のポリシーは、IdP へのサインイン時点でのみ適用されます。
Enterprise Managed Usersで OIDC を使用する方法の詳細については、「エンタープライズ マネージド ユーザーの OIDC の構成」および「AUTOTITLE」を参照してください。
CAP とデプロイ キーについて
デプロイ キーは、個々のリポジトリへのアクセスを許可する SSH キーです。 デプロイ キーはユーザーに代わって操作を実行しないため、CAP IP 条件は、デプロイ キーを使用して認証された要求には適用されません。 詳しくは、「デプロイキーの管理」をご覧ください。
統合と自動化に関する考慮事項
GitHub は、CAP に対する検証のために送信元 IP アドレスを IdP に送信します。 アクションとアプリが IdP の CAP によってブロックされないようにするには、構成を変更する必要があります。
警告
GitHub Enterprise Importer を使って organization を お使いの GitHub Enterprise Server インスタンス から移行する場合、Entra ID の CAP が免除されているサービス アカウントを使ってください。そうしないと、移行を実行してもブロックされる可能性があります。
GitHub Actions
personal access tokenを使用するアクションは、IdP の CAP によってブロックされる可能性があります。 personal access tokenはサービス アカウントによって作成され、IdP の CAP 内の IP 制御から除外されることをお勧めします。
サービス アカウントを使用できない場合、 personal access tokenを使用するアクションのブロックを解除するもう 1 つのオプションは、 GitHub Actionsで使用される IP 範囲を許可することです。 詳しくは、「GitHubの IP アドレスについて」をご覧ください。
GitHub Codespaces
GitHub Codespaces は、企業が CAP で OIDC SSO を使用して IP アドレスによるアクセスを制限する場合は使用できない場合があります。 これは、IdP の CAP によってブロックされる可能性が高い動的 IP アドレスを使用して codespace が作成されているためです。 その他の CAP ポリシーは、ポリシーの特定のセットアップによっては、 GitHub Codespacesの可用性にも影響する場合があります。
github.dev エディタ
企業が CAP で OIDC SSO を使用して IP アドレスによるアクセスを制限する場合、 github.dev エディターを使用できない場合があります。 これは、 github.dev が IdP の CAP でブロックされる可能性が高い動的 IP アドレスに依存しているためです。 その他の CAP ポリシーは、ポリシーの特定のセットアップによっては、 github.devの可用性にも影響する可能性があります。
GitHub Apps と OAuth apps
GitHub Apps と OAuth apps がユーザーをサインインさせ、そのユーザーに代わってリクエストを行う場合、GitHub は検証を受けるためにアプリのサーバーの IP アドレスを IdP に送信します。 アプリのサーバーの IP アドレスが IdP の CAP によって検証されない場合、要求は失敗します。
アプリ自体またはインストールとして機能する API GitHub Apps呼び出しGitHub場合、これらの呼び出しはユーザーの代わりに実行されません。 ご利用の IdP の CAP では、ポリシーを実行してユーザー アカウントに適用するため、これらのアプリケーション要求は、CAP に対して検証することができず、常に許可されます。 GitHub Apps 自分自身またはインストールとして認証を行う方法の詳細については、GitHub アプリでの認証について を参照してください。
使いたいアプリの所有者に連絡し、その IP の範囲を問い合わせて、その IP の範囲からのアクセスを許可するように IdP の CAP を構成することができます。 所有者に連絡できない場合は、IdP のサインイン ログを確認し、要求に出現する IP アドレスを確認し、それらのアドレスを許可リストに登録できます。
企業のすべてのアプリのすべての IP 範囲を許可しない場合は、インストールされている GitHub Apps と承認された OAuth apps を IdP 許可リストから除外することもできます。 その場合、これらのアプリは発信元 IP アドレスに関係なく、動作し続けます。 詳しくは、「Enterprise でセキュリティ設定のポリシーを適用する」をご覧ください。
参考資料
- Microsoft Learn での条件付きアクセスポリシーでの場所の条件の使用