Dynamics 365ドキュメント更新:C/AL表記がALへ、管理者が確認すべき設定と影響範囲

2026年5月19日にマージされた公式PRの要点は、Dynamics 365 Business Centralの展開・セキュリティ関連ドキュメントに残っていた古い「C/AL」表記を、現在の開発言語である「AL」に直すことです。これは脆弱性修正や製品仕様変更ではなく、ドキュメントの用語更新です。ただし、管理者や開発者が「C/AL向けの古い注意書き」と誤解して読み飛ばすと、マルチテナント環境のURL生成やサーバーファイルアクセス設定の確認漏れにつながります。(GitHub)

目次

今回のDynamics 365ドキュメント更新で変わったこと

今回のDynamics 365 documentation updateでは、MicrosoftDocsのBusiness Central開発・IT Pro向けドキュメントにある2つの非移行系ドキュメントで、古いC/AL表記がALへ修正されました。PRは「Replace stale C/AL references with AL in deployment and security docs」として、2026年5月19日にマージされています。(GitHub)

対象ドキュメント修正内容実務上の意味
Multitenant-Deployment-Architecture.md「C/AL code that constructs URLs」を「AL code that constructs URLs」へ変更マルチテナント構成でURLを組み立てるALコードは、テナント指定を含めて見直す対象であることが明確になった
security-lock-down-server-communication.mdEnableALServerFileAccessの説明内に残っていた「C/AL file data type functions」を「AL file data type functions」へ変更サーバーファイルアクセスの制御対象が、現在のALファイル操作にも関係することが分かりやすくなった

重要なのは、今回の更新が「C/ALからALへの移行手順」そのものではない点です。対象は現在のアーキテクチャガイダンスとセキュリティ設定の説明であり、現行のAL開発者・Business Central管理者が読む前提のドキュメントです。(GitHub)

これはセキュリティパッチではなく、セキュリティ文書の用語修正

今回の更新を「Dynamics 365の緊急セキュリティ更新」と捉えるのは正確ではありません。確認できる変更はMarkdownドキュメント内の表記修正であり、サーバー設定値、既定値、ALランタイム、認証方式が変更されたわけではありません。(GitHub)

一方で、セキュリティ運用上は軽視しない方がよい更新です。理由は、古い「C/AL」という語が残っていると、レビュー担当者が「これは旧Dynamics NAVや古い移行作業の話だ」と判断し、現行のAL拡張機能に関係する注意点を見落としやすいからです。

特に次の環境では、単なる表記修正で終わらせず、設定やコードの棚卸しまで行う価値があります。

環境・担当確認すべきポイント優先度
Business Centralのオンプレミス、またはパートナー管理環境EnableALServerFileAccessの現在値と、ALからサーバーファイルへアクセスする必要性高
マルチテナント構成ALコード、レポート内リンク、OData URLにテナント指定が含まれているか高
AL拡張機能を開発しているチーム古いC/AL表記を理由に現行コードレビュー対象から外していないか中
社内手順書・設計書を管理するチーム非移行ドキュメントに残るC/AL表記をALへ更新するか中
C/ALからALへの移行資料を保守しているチーム移行文脈のC/AL表記を誤って一括置換しないか中

なぜC/ALからALへの表記変更が重要なのか

Business Centralの拡張機能開発では、オブジェクトはALコードとして.alファイルに保存され、Visual Studio CodeとAL Language拡張機能を使って開発するのが現在の前提です。Microsoft Learnでも、Business Centralの拡張機能はAL開発環境で作成するものとして説明されています。(Microsoft Learn)

一方、C/ALは主に旧Dynamics NAVやBusiness Central 2019 Spring、つまりバージョン14以前の文脈で登場します。MicrosoftのTxt2Al変換ツールの説明でも、C/ALオブジェクトを.al形式へ変換する対象はDynamics NAVまたはBusiness Central Spring 2019、バージョン14のオブジェクトとして扱われています。さらに同ツールはBusiness Central 2022 release wave 2、バージョン21以降では利用できないとされています。(Microsoft Learn)

つまり、現在の展開・セキュリティドキュメントにC/ALと書かれていると、読者に誤ったシグナルを送ります。今回の修正は、その誤解を避けるための整合性改善です。

管理者が確認すべき設定:EnableALServerFileAccess

管理者が最も確認すべきなのは、EnableALServerFileAccessです。この設定は、ALのファイルデータ型関数がBusiness Central Serverコンピューター上のファイルへアクセスできるかを指定します。Microsoft Learnのサーバー設定一覧では、既定値は有効、動的更新は不可と説明されています。(Microsoft Learn)

この設定を確認する目的は、「有効だから危険」「無効にすべき」と単純に決めることではありません。AL拡張機能が帳票出力、一時ファイル、外部連携、データインポートなどでサーバー側ファイルを使っている場合、無計画に無効化すると業務処理が止まる可能性があります。

確認の進め方

手順作業判断基準
現行値の確認Business Central Administration Shellで設定値を確認するどのServer Instanceで有効かを一覧化する
利用箇所の棚卸しALコード、外部連携、バッチ処理、帳票処理でサーバーファイルを使っているか確認する必要性が説明できない処理は見直し候補
アクセス範囲の確認サービスアカウントがアクセスできるフォルダーを確認する不要な共有フォルダーや広すぎる権限を避ける
検証環境でテスト設定変更時の影響を検証する本番でいきなり無効化しない
変更手順の整備変更、再起動、切り戻し、業務確認の手順を用意する障害時に元へ戻せる状態にする

設定確認にはGet-NAVServerConfiguration、設定変更にはSet-NAVServerConfigurationを使えます。Set-NAVServerConfigurationはBusiness Central Serverインスタンスの設定を構成するcmdletで、値はインスタンスのCustomSettings.configに書き込まれます。(Microsoft Learn)

Get-NAVServerConfiguration -ServerInstance BC -KeyName EnableALServerFileAccess

Set-NAVServerConfiguration -ServerInstance BC -KeyName EnableALServerFileAccess -KeyValue false
Restart-NAVServerInstance -ServerInstance BC

多くの構成変更はサーバーインスタンスの再起動後に反映されます。Restart-NAVServerInstanceはBusiness Central Serverインスタンスを停止して再起動するcmdletで、再起動時にはクライアント接続が切断されるため、業務時間外やメンテナンス枠で実施するのが安全です。(Microsoft Learn)

直接編集は避け、変更履歴を残す

Business Central Serverの設定はCustomSettings.configを直接編集することもできますが、Microsoft Learnでは、入力ミスがあるとサーバーインスタンスが起動しない可能性があるため、直接編集には注意が必要だと説明されています。各Server Instanceは独自のCustomSettings.configを持つため、複数インスタンス構成では「一部の環境だけ設定が違う」状態にも注意が必要です。(Microsoft Learn)

実務では、PowerShellで変更し、変更前後の値、実施者、日時、対象インスタンス、再起動結果を記録する方が監査しやすくなります。

バージョン27以降ではファイル操作の制限設定も合わせて確認する

サーバーファイルアクセスを見直す場合、EnableALServerFileAccessだけでなく、EnforceUserPathForAlFileOperationsも確認対象になります。Microsoft Learnでは、この設定はALファイル操作をサーバーのサービスアカウントのユーザーフォルダーに制限するセキュリティ機能として説明されており、バージョン27以降に適用される設定です。(Microsoft Learn)

実務上の判断は次のように考えると整理しやすくなります。

状況推奨される見方
ALがサーバーファイルを使っていないEnableALServerFileAccessを有効にしておく必要があるか再検討する
ALが一時ファイルのみ使っているアクセス先をサービスアカウントの限定されたフォルダーに寄せられるか確認する
外部システム連携で共有フォルダーを使っている共有フォルダーのアクセス権、監査ログ、代替手段を確認する
古いカスタマイズをAL化しているC/AL時代のファイル操作前提が残っていないかコードレビューする

ここでの失敗パターンは、設定名だけを見て「AL向けだからオンにしておく」と判断することです。実際には、必要なAL処理だけにファイルアクセスを許可し、不要なアクセス経路を減らすことがセキュリティレビューの目的です。

開発者が確認すべきALコード:マルチテナントURL生成

もう一つの重要ポイントは、マルチテナント構成におけるURL生成です。Microsoft Learnのマルチテナント展開ドキュメントでは、マルチテナント環境のURLは対象テナントを指定する必要があり、URLを組み立てるALコードはテナントを含めるよう更新するか、GETURL関数を使ってURLを計算するよう説明されています。(Microsoft Learn)

見直すべき箇所は、Webサービス呼び出しだけではありません。次のような箇所も対象です。

  • レポート内に埋め込んだBusiness Centralへのリンク
  • 通知メールに差し込むURL
  • 外部システムへ渡すOData、SOAP、APIのURL
  • ALコード内で文字列連結しているURL
  • テナントIDやホスト名を固定値で持っている設定ファイル

たとえば、単一テナント環境で動いていたURLをそのまま使うと、マルチテナント構成では別テナントを参照できない、認証後に意図しない画面へ遷移する、外部連携が失敗するといった問題が起きます。

URL生成コードのレビュー観点

レビュー項目確認内容
テナント指定Tenantパラメーター、またはテナントごとのホスト名を使っているか
固定URLlocalhost、古いサーバー名、特定会社名をハードコードしていないか
レポート内リンクレポート出力後に別テナントでも正しく開くか
外部連携ODataやAPI URLにテナント条件が欠けていないか
テスト複数テナントで同じAL拡張機能を実行し、URLが正しく分岐するか

マルチテナントでは、テナントIDをURLに含める方法と、テナントごとのホスト名を代替IDとして使う方法があります。Microsoft Learnでは、テナントホスト名を代替IDとして指定した場合、そのホスト名を使って同じWebサービスへアクセスできる例が示されています。(Microsoft Learn)

移行プロジェクトでは「C/AL」の一括置換に注意

今回の更新を受けて、社内ドキュメントやコードコメントのC/AL表記を見直すのは有効です。ただし、すべてのC/ALをALへ一括置換するのは危険です。

C/ALからALへの移行手順、Txt2Al、Dynamics NAV由来のオブジェクト、Business Central v14以前の説明では、C/ALという語が正しく使われている場合があります。MicrosoftのTxt2Al変換ツールの説明でも、C/ALオブジェクトを.al形式へ変換するという移行文脈でC/ALが使われています。(Microsoft Learn)

見直し時は、次のように分類すると誤置換を防げます。

表記がある場所対応方針
現行の展開手順、運用手順、セキュリティ手順C/ALではなくALが適切か確認する
AL拡張機能の設計書・レビュー観点原則としてALに統一する
C/ALからALへの移行手順C/AL表記を残すべき箇所が多い
古いNAV資産の説明対象バージョンを明記してC/ALを残す
社内FAQ「旧C/AL」「現行AL」の違いを補足する

管理者・開発者が今すぐ行うべきチェックリスト

今回のDynamics 365ドキュメント更新を受けて、まずは次の順番で確認すると無駄がありません。

チェック項目対象者完了条件
公式PRの対象がドキュメント修正であることを共有する管理者、開発者、セキュリティ担当緊急パッチと誤解されていない
マルチテナント構成の有無を確認する管理者対象Server Instanceとテナント構成が分かる
ALコードでURLを組み立てている箇所を検索する開発者テナント指定の有無をレビューできる
EnableALServerFileAccessの値を確認する管理者必要性とリスクを説明できる
サーバーファイルアクセスを使うAL処理を棚卸しする開発者、運用担当無効化時の影響を把握できる
社内ドキュメントのC/AL表記を分類するドキュメント管理者非移行文脈の古い表記を修正できる
変更する場合は検証環境で試す管理者、開発者本番変更前に影響を確認できる

よくある誤解と失敗しやすいポイント

誤解・失敗何が問題か正しい対応
「セキュリティ更新」と聞いてすぐ本番設定を変える今回は製品パッチではなくドキュメント修正まず影響範囲を確認する
C/ALと書かれているから現行環境には関係ないと判断する今回の修正対象は現行AL開発者向けの文書ALコードと設定を確認する
EnableALServerFileAccessを無計画に無効化する既存のAL処理が停止する可能性がある利用箇所を棚卸しし、検証環境で確認する
マルチテナントURLを文字列連結で作り続けるテナント指定漏れやホスト名変更に弱いGETURL関数やテナントホスト名の利用を検討する
社内資料のC/ALをすべてALに一括置換する移行資料ではC/AL表記が正しい場合がある移行文脈と現行運用文脈を分けて修正する

次に取るべき行動

今回のDynamics 365 documentation updateは小さな表記修正ですが、現行のBusiness Central運用では見逃せないシグナルです。対応の優先順位は明確です。

まず、マルチテナント環境を運用している場合は、ALコードやレポート内リンクがテナントを正しく指定しているか確認します。次に、オンプレミスやパートナー管理環境でBusiness Central Serverを管理している場合は、EnableALServerFileAccessの値とALファイル操作の利用実態を棚卸しします。最後に、社内の運用手順書・設計書・レビュー観点に残っているC/AL表記を見直し、移行文脈と現行AL文脈を分けて整理します。

今回の更新で重要なのは、「C/ALという古い言葉をALへ置き換えた」こと自体ではありません。現行のAL開発とBusiness Central運用に関わる注意点を、古い用語のせいで見落とさないようにすることです。

この記事を書いた人

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

コメント

コメントする

目次