Catch-up! 週刊 GitHub updates(2024年6月17日-23日)
GitHub Changelog for June 17 - 23, 2024
こんにちは、@dz_ こと、大平かづみです。
GitHub Changelogの週刊キャッチアップをお届けします。
プッシュ保護におけるバイパスの委譲イベントのWebhookサポート
Secret scanningのプッシュ保護におけるパイパスの委譲により、チームまたはロールに対してプッシュ保護をバイパスできる権限を与えられ、それ以外のユーザーに対してはバイパスするためのリクエストを送信させることを要求できます。これらのリクエストは、指名された承認者によってレビューされます。
新しいwebhookイベントbypass_request_secret_scanning
は、以下の契機で生成されます:
- バイパス リクエストが作成された、またはキャンセルされた
- バイパスへの応答が送信されたもしくは取り消された
- バイパス リクエストが完了した
プッシュ保護における委譲されたバイパスは、GitHub Advanced Securityを利用している方がEnterprise Cloudで利用可能で、GitHub Enterprise Server 3.14で利用可能になる予定です。
詳しくは下記をご参照ください。
フィードバックはGitHub Communityにお寄せください。
GitHub Enterprise Server 3.13が一般公開
GitHub Enterprise Server 3.13リリースが一般公開
GitHub Enterprise Server 3.13では、デプロイメント要件のより細かな制御やセキュリティ制御が提供されます。ハイライトは以下の通り。
- リポジトリの新しい機能としてカスタム プロパティを導入。主要な強化点はOrganizationを横断したリポジトリの管理や分類。プロパティは、リポジトリに意味のあるメタデータを付与するための柔軟な方法で、リポジトリの分類を簡潔にしたり、検索性を向上したり、ルールセットとシームレスに連携できる。ぜひ、デモをチェック!詳細は、組織内リポジトリのカスタム プロパティの管理を参照。
- 3.13にアップグレードすると、Elasticsearchのバージョンが5から8にアップグレードされる。Elasticsearchは、コード検索や監査ログなどのGHESの検索体験を強化する。ES5からES8にアップグレードすることで、プラットフォームはよりよいパフォーマンスと、ES8により改善された「セキュリティ ポスチャ」の恩恵を得られる。ES8へのアップグレードに対して期待されることについての詳細は、GitHub Enterprise Server 3.13 での Elasticsearch アップグレードの準備を参照。
- EnterpriseレベルおよびOrganizationレベルにおける監査ログイベントに、ユーザーに紐づくSAMLやSCIMの適切な識別データが含まれるようになった。詳細は、Organization の Audit log をレビューするを参照。
- 開発コンテナを定義するためにdevcontainer.jsonファイルを利用する開発者は、Dependabotのversion updatesを利用して、コンテナの依存関係を最新に保てるようになる。dependabot.ymlを一度設定すれば、Dependabotは一連の依存関係を更新するために指定されたスケジュールでプルリクエストを作成する。
- プルリクエストのrebaseがより早くなった。具体的には、merge-ortを利用するようになった。以前は、巨大なリポジトリではタイムアウトしていたrebaseだが、ほとんどの場合において成功するようになる。
- Projectのstatus updatesにより、ステータスやタイミング、プロジェクトの進捗などの高いレベルの詳細を直接示せるようになる。これにより、作業を追跡しているのと同じ場所で、プロジェクトの作業の進捗や、リスク、いつどうして何かが変更されたかの履歴を知ったり、他の人と共有したりしやすくなる。
詳しくは、GitHub Enterprise Server 3.13のリリースノートをご参照ください。また、ぜひダウンロードしてみてください。
GitHub Enterprise Serverの構成を3.13にアップグレードする際に問題がある場合は、サポートチームへご連絡ください。
新機能に関して、フィードバックの共有や質問を投稿するには、GitHub Communityにぜひご参加ください。
CodeQL 2.17.5: C/C++に対するAutofixesとデータとしてのモデル
CodeQLのバージョン2.17.5がリリースされ、GitHub.comでcode scanningを利用しているユーザーに対して順次展開されます。
CodeQLのcode scanningは、C/C++の警告に対して、Copilotによって強化された自動修正の提案をサポートします。これは、GitHub Advanced Securityを利用しているプライベートリポジトリで、自動的に有効化されます。自動修正は、DefaultスイートからC/C++におけるすべてのセキュリティクエリを網羅します。ご質問やフィードバックは、public discussionにてお寄せ下さい。
このリリースには以下も含まれます:
- C/C++は、データ拡張ファイルにおけるソースやシンク、サマリに対して追加のモデルをサポートし、新しいライブラリのサポートを拡張しやすくなる
- Pythonに
opml
ライブラリのサポートが追加され、C/C++にBoost.Asio
ネットワークライブラリの一部のサポートが追加 - SARIFを出力するCodeQL CLIコマンドにおいて、サイズ縮小のため短縮版のバージョンを出力するように
変更の完全なリストは、バージョン 2.17.5のチェンジログをご参照ください。新しい機能は、GitHub Enterprise Server(GHES) 3.14に含まれる予定で、GHES 3.13またはそれ以前をお使いの方はCodeQLのバージョンをアップグレードしてください。
Enterpriseアカウントへの自動アップグレードの予定
2024年9月3日より、現在Enterpriseアカウントを持っておらず、かつ単一のOrganizationを所有するエンタープライズの顧客は追加の課金なしにEnterpriseアカウントへ自動的にアップグレードされる予定です。Enterpriseアカウントは利用者ごとに作成され、利用者のOrganizationはEnterprise管理下の最初のOrganizationになります。
2023年4月に、新規のエンタープライズの顧客に対してEnterpriseアカウントを導入しました。このとき、単一のOrganizationを持つ既存の顧客がEnterpriseアカウントを取得できるように補助するようにプランを構成しました。Enterpriseアカウントは、統合された経験を提供し、プラットフォーム内における細心で最も堅牢な機能すべてへのアクセスを許可します。
Enterpriseアカウントとは?
Enterpriseアカウントは、GitHub Enterprise管理階層の最上位層であり、これにより、エンタープライズの所有者はGitHub環境を管理してスケールできます。基本的に、EnterpriseアカウントはOrganizationの上位に位置しており、エンタープライズの所有者に対して主要なインターフェイスを提供します。
Enterpriseアカウントの利点:
- ポリシー管理: Enterpriseで所有するすべてのOrganizationに対するポリシーの管理と強制適用
- GitHub Enterpriseの全機能へのアクセス: internalリポジトリのようなGitHub Enterpriseの機能にアクセスでき、アクションをシームレスにチームに共有したり監査ログのストリーミングを有効化できる
- 有料のアドオンへのアクセス: GitHub Advanced SecurityやGitHub Copilotのような有料アドオンの恩恵を得られる
予定:
GitHub Enterprise Cloudのアカウントを持っていて、Enterpriseアカウントでない場合:
-
任意のアップグレード(現在から2024年9月3日まで): 管理者は、アカウントのsettingsの
Billing and Plans
ページから、事前に既存のアカウントをEnterpriseアカウントにアップグレートできる。 - 自動的なアップグレード(2024年9月3日より開始): もし任意対応の期間にアップグレードを完了しなかった場合、アカウントに対して期日にアップグレードの予定が指定される。管理者には、2週間前に通知される。
- シームレスな移行: 予定されたアップグレードの期日に、アップグレードしていない場合、アカウントはシームレスに移行し、新しく割当てられたEnterpriseアカウント配下に配置される。
- 新しいEnterpriseアカウントの名前は、Organizationの名前と一致するか、すでにその名前が利用されている場合は可能な限り近しい名前が割り当てられ、顧客はアップグレードした後に選択できる。
- 所有権に関しては変更はなく、既存の所有者全員が新しいEnterpriseアカウントの所有者のまま残る。OrganizationのURLは変更なく、リポジトリやOrganizationのURLの利用にも影響はない。
- SAML SSOやPAT、ポリシー、アプリケーション連携などの既存の構成は、Enterpriseアカウントで上書きしない限り、Organizationに所属したままとなる
2FAセキュリティ診断の体験が改善された
GitHubはソフトウェアのエコシステムを安全に保ちつために尽力しており、GitHub.com上でコードを提供しているほとんどの開発者に1つ以上の2要素認証(2FA)の形式を有効にするよう求めています。すべてのユーザーが彼らのアカウントのセキュリティ構成を確実に最新に保てるように、様々なグローバルバナーを用いて、定期的に彼らの設定を見直し更新できるよう、診断の体験を改善しています。
これらのバナーは、これまで2FA利用者に対して3ヶ月毎に表示されていたセキュリティ診断の介入にとって代わるものです。それぞれのバナーは、特定の注意が必要なセキュリティ構成(例: 単一のメールアドレスしか持たないユーザー)を指摘し、要求される設定への更新に対応する設定へのクイックリンクも含みます。
2FAプログラムについての詳細は、2024年4月のGitHubが100万人の開発者の安全をどう守っているかについてのブログ記事や必須の 2 要素認証についてのドキュメントをご参照ください。
APIによるコード セキュリティ構成の管理
REST APIを利用して、コード セキュリティ構成の作成や管理ができ、リポジトリに一括して付与できるようになります。
APIは次のようなコード セキュリティ構成の処理をOrganizationに対してサポートします:
- 構成の作成、取得、更新および削除
- デフォルト構成の設定および取得
- 構成の一覧
- 構成をリポジトリに紐づけ
APIはGitHub Enterprise Cloud上でpublic betaとして利用可能で、GitHub Enterprise Server 3.15.0で利用可能になる予定です。詳細は、セキュリティ構成やREST APIをご参照ください。フィードバックはこちらからお寄せください。
CodeQLでビルドなしにC#プロジェクトのスキャンが可能に(public beta)
GitHub code scanningを強化する静的解析エンジンであるCodeQLは、ビルドを必要とせずC#プロジェクトを解析できるようになりました。このpublic betaの機能により、Organizationはより容易にCodeQLを大規模に展開できるようになります。以前は、CodeQLはC#プロジェクトを解析するためにビルドが必要でした。この要求を撤廃することにより、大規模な試験において、90%以上のC#リポジトリで手動で介在することなくCodeQLの利用が成功することが示されました。
このC#のコードベースの解析に対する新しい手法は、GitHub.com上でcode scanningを利用するすべての利用者が標準で利用できます。CodeQL CLIの利用者は、バージョン2.17.6
から、build-mode: none
フラグを利用することによりこの機能を有効化できます。
既存のcode scanningセットアップ(defaultまたはadvanced)が既に設定されたリポジトリには、影響はありません。もしcode scanningが本日(2024年6月20日)動作する場合、それはそのまま動作を続け、構成を変更する必要はありません。
- code scanningのdefault setupを利用しているリポジトリは、自動的にこの新しい解析手法の恩恵を受ける
- ワークフローファイルを用いてcode scanningのadvanced setupを利用しているリポジトリは、
build-mode
を選択できる。新しく構成されたC#リポジトリに対する規定値はbuild-mode: none
である -
CodeQL CLIの利用者は、既存のワークフローとの互換性のため、既定の動作に変更はない。この機能を有効化したい利用者は、
--build-mode none
オプションを利用できる。一般的に、デバッグしやすくしたり、将来の任意の時点でも既定の動作のまま構成を継続させたいためにCLIを使うとき、--build-mode
を指定すべきである
C#の解析のためのこの新しいメカニズムは、GitHub.comで利用可能であり、CodeQL CLI 2.17.6
で利用可能です。public betaの間は、この機能はGitHub Enterprise Serverでは利用できません。GitHubがビルドなしにC#プロジェクトを解析するプロジェクトを継続できるように、ぜひフィードバックをお寄せください。
GitHub Copilot ユーザー管理APIにおけるエンタープライズサポートの強化とスコープの更新
Copilot User Management APIの初期betaリリースから、Copilotのシートや関連するアクティビティの状態の取得が煩雑で扱いにくいとフィードバックを得ました。多くのエンタープライズの管理者は「書込み」権限を必要とせず、また、Enterpriseに対するエンドポイントがないため、複数のOrganizationのデータを繰り返し取得しなければなりませんでした。
今日(2024年6月21日)の更新により、集中管理できるEnterpriseのエンドポイントを追加し、Copilotのシートや関連するメタ―データをエンタープライズをまたいで取得できるようになりました。また、read:enterprise
に対する必要なスコープを更新しました。これにより、すべてのエンタープライズの管理者は、1つのAPIリクエストで、EnterpriseにおけるCopilotのシートの詳細を素早く収集できるようになりました!
同様に、既存のUser Management APIのうち、破壊的処理を行わないエンドポイントに対しても、要求する最小の権限をwrite
からread
に更新しました。
試すには、更新されたドキュメントをご参照ください。ぜひフィードバックをこちらのdiscussionにて共有ください。
Copilot Extensionsのご紹介: 使い始めるために知るべきこと
パートナーページのCopilot Partner Program(CPP)において、Copilot Extensionsの新しいガイドを公開しました。現時点で拡張機能をビルドするには、CPPに参加している必要があります。詳細はこちらの記事Copilot extensibility is here: What you need to knowをご参照ください。
Discussion