Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラット...
Search
yuriemori
March 02, 2026
Technology
280
0
Share
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
.NETラボ 勉強会 2026年2月でお話しした内容です
yuriemori
March 02, 2026
More Decks by yuriemori
See All by yuriemori
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
130
Agentic AI 時代の DevOps セキュリティ 2.0- GitHub Advanced Security × Defender for Cloud による Platform Protection
yuriemori
1
120
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
1
890
生成AI時代のセキュアコーディングとDevSecOps
yuriemori
0
350
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
750
生成AI時代だからこそ必要なDevSecOps:概念から実践例まで
yuriemori
1
290
信頼できる開発プラットフォームをどう作るか?-Governance as Codeと継続的監視/フィードバックが導くPlatform Engineeringの進め方
yuriemori
2
760
Azure Deployment EnvironmentsによるPlatform Engineering
yuriemori
0
240
Microsoft Build 2025_DevOps関連セッションレポート
yuriemori
1
210
Other Decks in Technology
See All in Technology
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
5
1.8k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
5
1.4k
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
270
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
520
チームで育てるAI自走環境_20260409
fuktig
0
690
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
3
140
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
0
270
I ran an automated simulation of fake news spread using OpenClaw.
zzzzico
1
900
機能・非機能の学びを一つに!Agent Skillsで月間レポート作成始めてみた / Unifying Bug & Infra Insights — Building Monthly Quality Reports with Agent Skills
bun913
5
2.8k
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
1
210
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
230
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Unsuck your backbone
ammeep
672
58k
For a Future-Friendly Web
brad_frost
183
10k
Docker and Python
trallard
47
3.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
340
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
A better future with KSS
kneath
240
18k
Un-Boring Meetings
codingconduct
0
250
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
We Have a Design System, Now What?
morganepeng
55
8.1k
Faster Mobile Websites
deanohume
310
31k
Believing is Seeing
oripsolob
1
100
Transcript
管理者向けGitHub Enterpriseの運用Tips紹介: 人に もAIにも優しいプラットフォームづくり yuriemori .NET lab 1 / 20
お品書き GitHub Well Architected Frameworkに学ぶガバナンスのプラクティス GitHub EnterpriseのあるあるQ&A GitHub EnterpriseでのAgent/AIの管理 .NET
lab 2 / 20
Yurie Mori(森 友梨映) Job: Software Solution Engineer@Microsoft Japan Skills/Interests: GitHub/Azure DevOps/Defender
for Cloud/Azure PaaS DevOps/DevSecOps/IaC/Platform Engineering .NET lab 3 / 20
Please follow me X(旧Twitter)とLinkedInで発信しています。ぜひフォローしてください! .NET lab 4 / 20
GitHub Well Architectedに学ぶガバナンスのプラク ティス .NET lab 5 / 20
アンチパターン(抜粋) 不必要なOrganizationの分割 → 管理の煩雑化、ガバナンスの不整合、ナレッジのサイロ化に繋がる ブランチ戦略を定義しない 承認なしで変更がマージされる .NET lab 6 /
20
ベストプラクティス(抜粋) ガバナンスの違いごとにOrganizationを分ける rulesetを活用してブランチ,リポジトリに対してルールを適用する ガバナンスに関する方針やポリシーはバージョン管理できる形でドキュメント化 する レイヤごとに適切な権限を設定する .NET lab 7 /
20
GitHub EnterpriseのあるあるQ&A .NET lab 8 / 20
Organizationは単一?複数?どちらにすべき?(1/2) Organizationを分けた方がいいかどうかは組織内でリポジトリ/ユーザーに対して 適用したいガバナンスを特定のグループで分ける必要があるかどうかに依存す る。 Organizationでのレイヤーでは配下のリポジトリ、ユーザーに対する権限を制御 することができるので、ユーザーのグループやリポジトリ群に対して同じガバナ ンスを適用するのであれば、Organizationを分けてるメリットはあまりない。 (ま ったく同じ設定のOrganizationが複数存在することになるため) .NET
lab 9 / 20
Organizationは単一?複数?どちらにすべき?(2/2) Organizationを分けるメリットは、例えば部署ごとにOrganizationを分けること で、部署ごとに異なるガバナンスを適用できることや、部署ごとに管理者を設定 できることなどがある。 なので、適用させたいガバナンスの違いごとにOrganizationを分けるのが望まし い。 部署ごとなど、単純にユーザーを論理的にグルーピングするのであれば、 Organizationを分けるのではなくTeamを活用するのが望ましい。 昔はOrganizationは複数作らないほうがいいというプラクティスも紹介されてい たけども、現在ではその記述はなくなっている。
参考:組織のベストプラクティス .NET lab 10 / 20
Organizationで特定のユーザーグループごとに権限 を制御したい Teamを活用することで特定のユーザーを論理的にグルーピングして、特定のリポ ジトリに対する権限を定義したり、Team単位でCopilotのライセンス付与や権限 の制御ができる。 入れ子にすることもできる(が、階層が深くなると管理が大変になるので注意) 。 Team A userA-1
userA-2 user... Repository A-1 write Repository A-2 write Repository A-3 write Team B userB-1 userB-2 user... Repository B-1 write Repository B-2 write Repository B-3 write .NET lab 11 / 20
GitHub Enterprise - IdP連携を解除するとどうなる? Setpユーザー以外はユーザーは休眠ユーザーとして残る(PeopleのSuspendedで確認できる) 。 休眠中のユーザーはGitHub Enterpriseにログインできない。 IdP連携を再度有効化すれば、休眠ユーザーは復活する。 .NET
lab 12 / 20
EMUの環境を使っている。連携しているIdPの変更は できる? 最初はEntra IDで連携していたけど、途中でOktaなどの他のIdPに変更することはできるのか? Yes。 → 参考:新しい ID プロバイダーまたはテナントへの Enterprise
の移行 移行の際に既存のIdPの連携を切るときは、IdPの連携を停止するとSetupユーザー以外のすべてのユーザーが休眠ユーザーとな りアクセスできなくなるので、連携IdPを切る前にSetupユーザーが作業ができるように(=IdPに依存する認証なしでGitHub Enterpriseにアクセスできるように)しておく。 再びIdPと連携する際、usernameは移行元・移行先で一致するようにする必要がある。 最も安全なのはusernameに全く同じ値を設定していることだけど、正規化されてもこの値が移行先/移行元で完全に変わる場合 (
[email protected]
→
[email protected]
,
[email protected]
→
[email protected]
のように)は新しい Enterpriseアカウントのプロビジョニングが必要となる。 .NET lab 13 / 20
複数のEnterpriseを運用する際の注意点 .NET lab 14 / 20
Enterpriseはいくつまで作れる? 4つまで。同じGitHubアカウントでEnterprise ownerになっている環境が4つある 状態でEnterpriseを作成しようとすると、上限に達しているというメッセージが出 てくる この「4つ」はNon-EMUの環境もEMUの環境も両方含めた数。 .NET lab 15 /
20
EMUとNon-EMU, データレジデンシー版の併存はで きる? 現在提供されているのは、個人GitHubアカウントで利用を開始するGitHub Enteprise Cloudと、Entra IDなどのIdPでユーザーアカウントをプロビジョニング するEnterprise Managed Users(EMU)版、さらにEMUの場合、日本国内にデ
ータをホスティングするデータレジデンシー版の3つのオプションがある。 これらの環境の併存はできる。だが、IdPの連携において、同一Entraのテナント 内で、OIDC認証によるSSOの設定は1つのGitHub Enteprise環境でのみ可能。 .NET lab 16 / 20
GitHub Enterprise CloudとIdP連携 GitHub Enterprise Cloud - Microsoft Entra IDの連携:
Non-EMU(個人アカウント許容): SAML認証のみ対応 EMU(企業用アカウントで運用) :OIDC, SAML認証に対応 Enable OIDCのボタンを押してEntraに認証することでEntra IDにOIDC連携用のエ ンタープライズアプリケーションが登録される。 .NET lab 17 / 20
OIDC連携ができるのは1つのEnterprise環境のみ OIDC連携設定時に登録されるエンタープライズアプリケーションは、同一Entra テナント内の1つのみ。 そのため、すでにOIDC連携が完了しているGitHub Enterpriseがある状態で、2つ 目のEMUの環境を作ってOIDCの連携をしようとすると、すでにエンタープライズ アプリケーションがあるのでエラーになってしまう。 .NET lab 18
/ 20
SAML認証は複数の設定が可能 SAML認証の場合は、SAML連携用のエンタープライズアプリケーションを複数同 一テナント内に作ることができるため、併存させることは可能。 OIDC連携をしているGitHub Enterprise + SAML連携をしているGitHub Enterprise→ SAML連携をしているGitHub Enterprise
+ SAML連携をしているGitHub Enterprise→ OIDC連携をしているGitHub Enterprise + OIDC連携をしているGitHub Enterprise→ .NET lab 19 / 20
SAML認証で併存させる場合の注意点 SAML連携用のエンタープライズアプリケーションはそれぞれ別なので、どの GitHub Enterpriseはどのエンタープライズアプリケーションと連携しているのか を管理する必要がある。 .NET lab 20 / 20