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
0
9
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
.NETラボ 勉強会 2026年2月でお話しした内容です
yuriemori
March 02, 2026
Tweet
Share
More Decks by yuriemori
See All by yuriemori
Agentic AI 時代の DevOps セキュリティ 2.0- GitHub Advanced Security × Defender for Cloud による Platform Protection
yuriemori
1
110
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
1
750
生成AI時代のセキュアコーディングとDevSecOps
yuriemori
0
330
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
710
生成AI時代だからこそ必要なDevSecOps:概念から実践例まで
yuriemori
1
240
信頼できる開発プラットフォームをどう作るか?-Governance as Codeと継続的監視/フィードバックが導くPlatform Engineeringの進め方
yuriemori
2
680
Azure Deployment EnvironmentsによるPlatform Engineering
yuriemori
0
220
Microsoft Build 2025_DevOps関連セッションレポート
yuriemori
1
200
生成AI時代のセキュアCI/CDとソース管理
yuriemori
1
410
Other Decks in Technology
See All in Technology
バニラVisaギフトカードを棄てるのは結構大変
meow_noisy
0
160
クラウド時代における一時権限取得
krrrr38
1
130
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
2
160
俺の失敗を乗り越えろ!メーカーの開発現場での失敗談と乗り越え方 ~ゆるゆるチームリーダー編~
spiddle
0
400
Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を基礎から丁寧に
miyukichi_ospf
0
230
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
2026-02-25 Tokyo dbt meetup プロダクトと融合したCI/CD で実現する、堅牢なデータパイプラインの作り方
y_ken
0
150
【Developers Summit 2026】Memory Is All You Need:コンテキストの「最適化」から「継続性」へ ~RAGを進化させるメモリエンジニアリングの最前線~
shisyu_gaku
5
830
【SLO】"多様な期待値" と向き合ってみた
z63d
2
240
OCI技術資料 : 外部接続 VPN接続 詳細
ocise
1
10k
20260222ねこIoTLT ねこIoTLTをふりかえる
poropinai1966
0
300
Master Dataグループ紹介資料
sansan33
PRO
1
4.4k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
We Are The Robots
honzajavorek
0
190
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
230
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
4 Signs Your Business is Dying
shpigford
187
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Are puppies a ranking factor?
jonoalderson
1
3k
Believing is Seeing
oripsolob
1
68
BBQ
matthewcrist
89
10k
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