はじめに
顧客案件のソースコードや、NDA(秘密保持契約)の対象となる情報を扱う場合、 開発効率だけを理由に開発基盤を選ぶことはできません。
「GitHubにソースコードを置くのは不安だ」 「顧客情報や社内システムのソースコードが流出しないか心配だ」 という懸念は、決して特別なものではありません。
重要なのは、GitHubを導入するかどうかではなく、 現在Azure DevOpsで実施している統制を、GitHub上でも同等の水準で再現できるか という点です。
GitHubへの移行で重要なのは、製品ではなく統制
GitHubは「ソースコードを公開するサービス」というイメージを持たれることがあります。 しかし、企業向けのGitHub Enterpriseでは、組織単位でのアクセス管理、認証連携、 監査ログ、セキュリティ機能などを利用できます。
ただし、GitHub Enterpriseを契約するだけで安全になるわけではありません。 顧客案件で求められる安全性を確保するには、次のような統制を組み合わせる必要があります。
- SSOやMFAによる本人確認
- SCIMなどによる入社・異動・退職時のアカウント管理
- リポジトリの作成、公開、フォーク、外部招待の制限
- 顧客や案件単位でのアクセス権限の分離
- ブランチ保護、必須レビュー、CODEOWNERSの設定
- Secret scanningやPush protectionによる秘密情報の検知
- GitHub Actionsの権限、Secrets、実行環境の統制
- 監査ログの取得と定期的な確認
- バックアップ、インシデント対応、退職者対応のルール化
これらは、Azure DevOpsで実施しているアクセス制御やレビュー、監査の考え方と本質的に同じです。 画面や設定項目は異なっても、必要な統制を洗い出し、GitHub上の機能と運用に対応付けることで、 現在の管理水準を維持できます。
「GitHubに移行する」のではなく、「統制を移行する」
GitHub移行でありがちな失敗は、リポジトリを移すことだけを目的にしてしまうことです。
しかし、顧客案件では、単にコードやIssueを移行するだけでは不十分です。 誰がアクセスできるのか、誰がレビューするのか、外部ユーザーを招待できるのか、 秘密情報が混入した場合にどう検知するのかといった、開発プロセス全体を設計し直す必要があります。
私たちは、次のような流れで移行を進めます。
- 顧客契約、NDA、社内規程から要求事項を整理する
- Azure DevOpsで実施している統制を可視化する
- GitHub Enterpriseでの実現方法を設計する
- 権限、認証、レビュー、監査、CI/CDの設定を標準化する
- 機密性の低い案件でパイロットを実施する
- 証跡と運用結果を確認したうえで段階的に展開する
このように、製品の置き換えではなく、 開発統制と運用プロセスを含めて移行することが重要です。
Azure DevOpsとGitHub、どちらを選ぶべきか
Azure DevOpsとGitHubには、それぞれ異なる強みがあります。 どちらが一方的に安全ということではありません。
選定にあたっては、次のような条件を総合的に確認します。
- 顧客契約上、クラウドにソースコードを保管できるか
- データ所在地や保存先に制約があるか
- SSOや端末管理など、既存の社内環境と連携できるか
- 必要な監査ログやセキュリティ機能を利用できるか
- 社内で継続的に運用・監査できる体制があるか
要件によってはGitHub Enterprise Cloudが適している場合もあれば、 GitHub Enterprise ServerやAzure DevOpsを継続利用する方が適している場合もあります。
大切なのは、特定の製品を無理に勧めることではありません。 案件の性質と契約上の要件を踏まえ、 安全性と開発効率を両立できる基盤を選ぶことです。
まとめ
顧客案件のソースコード管理では、「どの製品を使うか」以上に、 「どのような統制を設け、どのように運用するか」が問われます。
私たちは、Azure DevOpsで培ってきた開発・セキュリティ統制の考え方をもとに、 GitHub Enterpriseへの移行や、顧客案件に適した開発基盤の設計を支援します。
- GitHub EnterpriseとAzure DevOpsの比較
- 顧客案件向けのOrganization・リポジトリ設計
- SSO、MFA、権限管理の設計
- リポジトリ、Issue、CI/CDの移行
- GitHub Actionsのセキュリティ設計
- 運用ルール、監査手順、社内教育の整備
「GitHubへ移行したいが、顧客案件の管理が不安」 「Azure DevOpsで実施している統制をGitHubでも維持したい」 といった課題があれば、現在の契約条件や開発体制を確認したうえで、 無理のない移行方法をご提案します。




