Azure Files SMBのマネージドID対応がGAに|Microsoft Entra認証の変更点と確認事項

Azure Files の SMB 共有をアプリケーションや VM から使っている環境では、ストレージアカウントキーや接続文字列をどこに保管するかが長年の悩みでした。2026年5月15日に公開・更新された公式情報では、「Managed Identity Support for Azure Files SMB」が一般提供(GA)として扱われ、Azure Files の SMB アクセスで Microsoft Entra のマネージド ID を使えるようになりました。結論として、アプリやサービスは静的なキーを持たずに Azure Files へ認証できるため、キー漏えいリスク、ローテーション作業、過剰権限を減らしやすくなります。Azure Updates でも当該項目は Launched / General Availability として掲載されています。(Microsoft Azure)

ただし、これは「スイッチを入れればすぐ安全になる」機能ではありません。実運用では、ストレージアカウント側の SMBOAuth 有効化、マネージド ID への RBAC 付与、クライアント側の認証準備、ACL 設計、既存のストレージアカウントキー依存の洗い出しが必要です。Microsoft Learn では、Windows / Linux VM が Microsoft Entra ID による ID ベース認証で SMB Azure file shares にアクセスでき、GA には AKS Workload Identity 対応、アプリケーション ID とエンドユーザー ID の同一ストレージアカウント上での共存、Azure portal からの有効化簡素化が含まれると説明されています。(Microsoft Learn)

目次

Azure Files SMB のマネージド ID 対応で何が変わるのか

今回の変更の中心は、Azure Files そのものの容量や性能ではなく、SMB 共有にアクセスするアプリケーションの認証方式です。

従来、Azure Files をアプリケーションから SMB マウントする場合、ストレージアカウントキーを使う構成が多くありました。ストレージアカウントキーは扱いやすい一方で、漏えい時の影響範囲が広く、アプリ設定、Kubernetes Secret、CI/CD 変数、運用手順書などに散らばりやすい問題があります。

GA となったマネージド ID 対応では、Azure VM やアプリケーションに割り当てられた Microsoft Entra の ID を使って Azure Files SMB へアクセスできます。Microsoft のマネージド ID の説明では、アプリケーションは資格情報を管理せずに Microsoft Entra トークンを取得でき、アクセスキーやパスワードの代替として利用できるとされています。(Microsoft Learn)

確認項目従来よくある構成GA 後にできること管理上のポイント
認証情報ストレージアカウントキー、接続文字列、SAS などを保管マネージド ID で認証アプリ設定や Secret にキーを残さない
権限管理キーを持つ主体が広い権限を持ちやすいID 単位で RBAC を付与共有 ID の使い回しを避ける
対象ワークロードVM、AKS、CI/CD などでキーを配布Windows / Linux VM、AKS などで ID ベースの SMB アクセスを設計OS、AKS バージョン、CSI ドライバーを確認
ユーザーとアプリの共存ユーザー用とアプリ用でストレージを分けることがある同じストレージアカウント上でアプリ ID とエンドユーザー ID を扱えるRBAC と ACL の整合性が重要
有効化方法手動設定やキー管理が中心Azure portal、PowerShell、CLI で SMBOAuth を有効化IaC に反映して再現性を確保

Microsoft Entra の観点では「人」ではなく「ワークロード ID」の管理が重要になる

Microsoft Entra と聞くと、ユーザーのサインインや条件付きアクセスを思い浮かべる人が多いかもしれません。今回の Azure Files SMB 対応で重要なのは、ユーザー ID だけでなく、アプリケーションや VM、Pod などのワークロード IDをどう管理するかです。

マネージド ID は、人間のアカウントではなく、Azure リソースやアプリケーションに割り当てる ID です。アプリケーションはその ID で認証し、Azure Files へのアクセス権は Azure RBAC やファイル・ディレクトリレベルの権限で制御します。

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

対象ID 設計の例注意点
単一 VM 上の業務アプリVM のシステム割り当てマネージド IDVM 削除と同時に ID も消えるため、復旧設計に注意
複数 VM で同じ役割のアプリユーザー割り当てマネージド ID複数リソースで共有できる分、権限範囲を広げすぎない
AKS のステートフルアプリWorkload Identity と ServiceAccount の組み合わせPod 単位の分離、AKS バージョン、プレビュー表記の確認が必要
管理者のメンテナンス作業エンドユーザー ID と Azure Files の RBAC / ACLアプリ ID と人の権限を同じものとして扱わない

Microsoft Learn では、システム割り当てマネージド ID はリソースのライフサイクルに紐づき、ユーザー割り当てマネージド ID は独立した Azure リソースとして作成され、複数リソースに割り当てられると説明されています。Azure Files の手順では、1 台の VM に両方を構成できるものの、最適な結果のためにはどちらか一方を使うことが推奨されています。(Microsoft Learn)

対象範囲:どの環境に影響するか

今回の更新で特に影響が大きいのは、Azure Files の SMB 共有をアプリケーションのファイル置き場として使っている環境です。たとえば、以下のようなケースでは優先的に確認する価値があります。

  • Azure VM 上のアプリが Azure Files をドライブまたはパスとしてマウントしている
  • AKS の Pod が Azure Files を永続ボリュームとして使っている
  • WordPress、CMS、社内アプリ、バッチ処理、CI/CD パイプラインなどで共有ファイル領域が必要
  • ストレージアカウントキーを App Service 設定、VM 上の設定ファイル、Kubernetes Secret、DevOps 変数などに保管している
  • セキュリティ監査で「共有キーの使用」「キーのローテーション」「資格情報の保管場所」が課題になっている

一方で、今回の更新は Azure Files の SMB アクセスに関するものです。Azure Files の ID ベース認証の概要では、SMB では ID ベース認証を利用できる一方、NFS ファイル共有では現在 ID ベース認証をサポートしていないと説明されています。NFS ワークロードは、ネットワーク制御や別の認証・認可設計を前提に確認してください。(Microsoft Learn)

また、公式ブログ系の説明では、HDD と SSD の SMB 共有、各種課金モデルで利用できるとされています。ただし、リージョン、クライアント OS、AKS、CSI ドライバーなどのサポート状態は環境によって変わる可能性があるため、本番展開前に利用中の構成で公式ドキュメントを確認してください。(TECHCOMMUNITY.MICROSOFT.COM)

管理者が確認すべき設定

ストレージアカウントで Managed Identity for SMB を有効化する

マネージド ID で SMB アクセスを行うには、対象のストレージアカウントで SMBOAuth プロパティを有効化します。Microsoft Learn では、新規ストレージアカウントでは Azure portal の Advanced タブで「Enable Managed Identity for SMB」を選択でき、既存アカウントでは Settings > Configuration の「Managed Identity for SMB」を Enabled にして保存できると説明されています。(Microsoft Learn)

Azure CLI で既存のストレージアカウントに対して有効化する例は次のとおりです。

az storage account update \
  --resource-group <resource-group-name> \
  --name <storage-account-name> \
  --enable-smb-oauth true

PowerShell では次のように設定できます。

Set-AzStorageAccount `
  -ResourceGroupName "<resource-group-name>" `
  -Name "<storage-account-name>" `
  -EnableSmbOAuth $true

新規構築なら、既存のキー依存を引きずらないように、マネージド ID 前提のストレージアカウントを分けて作る方が設計しやすい場合があります。既存アカウントに追加する場合は、既存のユーザーアクセス、バックアップ、運用ツール、ポータル操作、スクリプトがストレージアカウントキーに依存していないかを先に確認してください。

マネージド ID に適切な RBAC ロールを割り当てる

マネージド ID を有効化しただけでは、Azure Files へのアクセスは許可されません。Azure Files SMB のマネージド ID アクセスでは、対象のマネージド ID またはアプリケーション ID に Azure RBAC を付与します。

Microsoft Learn の手順では、Storage File Data SMB MI Admin ロールを対象 ID に割り当てる説明があります。このロールは、Azure Files のファイルやディレクトリに対してマネージド ID 用の管理者レベルのアクセスを与えるロールとして説明されています。(Microsoft Learn)

CLI の例は次のとおりです。

az role assignment create \
  --role "Storage File Data SMB MI Admin" \
  --assignee <managed-identity-client-id-or-object-id> \
  --scope <storage-account-resource-id>

注意したいのは、ロール名に「Admin」が含まれる点です。便利だからといって、複数アプリで同じユーザー割り当てマネージド ID を使い回すと、あるアプリの侵害が他の共有ファイル領域に波及する可能性があります。原則として、アプリケーション単位、環境単位、本番・検証単位で ID を分け、必要なスコープにだけ割り当てます。

共有レベルの権限と ACL を混同しない

Azure Files のアクセス制御では、Azure RBAC だけで完結するわけではありません。共有レベルの権限と、ディレクトリ・ファイルレベルの Windows ACL、いわゆる NTFS 権限の両方を考える必要があります。

Microsoft Learn では、共有レベルの RBAC は「高レベルのゲートキーパー」として機能し、Windows ACL はディレクトリやファイル単位の細かな操作を制御すると説明されています。両者に差がある場合、より制限の強い権限が適用されます。(Microsoft Learn)

たとえば、アプリ ID に共有レベルで書き込み権限があっても、対象フォルダーの ACL が読み取りのみであれば、実際には書き込みできません。逆に、ACL で書き込みを許可していても、共有レベルで読み取りしか許可されていなければ、書き込みはできません。

本番展開前には、最低でも次の権限表を作っておくとトラブルを減らせます。

対象共有レベルの権限フォルダー / ファイル ACL確認方法
アプリケーション ID必要なロールのみアプリが書き込むパスだけ許可テストデータの作成、更新、削除
運用管理者管理作業に必要な範囲管理対象フォルダーのみ障害対応手順で検証
開発者原則、本番は読み取りまたはなしデバッグ用領域に限定一時的な昇格手順を用意
CI/CDデプロイに必要なパスのみ成果物配置先のみパイプライン実行で確認

共有レベルの既定権限をストレージアカウントに設定することもできますが、これはストレージアカウント内のファイル共有に広く影響します。Microsoft Learn でも、既定の共有レベル権限は初期値が None であり、すべての認証済みユーザーやグループに同じ権限を与える構成になり得ると説明されています。安易に広い既定権限を設定するのは避けるべきです。(Microsoft Learn)

クライアント側の認証準備を行う

Windows と Linux では、マネージド ID を使った SMB マウントの準備手順が異なります。Microsoft Learn では、対象クライアントはドメイン参加していないことが前提として説明されています。Windows 側では AzFilesSmbMIClient PowerShell モジュールを使い、Linux 側では azfilesauth 関連のパッケージを使って認証情報を準備します。(Microsoft Learn)

Windows の例です。

Install-Module AzFilesSmbMIClient
Import-Module AzFilesSmbMIClient

AzFilesSmbMIClient.exe refresh --uri https://<storage-account-name>.file.core.windows.net/

ユーザー割り当てマネージド ID を使う場合は、クライアント ID を指定します。

AzFilesSmbMIClient.exe refresh `
  --uri https://<storage-account-name>.file.core.windows.net/ `
  --clientId <client-id>

Linux の例です。

sudo azfilesauthmanager set https://<storage-account-name>.file.core.windows.net --system
sudo azfilesauthmanager list

ユーザー割り当てマネージド ID の場合は、クライアント ID を指定します。

sudo azfilesauthmanager set \
  https://<storage-account-name>.file.core.windows.net \
  --imds-client-id <client-id>

Linux では、マウント後の認証情報更新も重要です。Microsoft Learn では、初回マウント後に azfilesrefresh サービスを開始し、起動時にも自動実行する手順が示されています。これを忘れると、検証時は成功しても、再起動後や一定時間後にアクセスが失敗する可能性があります。(Microsoft Learn)

sudo systemctl enable --now azfilesrefresh

SMB のネットワーク要件も確認する

マネージド ID によって認証は改善されますが、SMB 接続のネットワーク要件は消えません。Azure Files の SMB は TCP 445 番ポートを使用します。Microsoft Learn では、多くの組織や ISP がアウトバウンドの 445 番ポートをブロックすることがあり、Azure 外部から直接マウントする場合は VPN や ExpressRoute、Private Endpoint などの設計が必要になる場合があると説明されています。(Microsoft Learn)

特にオンプレミス、別クラウド、リモートワーク端末から接続する場合は、認証設定より先にネットワーク到達性を確認してください。

AKS で使う場合の注意点

AKS で Azure Files を永続ボリュームとして使っている場合、今回の更新は大きな意味があります。ストレージアカウントキーを Kubernetes Secret に入れて配布する構成から、Workload Identity を使った ID ベースアクセスへ移行できる可能性があるためです。

ただし、ここは慎重に確認すべきポイントです。Azure Files 側の GA 更新では AKS Workload Identity 対応が含まれるとされていますが、AKS のドキュメントでは、Azure Files への Workload Identity ベース認証について、AKS 1.35.0 以降の Linux ノードでプレビューとして利用可能という記載があります。(Microsoft Learn)

そのため、本番採用前には次を確認してください。

確認項目見るべきポイント
AKS バージョンWorkload Identity 対応に必要なバージョンを満たしているか
ノード OSLinux ノード前提の記載があるため、Windows ノード利用時は要確認
CSI ドライバーAzure Files CSI driver のバージョンと機能対応
ServiceAccountPod が使用する Kubernetes ServiceAccount が正しく定義されているか
Federated Identity CredentialMicrosoft Entra のマネージド ID と ServiceAccount の対応付けができているか
RBAC対象マネージド ID に Storage File Data SMB MI Admin など必要な権限があるか
本番利用可否プレビュー表記がある機能を自社の本番ポリシーで使えるか

AKS では、ノード単位の ID よりも Pod 単位の ID 分離が重要です。複数アプリが同じノードで動くため、ノードの ID に広い権限を与えると、最小権限の原則から外れやすくなります。特に金融、医療、個人情報を扱う業務では、Pod 単位でアクセス先ファイル共有を分ける設計を優先してください。

移行時の実務手順

既存環境をいきなり切り替えるのは危険です。まずは、ストレージアカウントキーをどこで使っているかを洗い出し、段階的にマネージド ID へ寄せるのが現実的です。

フェーズ作業内容失敗しやすいポイント
現状調査App Settings、VM 設定ファイル、Kubernetes Secret、CI/CD 変数、手順書を確認古いスクリプトや一時運用でキーが残っている
対象選定影響の小さいファイル共有や検証環境を選ぶ本番共有から始めて切り戻しが難しくなる
ID 設計アプリごとにシステム割り当て / ユーザー割り当てを決める便利な共有 ID に権限を集めすぎる
ストレージ設定SMBOAuth を有効化する既存ツールがキー前提で動かなくなる
RBAC / ACL 設計マネージド ID に必要なロール、フォルダー ACL を設定共有レベルと ACL の不一致でアクセス不可
クライアント設定Windows / Linux / AKS の認証準備を行うトークン更新サービスや起動時マウントを忘れる
動作確認読み取り、書き込み、削除、再起動後、スケールアウト時を確認初回マウントだけ成功して長期運用で失敗
キー削減アプリ設定からキーを削除し、必要に応じてキーをローテーション残存するキー依存ワークロードを見落とす

移行後は、ストレージアカウントキーをすぐ無効化するのではなく、依存関係を確認してから段階的に進めます。Microsoft の Azure Storage ドキュメントでは、Shared Key authorization を無効化すると、正しい RBAC がない場合に Azure Files への要求が失敗したり、ポータルでファイル共有にアクセスできなくなる可能性があるため、移行や RBAC 設定を事前に行う必要があると説明されています。(Microsoft Learn)

開発者が確認すべきポイント

開発者にとって重要なのは、アプリケーションコードを大きく書き換える必要があるかどうかです。Azure Files は SMB を通じてネイティブなファイルシステム API を提供するため、アプリがマウント済みパスを通常のファイルとして扱っている場合、アプリ側のファイル I/O ロジックは大きく変えずに済むことがあります。(Microsoft Learn)

ただし、認証とマウントはアプリ起動前に完了している必要があります。次のような観点でアプリ側も見直してください。

確認項目対応例
起動順序SMB マウント完了後にアプリを起動する
ヘルスチェック共有パスへの読み取り・書き込み確認を含める
エラー処理ファイル共有未接続時にアプリ全体が落ちないようにする
ログ認証失敗、マウント失敗、権限エラーを区別して記録する
設定値ストレージアカウントキーや接続文字列を削除する
CI/CDデプロイパイプラインでキーを注入していないか確認する

特にコンテナー環境では、「Pod は起動したが Azure Files はマウントできていない」という状態が起きると、アプリの初期化処理やログ出力で障害が連鎖します。Readiness Probe や起動時チェックで、共有ディレクトリの存在確認だけでなく、必要であればテストファイルの作成・削除まで確認するのが実務的です。

よくある失敗と対処法

症状主な原因対処
SMBOAuth を有効にしたのにアクセスできないマネージド ID に RBAC ロールがない、または反映待ちロール割り当てのスコープと対象 ID を確認し、反映後に再試行
Windows VM で意図しない ID が使われるシステム割り当てとユーザー割り当ての両方があるどちらか一方に整理する
Linux で再起動後にアクセスできない認証情報更新サービスが起動していないazfilesrefresh を enable する
アプリが広すぎる権限を持つ共有マネージド ID を複数アプリで使い回しているアプリ単位・環境単位で ID を分ける
ACL を設定したのに書き込めない共有レベル RBAC の方が制限されているRBAC と ACL の両方を確認する
Shared Key を無効化したらポータルやツールで失敗する既存の操作がキー認証に依存している無効化前に RBAC、運用ツール、バックアップを検証する
AKS で PV がマウントできないWorkload Identity、ServiceAccount、Federated Credential、CSI 設定の不一致AKS バージョン、マニフェスト、マネージド ID の関連付けを確認
オンプレミスから接続できないTCP 445 がブロックされているVPN、ExpressRoute、Private Endpoint、Azure File Sync を検討

すぐ導入すべき環境、慎重に進めるべき環境

優先的に導入を検討したい環境

以下に当てはまる場合は、早めに検証環境で試す価値があります。

  • ストレージアカウントキーをアプリ設定や Secret に保存している
  • キーの棚卸しやローテーションが運用負荷になっている
  • 複数の VM や Pod から同じ Azure Files SMB 共有にアクセスしている
  • セキュリティ監査で最小権限や資格情報管理が課題になっている
  • アプリケーション ID と管理者・開発者のユーザーアクセスを同じ共有上で整理したい
  • AKS で Azure Files を永続ボリュームとして使っている

慎重に進めるべき環境

一方、次の環境では、先に設計確認が必要です。

  • 既存の運用ツールやバックアップがストレージアカウントキー前提で動いている
  • NFS 共有を使っている
  • レガシー OS や古い SMB クライアントが残っている
  • オンプレミスから TCP 445 の接続ができない
  • AKS の Workload Identity 機能を本番で使えるか、社内ポリシー上の確認が必要
  • ファイル共有内の ACL が複雑で、誰がどこにアクセスできるか把握できていない

この機能は、既存のアクセス制御の混乱を自動で直すものではありません。むしろ、マネージド ID に移行するタイミングで、不要な共有キー、広すぎる RBAC、古い ACL、使われていないマウント設定を整理することに価値があります。

まとめ:まずはキー依存の棚卸しから始める

Azure Files SMB のマネージド ID 対応 GA は、Microsoft Entra を使ったワークロード認証を Azure Files の実運用に広げる重要な更新です。アプリケーションや VM、AKS がストレージアカウントキーを持たずに SMB 共有へアクセスできるため、Zero Trust や最小権限の考え方に沿った構成へ移行しやすくなります。

次に取るべき行動は明確です。まず、Azure Files を使っているアプリ、VM、AKS、CI/CD、運用スクリプトを棚卸しし、ストレージアカウントキーを使っている箇所を一覧化してください。そのうえで、影響の小さいファイル共有を選び、SMBOAuth の有効化、マネージド ID の作成、RBAC 付与、クライアント設定、ACL 検証を小さく試します。

本番移行では、キーの削除や Shared Key の無効化を最後に行うのが安全です。認証方式を変えるだけでなく、どのアプリが、どの ID で、どの共有の、どのフォルダーにアクセスできるのかを文書化しておくことで、今回の GA を単なる新機能対応ではなく、Azure Files 全体のセキュリティ改善につなげられます。

この記事を書いた人

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

コメント

コメントする

目次