Microsoft Entra IDとmanaged identitiesで進める資格情報排除:日和見的攻撃を減らす実務対策

2026年4月20日の Microsoft Security Blog「Making opportunistic cyberattacks harder by design」は、「攻撃を検知して止める」以前に、攻撃者が使いやすい資格情報そのものを減らすべきだ、という強いメッセージとして読めます。特に Microsoft Entra ID、managed identities、enterprise security architecture を使う組織にとって、優先すべき対策は明確です。パスワード、クライアントシークレット、APIキー、共有接続文字列を棚卸しし、managed identities や workload identity federation に置き換え、あわせて公開エンドポイントと例外的な個別構成を減らすことです。(Microsoft)

重要なのは、「資格情報を安全に保管する」だけで満足しないことです。Microsoft Security が示す方向性は、漏えい・使い回し・期限切れ・リポジトリへの誤コミットといった事故原因を、設計段階から減らすアプローチです。Security teams、compliance leads、platform architects は、単なる設定変更ではなく、認証方式、ネットワーク到達性、権限設計、開発標準をまとめて見直す必要があります。

目次

Microsoft Security の主張は「資格情報を守る」から「資格情報をなくす」への転換

Microsoft Security Blog では、日和見的な攻撃への対策として、credential elimination、endpoint reduction、identity controls、platform engineering が取り上げられています。特に印象的なのは、多くの攻撃者はネットワークを高度に突破するのではなく、盗まれた資格情報でログインする、という前提です。資格情報が少なければ、フィッシング、推測、再利用、漏えいの対象も少なくなります。(Microsoft)

この考え方は、Microsoft Entra ID を中心にした認証基盤を運用している組織ほど重要です。クラウド環境では、人間のアカウントだけでなく、アプリケーション、サービスプリンシパル、CI/CD、AIエージェント、ローコード基盤など、多数の非人間IDがリソースへアクセスします。Microsoft Entra のワークロードIDは、アプリケーション、サービスプリンシパル、managed identities を含む概念であり、これらは人間のIDとは別の管理課題を持ちます。(Microsoft Learn)

従来のセキュリティ対策は、パスワードポリシー、MFA、シークレットローテーション、監査ログに重点を置きがちでした。しかし、ワークロードIDはMFAを実行できず、正式なライフサイクル管理がないまま増えやすく、どこかに資格情報やシークレットを保存する必要があるケースもあります。そのため、単に「強いシークレットを使う」よりも、「シークレットを使わない設計へ移行する」方が根本的なリスク低減につながります。(Microsoft Learn)

まず評価すべきリスクは「外部公開・高権限・再利用可能」な資格情報

すべての資格情報を一度に廃止するのは現実的ではありません。最初に見るべきは、漏えいしたときに攻撃者がすぐ横展開できる資格情報です。

見るべき対象よくある場所典型的なリスク優先する対応
アプリ登録のクライアントシークレットMicrosoft Entra ID、CI/CD設定、環境変数有効期限が長い、所有者不明、複数環境で使い回しmanaged identity または workload identity federation へ移行
APIキー・接続文字列appsettings.json、Key Vault、GitHub、DevOps変数コードやログに出る、権限範囲が広いEntra ID認証、RBAC、Key Vaultは暫定利用に限定
サービスアカウントバッチ処理、レガシー連携、運用スクリプトパスワードが長期固定、個人に紐づかない用途別IDへ分離し、可能な範囲で managed identity 化
CI/CDのサービス接続Azure DevOps、GitHub Actions、社内デプロイ基盤デプロイ権限が広い、リポジトリ単位で横展開されるフェデレーション認証、環境別の最小権限
Power Platform / Dataverse 連携プラグイン、カスタム連携、Power Automate業務ユーザーがアプリ登録やシークレット管理を回避しにくいPower Platform managed identity の利用を検討
公開された管理・データプレーンRDP、SSH、App Service、Storage、Key Vault、DB資格情報漏えい時に外部から到達可能Private Endpoint、Bastion、JIT、公開アクセス無効化

優先順位を決めるときは、次の5つを点数化すると判断しやすくなります。

評価軸高リスクと判断する例
外部到達性インターネットから到達できるエンドポイントで使われている
権限の強さOwner、Contributor、Key Vault管理、Storage広範囲アクセスなどを持つ
再利用性1つの資格情報を複数アプリ、複数環境、複数パイプラインで共有している
発見されやすさコード、ログ、環境変数、チケット、Wikiに残っている可能性がある
ライフサイクル不備所有者不明、有効期限なし、ローテーション履歴なし、削除基準なし

最初のターゲットは、「本番環境」「高権限」「外部到達可能」「長期シークレット」の4条件が重なる箇所です。ここは、攻撃者にとって最も使いやすく、監査・コンプライアンス上も説明が難しい領域です。

managed identities を標準の認証方式にする

managed identities は、Azureリソースに Microsoft Entra ID 上の自動管理されたIDを付与し、対応するサービスへ資格情報をコードに持たずに認証する仕組みです。Microsoft のドキュメントでも、managed identities はアクセスキーやパスワードなどのシークレットを置き換えられ、資格情報自体が利用者からアクセスできないことが利点として説明されています。(Microsoft Learn)

実務では、まず「この接続は本当にシークレットが必要か」と問い直すべきです。たとえば、App Service から Key Vault、Azure Functions から Storage、VM上のアプリから Azure SQL や Service Bus にアクセスするケースでは、managed identity と Azure RBAC、または対象サービス側の権限モデルで置き換えられる可能性があります。

種類向いている場面注意点
システム割り当て managed identity1つのAzureリソースに紐づく単純なワークロードリソース削除時にIDも削除されるため、ライフサイクルは分かりやすい
ユーザー割り当て managed identity複数リソースで同じ役割を使う、blue/green構成、権限をリソースと分離したい場合使わなくなったIDを手動で削除する運用が必要
アプリ登録・サービスプリンシパルAzure外部のワークロード、SaaS、CI/CDなどクライアントシークレットではなくフェデレーション認証を優先する

Microsoft のドキュメントでは、システム割り当てIDはリソースのライフサイクルに紐づき、ユーザー割り当てIDは独立したAzureリソースとして複数リソースに割り当てられると説明されています。ユーザー割り当て managed identity は、権限設計をリソースから分離しやすいため、複数インスタンスや標準化されたプラットフォームで特に有効です。(Microsoft Learn)

managed identities 移行の実務手順

手順実施内容成功条件
接続先の確認Key Vault、Storage、SQL、Service Busなどが Microsoft Entra 認証に対応しているか確認パスワードやアクセスキー以外の認証方式が使える
IDの作成・有効化システム割り当てまたはユーザー割り当て managed identity を設定ワークロードごとに識別可能なIDがある
権限付与Azure RBACやデータプレーン権限を最小権限で付与読み取りだけでよい処理に書き込み権限を与えない
アプリ修正Azure Identity SDK、MSAL、各サービスSDKのEntra認証へ変更接続文字列やシークレットを参照しない
検証本番同等の権限・ネットワーク条件で疎通確認旧シークレットを無効化しても処理が動く
旧資格情報の廃止クライアントシークレット、APIキー、接続文字列を削除または失効監査で「残存シークレットなし」と説明できる

ここで失敗しやすいのは、managed identity に広すぎる権限を与えてしまうことです。managed identity が割り当てられたリソースでコードを実行できるユーザーは、そのIDに付与された権限を実質的に使える可能性があります。Microsoft も、コード実行権限を持つユーザーが managed identity の権限を利用できる点に注意を促しています。(Microsoft Learn)

CI/CDや外部ワークロードは workload identity federation を優先する

Azure上で動くワークロードは managed identities が第一候補です。一方、GitHub Actions、Kubernetes、外部クラウド、SaaS、社内ビルド基盤など、Azureリソースとして直接 managed identity を割り当てにくい環境では、workload identity federation を検討します。

Microsoft Entra Workload ID のドキュメントでは、Azure上のワークロードは managed identities により、GitHub Actions、Kubernetes、Azure外部のコンピュートなどは workload identity federation により、シークレット管理なしで Microsoft Entra 保護リソースへアクセスできるシナリオが示されています。(Microsoft Learn)

Power Platform の領域でも、Power Platform managed identity は Dataverse プラグインからAzureリソースへ資格情報管理なしに接続する仕組みとして説明されています。また、Power Platform Build Tools for Azure DevOps では、サービスプリンシパルのクライアントシークレットよりも、workload identity federation を使う接続方式が推奨されています。(Microsoft Learn)

フェデレーション認証で注意すべき設計

設計項目悪い例良い例
対象範囲すべてのリポジトリ、すべてのブランチから本番へデプロイ可能本番デプロイ用IDは特定リポジトリ・特定ブランチ・承認済み環境に限定
権限1つのサービスプリンシパルに全サブスクリプションのContributorを付与環境・アプリ・操作単位で権限を分割
監査パイプライン名だけで誰が何をしたか追えないリポジトリ、環境、ジョブ、承認者をログで追える
例外管理一時的なクライアントシークレットを放置期限付き例外として登録し、削除日を持たせる

フェデレーション認証は「シークレットを持たない」点で強力ですが、発行条件が広すぎると、別のリポジトリやブランチから意図せず権限を使える設計になります。特に本番環境では、issuer、subject、audience、環境承認、ブランチ保護をセットで見直すべきです。

公開エンドポイントを減らし、資格情報漏えい時の到達経路を絞る

credential elimination と並行して取り組むべきなのが endpoint reduction です。managed identity に置き換えても、データプレーンや管理プレーンが広く公開されたままでは、設定ミスや過剰権限の影響範囲が残ります。

Azure Private Endpoint は、仮想ネットワーク内のプライベートIPアドレスを使って Azure Private Link 対応サービスへ接続するネットワークインターフェイスです。これにより、対象サービスを実質的に仮想ネットワーク内へ取り込む形でアクセスできます。(Microsoft Learn)

ただし、Private Endpoint を作成しただけで公開アクセスが自動的に無効になるとは限りません。たとえば Azure Storage のドキュメントでは、Private Link を作成しても public endpoint への接続は自動的にはブロックされず、private endpoint のみに制限したい場合はストレージファイアウォールで public endpoint 経由のアクセスを拒否または制御する必要があると説明されています。(Microsoft Learn)

Key Vault でも同じ考え方が重要です。Microsoft の Key Vault セキュリティ推奨では、ネットワーク露出を減らすことが重要であり、最も制限の強い構成として public network access を無効化し、Private Endpoints のみを使うことが示されています。(Microsoft Learn)

対象推奨される見直し注意点
Azure Key VaultPrivate Endpoint 化、public network access 無効化、RBAC利用シークレット保管庫にするだけでは資格情報排除にならない
Azure StoragePrivate Endpoint、Storage firewall、Entra ID認証、アカウントキー利用の削減Private Endpoint作成だけではpublic endpointが残る場合がある
App Service / APIPrivate Endpoint、アクセス制限、不要な公開URLの削除Private Endpointとpublic accessは併存し得るため、明示的な無効化が必要
管理アクセスRDP/SSH公開を避け、Bastion、JIT、Serial Consoleなどを検討緊急運用のための例外を恒久化しない
データベースEntra認証、Private Link、最小権限、監査ログ接続元DNSがpublic側を引いていないか確認する

App Service の Private Endpoint でも、Microsoft は private endpoints と public access が共存できるため、分離を確実にするには public network access を無効化するよう説明しています。さらに、DNS設定が誤っていると private endpoint ではなく public endpoint 側へ解決されることがあるため、Private DNS Zone やカスタムDNSの設計まで含めて検証する必要があります。(Microsoft Learn)

Key Vault は「資格情報排除」までの中間地点と考える

Azure Key Vault は重要な保護策ですが、credential elimination のゴールではありません。Key Vault にシークレットを入れると、コード直書きよりは安全になります。しかし、シークレットが存在する限り、ローテーション、参照権限、漏えい検知、期限切れ、依存アプリ停止の問題は残ります。

Microsoft のアプリケーション移行ガイドでも、短期的にシークレットベース認証から移行できないアプリケーションについては、シークレットをローテーションし、Azure Key Vault などの安全な方法を使うよう説明されています。つまり、Key Vault は「移行できないものを安全に扱う」ための対策であり、「シークレットを残し続ける理由」にはなりません。(Microsoft Learn)

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

状況Key Vault の位置づけ次のアクション
すぐ managed identity 化できる不要または一時的直接Entra認証へ移行
レガシーアプリで短期移行が難しい暫定的な保管場所期限付き例外として登録し、移行計画を作る
外部SaaSがAPIキーしか対応しない必要な保護策ローテーション、アクセス監査、利用範囲の限定
証明書や暗号鍵の管理が必要本来の用途として利用自動ローテーション、分離、復旧手順を整備

Key Vault のセキュリティ推奨では、アプリケーション、リージョン、環境ごとにKey Vaultを分けることや、Key Vaultを一般的なデータストアとして使わないことも示されています。これは、侵害時の影響範囲を小さくし、監査証跡を分かりやすくするうえで重要です。(Microsoft Learn)

プラットフォーム標準化で「例外だらけの安全対策」を終わらせる

Microsoft Security Blog がもう一つ強調しているのが platform engineering です。日和見的な攻撃は、一貫性のない構成、例外的な許可、チームごとの独自実装を好みます。Microsoft の記事では、標準化された共通の実行基盤、通信ライブラリ、ポリシー、テレメトリによって、個別サービスごとに対策を展開するのではなく、プラットフォーム側の変更で多数のサービスに防御を適用する考え方が示されています。(Microsoft)

enterprise security architecture の観点では、個別チームに「安全に作ってください」と依頼するだけでは限界があります。安全な設計を、開発者が自然に選べる「既定値」にする必要があります。

標準化する領域具体例セキュリティ上の効果
認証方式managed identity、workload identity federation、Entra認証SDKシークレットの新規発生を抑える
IaCテンプレートBicep、Terraform、Azure Verified ModulesなどPrivate Endpoint、ログ、RBACを標準で有効化
CI/CD承認フロー、環境分離、フェデレーション認証デプロイ権限の乱立を防ぐ
ネットワークpublic access無効、Private DNS、接続元制御外部からの探索対象を減らす
監査証跡Entraサインインログ、Azure Activity Log、Defender、Sentinel例外と権限変更を追跡しやすくする
例外管理期限、所有者、リスク受容、再承認「一度だけ」の例外が恒久化するのを防ぐ

ここでのポイントは、セキュリティチームがすべてのレビューを手作業で抱え込まないことです。ポリシーとして禁止するもの、標準テンプレートで自動適用するもの、例外申請で扱うものを分けると、スピードと統制を両立しやすくなります。

役割別に優先すべきアクション

Security teams、compliance leads、platform architects は、同じテーマを見ていても責任範囲が異なります。credential elimination を組織施策として進めるには、それぞれの成果物を明確にすることが重要です。

役割最初にやること成果物
Security teams長期シークレット、公開エンドポイント、高権限サービスプリンシパルを棚卸しリスク順リスト、検知ルール、失効・移行計画
Compliance leads例外、所有者、期限、証跡、承認プロセスを定義監査用コントロール、例外台帳、証跡テンプレート
Platform architectsmanaged identity と Private Endpoint を前提にした標準構成を作るIaCモジュール、参照アーキテクチャ、開発者向けガードレール

特にコンプライアンス担当者は、「シークレットがKey Vaultにあるから安全」と単純化しない方がよいでしょう。監査で問われるのは、保管場所だけではありません。誰がアクセスできるか、なぜ必要か、いつ廃止するか、漏えい時にどこまで影響するか、証跡を示せるかが重要です。

30日・60日・90日で進める実行計画

一気に全社移行を狙うと、影響範囲が大きくなりすぎます。最初の90日は、棚卸し、優先順位付け、標準化の土台作りに集中すると効果が出やすくなります。

期間重点テーマ実施内容
30日以内見える化と高リスク封じ込め本番・高権限・外部公開の資格情報を棚卸し。新規クライアントシークレット作成を原則禁止または承認制にする
60日以内主要ワークロードの移行Key Vault、Storage、DB、CI/CDの上位リスクから managed identity / federation へ移行。旧シークレットを失効
90日以内標準化と再発防止IaC、Azure Policy、CI/CDテンプレート、例外台帳、監査証跡を整備。開発チームが標準構成を選べる状態にする

この計画では、移行件数よりも「新しい危険な資格情報を増やさない」ことを重視します。既存の負債を減らしても、新規プロジェクトで長期シークレットが作られ続ければ、リスクは戻ってしまいます。

失敗しやすいポイントと回避策

credential elimination は効果が大きい一方、設計を誤ると停止や権限過多を招きます。特に次の点に注意してください。

失敗パターン何が起きるか回避策
managed identity に広すぎる権限を付けるそのリソースでコード実行できる人が強い権限を使える実行権限とID権限をセットでレビューする
権限変更がすぐ反映されると思い込む削除・変更した権限がしばらく効いているように見える検証時間を確保し、直接割り当てを優先する
Private Endpoint だけ作って公開アクセスを残す外部からの到達経路が残るpublic network access、ファイアウォール、DNSを確認する
Key Vault に入れたので完了とするシークレットの存在リスクが残るKey Vault利用を暫定扱いし、廃止日を持たせる
ユーザー割り当てIDを放置する使われていないIDやロール割り当てが残る定期レビューと削除手順を標準化する
例外に期限を付けない「一時対応」が恒久化する例外は所有者、理由、期限、再承認を必須にする

managed identity の権限変更では、トークンがAzure基盤側でキャッシュされるため、グループやロールメンバーシップの変更反映に時間がかかる場合があります。Microsoft は、managed identity のトークンキャッシュにより権限変更の反映に数時間かかる可能性があり、迅速な反映が必要な場合はユーザー割り当て managed identity に権限を直接付与することを推奨しています。(Microsoft Learn)

また、ユーザー割り当て managed identity はリソースとは独立したライフサイクルを持つため、不要になったら手動で削除する必要があります。managed identity を削除してもロール割り当てが自動削除されない点も、棚卸し時に見落としやすいポイントです。(Microsoft Learn)

まず着手すべき結論

Microsoft Entra ID / managed identities / enterprise security architecture を使う組織が最初にやるべきことは、次の3つです。

1つ目は、本番環境で使われているパスワード、クライアントシークレット、APIキー、接続文字列を棚卸しし、外部公開・高権限・長期有効なものから移行対象にすることです。

2つ目は、Azure上のワークロードでは managed identities、CI/CDや外部ワークロードでは workload identity federation を優先し、Key Vault は移行できないシークレットの暫定的な保護策として扱うことです。

3つ目は、Private Endpoint、public network access の無効化、DNS確認、Azure Policy、IaCテンプレートを組み合わせ、個別チームの努力ではなくプラットフォームの既定値として安全な構成を提供することです。

日和見的な攻撃に強い組織は、攻撃者が使える「便利な入口」を減らしています。資格情報を複雑に守るより、資格情報を持たない設計へ移す。その方針を Microsoft Entra ID、managed identities、ネットワーク分離、プラットフォーム標準化に落とし込むことが、2026年以降のクラウドセキュリティで優先度の高いリスク低減策です。

この記事を書いた人

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

コメント

コメントする

目次