Microsoft developer platform更新:AL-Go外部依存関係の変更点と確認事項

2026年5月5日に作成された Microsoft developer platform 関連の更新「Bump the external-dependencies group across 1 directory with 2 updates」は、アプリ本体やBusiness CentralのAPI仕様を変えるものではありません。結論から言うと、Microsoft/AL-GoリポジトリのGitHub Actionsワークフローで使われている外部依存関係を2件パッチ更新する変更です。対象は step-security/harden-runner と github/codeql-action で、CI/CDの実行環境保護とSARIFアップロード、CodeQL連携まわりを確認すべき更新です。(GitHub)

AL-Go for GitHubは、Business Central ALプロジェクト向けにCI/CD、テスト、デプロイなどのDevOpsプロセスを自動化するテンプレートとActionsのセットです。Microsoft Learnでも、AL-Goの最新ドキュメントはリポジトリ側で管理・更新されると案内されています。そのため、AL-Goを利用しているチームは「単なるDependabot PR」と見なすのではなく、自社リポジトリのワークフロー設定に同じ依存関係がないかを確認する価値があります。(Microsoft Learn)

目次

Microsoft developer platformの更新内容:何が変わったのか

今回の更新は、/.github/workflows 配下にあるGitHub Actionsワークフローの uses: 参照を更新するものです。PRはDependabotによって2026年5月5日に作成され、2026年5月6日に main ブランチへマージされています。変更対象は1ディレクトリですが、実際には複数のワークフローファイル内で同じAction参照が更新されています。(GitHub)

更新対象変更前変更後実務上の意味
step-security/harden-runnerv2.19.0v2.19.1GitHub Actionsランナーの監視・制御に関わるActionのパッチ更新
github/codeql-action/upload-sarifv4.35.2v4.35.3SARIFアップロードとCodeQL関連処理のパッチ更新
対象ディレクトリ/.github/workflows同左アプリコードではなくCI/CDワークフロー側の変更
更新種別SemVer patchSemVer patch大きな仕様変更ではないが、セキュリティ・解析系のため動作確認は必要

特に注目すべき点は、ActionがタグだけではなくフルレングスのコミットSHAで固定されていることです。GitHubは、Actionを不変に近い形で使う方法としてフルレングスのコミットSHAへの固定を推奨しています。今回のPRも、バージョンコメントを併記しながらSHAを差し替える形になっており、サプライチェーンリスクを抑えつつ更新を追従する運用に近い形です。(GitHub Docs)

対応が必要な人と優先度

今回のMicrosoft developer platform更新で、すべての開発者がすぐにコードを変更する必要はありません。影響を受けるのは、主にAL-GoやGitHub Actionsのワークフロー管理に関わる人です。

対象者対応優先度確認すべきこと
AL-Goをフォーク、または自社テンプレート化しているチーム高.github/workflows 内のAction参照が古いSHAのまま残っていないか
Business Central向けにAL-Goテンプレートを使っている開発チーム中AL-Goシステムファイル更新後にCI、デプロイ、テストが通るか
GitHub Actionsのセキュリティ管理者高harden-runner の監視対象ランナー、ubuntu-slim の利用有無
CodeQL、SARIF、Scorecard分析を運用しているチーム中〜高upload-sarif 更新後にCode scanningへ結果が反映されるか
AL-Goを使っていない一般開発者低同じActionを自社ワークフローで使っている場合のみ確認

判断基準はシンプルです。step-security/harden-runner または github/codeql-action/upload-sarif を自社の .github/workflows で使っているなら確認対象です。使っていない場合、このPR自体による直接的な移行作業は基本的にありません。

step-security/harden-runner v2.19.1で確認すべき変更点

step-security/harden-runner は、GitHub Actionsの実行中にランナーの挙動を監視し、ネットワーク通信などの制御・可視化に使われるActionです。今回の v2.19.1 では、ubuntu-slim ランナーを早期に検出し、従来のように後続処理で chown: invalid user: 'undefined' のような失敗を起こすのではなく、情報ログを出して正常に終了する修正が入っています。(GitHub)

ただし、ここで誤解してはいけないのは、ubuntu-slim でもHarden-Runnerによる監視が可能になったわけではない点です。リリースノートでは、ubuntu-slim 上のジョブはHarden-Runnerで監視されないと明記されています。理由は、Harden-Runnerが必要とする低レベルのカーネル機能に、ubuntu-slim の実行環境が対応していないためです。(GitHub)

GitHub Docsでも、ubuntu-slim はコンテナ内で動作する単一CPUランナーであり、非特権モードのため、ファイルシステムのマウント、Docker-in-Docker、低レベルのカーネル機能など、昇格権限を必要とする操作はサポートされないと説明されています。つまり、セキュリティ監視を必須にしているワークフローでは、ubuntu-slim を安易に選ばない判断が必要です。(GitHub Docs)

harden-runner更新後の判断基準

状況推奨対応
runs-on: ubuntu-latest や標準Ubuntu VMを使っている通常のCI実行ログを確認し、Harden Runnerステップが期待通り動作するか見る
runs-on: ubuntu-slim を使っているエラーが消えても「監視されている」と判断しない。監視必須ならランナーを変更する
セキュリティポリシーで全ジョブ監視が必須ubuntu-slim を許可しない運用ルールを検討する
過去に chown: invalid user: 'undefined' が出ていたv2.19.1で解消する可能性があるため、該当ワークフローを再実行して確認する

github/codeql-action/upload-sarif v4.35.3で確認すべき変更点

github/codeql-action/upload-sarif は、SARIF形式の解析結果をGitHubのCode scanningへアップロードするためのActionです。今回の v4.35.3 では、古いCodeQLバージョンへの非推奨警告、プライベートレジストリ設定の改善、接続テスト方式の変更、診断ファイルが上書きされる不具合の修正、デフォルトCodeQL bundleの更新などが含まれています。(GitHub)

実務で特に見ておきたいのは、古いCodeQLバージョンを固定している環境です。リリースノートでは、CodeQL 2.19.3 以前の利用者に対する非推奨警告が追加され、これらのバージョンは今後のCodeQL Actionのマイナーリリースでサポートされなくなる予定と説明されています。GitHub Enterprise Serverや社内CIでCodeQL CLIのバージョンを明示的に固定している場合は、ワークフローだけでなくCLIやbundleの固定設定も確認してください。(GitHub)

また、CloudsmithやGCP OIDCを使ったプライベートレジストリ設定が受け入れられるようになった点、プライベートレジストリへの接続確認で HEAD ではなく GET を使うようになった点も、企業環境では重要です。社内プロキシ、NuGetフィード、プライベートパッケージ管理を使っている場合、これまで接続確認だけで失敗していたケースが改善する可能性があります。(GitHub)

SARIFアップロードで確認すべき設定

SARIFアップロードの失敗は、Actionのバージョンだけが原因とは限りません。GitHub Docsの例では、SARIFアップロードのワークフローに security-events: write が必要で、プライベートリポジトリでは actions: read と contents: read も示されています。更新後にCode scanningへ結果が出ない場合は、まず権限設定とGitHub Code Securityの有効化状態を確認してください。(GitHub Docs)

permissions:
  security-events: write
  actions: read
  contents: read

次のような症状があれば、upload-sarif のログを詳しく確認します。

症状主な確認ポイント
SARIFアップロードが失敗するpermissions、GitHub Code Securityの有効化、SARIFファイルのパス
Code scanningに結果が表示されないsarif_file の指定、category の重複、解析対象コミット
プライベートレジストリ連携で失敗するOIDC設定、レジストリのエンドポイント、NuGet service index
複数SARIFをアップロードして結果が上書きされるcategory または runAutomationDetails.id の一意性

影響範囲:アプリコードではなくCI/CDとセキュリティ運用が中心

今回の変更は、Business CentralのALコード、アプリケーションロジック、公開APIを直接変えるものではありません。PRの差分は .github/workflows 配下のAction参照更新に集中しています。したがって、アプリの機能テストよりも、CI、E2E、PowerShell関連ワークフロー、Scorecard分析、SARIFアップロードの確認が重要です。(GitHub)

特に、次のワークフローを持つリポジトリでは確認を優先してください。

ワークフローの種類確認すべき理由
CIワークフローharden-runner の起動・終了ログに変化が出る可能性がある
Deployワークフローデプロイ時に外部通信やシークレットを扱うため、ランナー保護の確認が重要
E2Eワークフロー複数ジョブで同じActionを使う場合、1か所だけ更新漏れが起きやすい
PowerShell解析ワークフローSARIFアップロードが失敗するとCode scanningの可視化に影響する
Scorecard分析ワークフローサプライチェーンリスクの検知結果がCode scanningへ出るか確認が必要

移行・設定確認の手順

まず自社リポジトリで同じActionを使っているか確認する

最初にやるべきことは、.github/workflows 内の利用状況確認です。AL-Go本体のPRがマージされていても、自社リポジトリのワークフローがすぐに更新されるとは限りません。手元またはCI管理用ブランチで次のように検索します。

grep -R "step-security/harden-runner\|github/codeql-action/upload-sarif" .github/workflows

検索結果に古いSHAや古いバージョンコメントが出た場合は、該当ワークフローを更新候補にします。GitHub Actionsの依存関係はDependency graphでも把握でき、ワークフロー内の uses: 参照、バージョン、SHAが依存関係として認識されます。(GitHub Docs)

SHA固定を維持したまま更新する

更新時にやってはいけないのは、確認を簡単にするために次のようなタグ指定へ戻すことです。

uses: step-security/[email protected]

タグ指定は便利ですが、GitHubのセキュリティベストプラクティスでは、フルレングスのコミットSHA固定がより安全な選択肢とされています。今回のPRのように、SHAで固定し、同じ行に # v2.19.1 のようなコメントを残すと、可読性とサプライチェーン対策を両立しやすくなります。(GitHub Docs)

uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1

ubuntu-slimを使っていないか確認する

harden-runner の更新で最も見落としやすいのは、ubuntu-slim ではエラーが出なくなっても監視はされない点です。次のようにランナー指定を検索します。

grep -R "runs-on:.*ubuntu-slim" .github/workflows

該当するジョブがあり、そのジョブでHarden-Runnerによる監視を期待している場合は、ubuntu-latest、明示的なUbuntu VM、larger runner、または適切に管理されたself-hosted runnerへの変更を検討します。軽量なIssue処理や短時間の自動化なら ubuntu-slim は選択肢になりますが、セキュリティ監視が必須のCI/CDには向きません。(GitHub Docs)

CodeQLとSARIFの結果を実行後に確認する

github/codeql-action/upload-sarif を更新した後は、ワークフローが成功したかだけでなく、Code scanningに結果が反映されているかを確認します。SARIFアップロードでは、ファイルパス、カテゴリ、権限、Code Securityの有効化状態が原因で失敗することがあります。(GitHub Docs)

確認の流れは次の通りです。

手順確認内容
ワークフローを手動またはPRで実行Upload SARIF ステップが成功しているか
ログを確認results.sarif のパスが正しいか、アップロードエラーがないか
GitHubのSecurityタブを確認Code scanning alertsに新しい結果が表示されるか
複数解析がある場合category が重複していないか
古いCodeQLを固定している場合CodeQL 2.19.3 以前を使っていないか

Dependabot運用で再発を防ぐ

今回のPRはDependabotによるグループ更新です。Dependabotは、通常は依存関係ごとにPull Requestを作りますが、groups を使うと複数の依存関係更新を少ないPull Requestにまとめられます。GitHub Actions向けのDependabot設定では、directory: "/" を指定すると /.github/workflows などが検索対象になります。(GitHub Docs)

自社リポジトリでも同様の運用をしたい場合は、既存の .github/dependabot.yml と重複しないようにしたうえで、次のような設定を検討できます。

version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      external-dependencies:
        patterns:
          - "step-security/harden-runner"
          - "github/codeql-action"
        update-types:
          - "patch"
          - "minor"

この設定は一例です。セキュリティ関連Actionはパッチ更新だけ自動グループ化し、メジャー更新は個別レビューにするなど、組織の変更管理ルールに合わせて調整してください。重要なのは、Dependabot PRを「自動で出す」だけで終わらせず、ワークフロー実行、差分確認、依存関係レビューまで運用に含めることです。

よくある失敗と回避策

エラーが消えたのでHarden-Runnerが監視していると判断する

ubuntu-slim では、v2.19.1によりHarden-Runnerがきれいに終了する可能性があります。しかし、それは監視が成功したという意味ではありません。セキュリティ監視が必要なジョブでは、ランナー種別そのものを見直す必要があります。(GitHub)

パッチ更新だからテストせずにマージする

今回の更新はSemVer上はパッチですが、対象はCI/CDのセキュリティと解析結果アップロードに関わるActionです。アプリのビルドが通るだけでは不十分で、Harden Runnerログ、SARIFアップロード、Code scanning反映まで確認するべきです。

SHA固定をタグ指定に戻してしまう

タグ指定は見やすい一方で、タグが移動された場合に意図しないコードを実行するリスクがあります。フルレングスSHA固定とバージョンコメントの併記を維持すると、セキュリティとメンテナンス性のバランスを取りやすくなります。(GitHub Docs)

SARIFアップロード失敗をAction更新だけの問題と考える

upload-sarif の失敗は、権限不足、GitHub Code Securityの未有効化、SARIFファイルパスの誤り、カテゴリ重複などでも起きます。Actionを戻す前に、permissions とSecurityタブの設定を確認してください。(GitHub Docs)

今回の更新で取るべき次の行動

今回のMicrosoft developer platform更新は、AL-Goを使う開発者にとって「アプリの移行」ではなく「GitHub Actionsワークフローの健全性確認」です。まず .github/workflows を検索し、step-security/harden-runner と github/codeql-action/upload-sarif の利用有無を確認してください。次に、SHA固定を維持したまま更新し、ubuntu-slim の利用有無、Harden Runnerのログ、SARIFアップロード結果、Code scanningへの反映を確認します。

特にセキュリティ監視やCode scanningを開発プロセスの品質ゲートにしているチームでは、今回の変更を「Dependabotの自動更新」で終わらせず、CI/CD設定の棚卸しとして扱うのが安全です。AL-Goの更新を取り込む前に、ステージング用ブランチでワークフローを実行し、問題がないことを確認してから本番ブランチへ反映しましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次