Skip to main content

IdP の条件付きアクセス ポリシーのサポートについて

Enterprise が OIDC SSO を使っている場合、GitHub は、お客様の IdP の条件付きアクセス ポリシー (CAP) を使って、Enterprise とそのリソースへのアクセスを検証できます。

この機能を使用できるユーザーについて

ID プロバイダーを使用して企業内のユーザーを管理するには、GitHub Enterprise Cloud で利用可能な Enterprise Managed Users が企業で有効になっている必要があります。 詳しくは、「Enterprise Managed Users について」を参照してください。

注: Enterprise Managed Users に対する OpenID Connect (OIDC) と条件付きアクセス ポリシー (CAP) のサポートは、Microsoft Entra ID (旧称 Azure AD) でのみ使用できます。

条件付きアクセス ポリシーのサポートについて

企業で OIDC SSO を使うと、GitHub は IdP の条件付きアクセス ポリシー (CAP) の IP 条件を自動的に使って、メンバーが IP アドレスを変更したとき、および personal access token またはユーザーアカウントに関連付けられた SSH キーを使用した認証のたびに、GitHub での操作を検証します。

GitHub Enterprise Cloud では、OIDC SSO が有効になっている マネージド ユーザーを含む Enterprise の CAP がサポートされます。 GitHub Enterprise Cloud によって IdP の IP 条件が適用されますが、デバイスのコンプライアンス条件は適用できません。 Enterprise 所有者は、GitHub Enterprise Cloud の IP 許可リストではなく、この IP 許可リスト構成を使用することを選ぶことができ、OIDC SSO が構成されたらそれを行うことができます。 IP 許可リストについて詳しくは、「IP 許可リストを使用して Enterprise へのネットワーク トラフィックを制限する」と「組織に対する許可 IP アドレスを管理する」をご覧ください。

Enterprise Managed Users での OIDC の使用について詳しくは、「エンタープライズ マネージド ユーザーの OIDC の構成」と「SAML から OIDC への移行」をご覧ください。

CAP とデプロイ キーについて

デプロイ キーは、個々のリポジトリへのアクセスを許可する SSH キーです。 デプロイ キーはユーザーに代わって操作を実行しないため、CAP IP 条件は、デプロイ キーを使用して認証された要求には適用されません。 詳しくは、「デプロイキーの管理」を参照してください。

統合と自動化に関する考慮事項

CAP に対する検証のために、GitHub から IdP に送信元の IP アドレスが送信されます。 アクションとアプリが 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を使うアクションのブロックを解除する別のオプションとして、GitHub Actions で使われる IP 範囲を許可することができます。 詳しくは、「GitHubのIPアドレスについて」を参照してください。

GitHub Codespaces

Enterprise で CAP に OIDC SSO を使用して IP アドレスによるアクセスを制限している場合、GitHub Codespaces を使用できないことがあります。 これは、IdP の CAP によってブロックされる可能性が高い動的 IP アドレスを使用して codespace が作成されているためです。 その他の CAP のポリシーは、ポリシーの特定のセットアップによっては、GitHub Codespaces の可用性にも影響する可能性があります。

GitHub Apps と OAuth apps

GitHub Apps および OAuth apps によってユーザーのサインインが行われ、そのユーザーに代わって要求が行われると、検証のために GitHub から、ご利用の IdP にアプリのサーバーの IP アドレスが送信されます。 アプリのサーバーの IP アドレスが IdP の CAP によって検証されない場合、要求は失敗します。

GitHub Apps によってアプリ自体としてまたはインストールとして機能する GitHub API が呼び出されても、この呼び出しがユーザーの代わりに実行されることはありません。 ご利用の IdP の CAP では、ポリシーを実行してユーザー アカウントに適用するため、これらのアプリケーション要求は、CAP に対して検証することができず、常に許可されます。 自身またはインストールとして認証する GitHub Apps について詳しくは、「GitHub アプリでの認証について」をご覧ください。

使いたいアプリの所有者に連絡し、その IP の範囲を問い合わせて、その IP の範囲からのアクセスを許可するように IdP の CAP を構成することができます。 所有者に連絡できない場合は、IdP のサインイン ログを確認し、要求に出現する IP アドレスを確認し、それらのアドレスを許可リストに登録できます。

すべてのエンタープライズのアプリに対してすべての IP 範囲を許可しない場合は、インストールされている GitHub Apps と承認された OAuth apps を IdP 許可リストから除外することもできます。 その場合、これらのアプリは発信元 IP アドレスに関係なく、動作し続けます。 詳しくは、「Enterprise でセキュリティ設定のポリシーを適用する」を参照してください。

参考資料