Microsoft Entra IDで進める資格情報排除|Managed Identities時代の初動チェック

Microsoft Securityが2026年4月20日に示した要点は明確です。Microsoft Entra ID、managed identities、enterprise security architectureを使う組織は、「資格情報を厳重に保管する」だけでは不十分であり、可能な限り資格情報そのものをなくす設計へ移行すべきです。

特にCISO、identity architect、platform security leadが最初に確認すべきなのは、パスワード、クライアントシークレット、APIキー、長寿命証明書を使っているワークロードの棚卸しです。次に、Azure上のワークロードはmanaged identitiesへ、GitHub ActionsやKubernetesなど外部実行基盤はworkload identity federationへ、Power PlatformやAIエージェント領域はEntra IDベースの非人間ID管理へ移行できるかを判断します。

今回の更新は、単一機能のリリース情報というより、Microsoft Securityが「機会主義的な攻撃に強い設計」の基準を整理したものです。攻撃者は必ずしも高度な侵入をするわけではなく、盗まれた資格情報で正規ログインし、横展開の足場を探します。だからこそ、最初の防御線は「盗まれて困る資格情報を減らすこと」になります。(Microsoft)

目次

Microsoft Securityが強調した変更点は「資格情報を守る」から「資格情報を消す」への転換

Microsoft Securityの記事では、攻撃機会を減らす実践として、credential elimination、endpoint reduction、identity controls、platform engineeringが並べて説明されています。中でも重要なのは、ワークロードがシークレットなしで認証できるなら、そう設計すべきだという考え方です。Microsoftは、managed identitiesやフェデレーションされたIDパターンを使い、パスワード、クライアントシークレット、APIキーのような再利用可能な資格情報を減らす方針を示しています。(Microsoft)

実務上の読み替えは次のとおりです。

見直す対象従来のよくある実装今後優先したい実装
Azure上のアプリ、VM、Functions、App Service環境変数やKey Vaultに保存したクライアントシークレットで接続managed identitiesでMicrosoft Entra認証を使う
CI/CD、GitHub Actions、外部Kubernetesサービスプリンシパルのシークレットをパイプライン変数に保存workload identity federationで短命トークンを交換
Dataverseプラグイン、Power Platform連携アプリ登録とシークレットを個別に管理Power Platform managed identityの利用可否を確認
AIエージェント、Copilot Studioアプリ登録や所有者不明の非人間IDが増えるMicrosoft Entra Agent IDで可視化、監査、ガバナンスを検討
管理用アクセスRDP、SSH、IP許可リストに依存Bastion、JIT、Private Link、Private Endpointを組み合わせる
組織全体の設計チームごとに例外的な構成を許可paved pathsとpolicy-as-codeで標準化する

ここで重要なのは、Key Vaultにシークレットを保存するだけでは「資格情報排除」ではないという点です。Key Vaultはシークレット管理には有効ですが、シークレットが存在する限り、漏えい、期限切れ、過大権限、所有者不明という問題は残ります。まず目指すべきは、シークレットを安全に置くことではなく、シークレットを使わない接続方式に変えることです。

Microsoft Entra ID利用者が最初に確認すべき影響範囲

今回のメッセージは、Microsoft Entra IDをユーザー認証の基盤として使っている組織だけでなく、アプリケーション、サービス、CI/CD、AIエージェントなどの非人間IDを大量に扱う組織に強く関係します。

サービスプリンシパルとアプリ登録に残っているシークレット

最初に見るべき場所は、Microsoft Entra IDのアプリ登録とサービスプリンシパルです。特に、以下のようなものは優先度が高くなります。

  • 有効期限が長い、または期限管理が曖昧なクライアントシークレット
  • 所有者が退職者、共有アカウント、古いチーム名になっているアプリ登録
  • Azureサブスクリプション、Microsoft Graph、Key Vault、Storage、SQL Databaseに広い権限を持つサービスプリンシパル
  • CI/CDパイプライン、IaC、コンテナ環境変数、アプリ設定に埋め込まれたシークレット
  • 障害対応時に「誰が消してよいか分からない」資格情報

Microsoft Entraのセキュリティベストプラクティスでも、サービスプリンシパルが必要な場面では証明書資格情報やworkload identities向け条件付きアクセスを使い、クライアントシークレットは組織ポリシー上の例外として扱う考え方が示されています。(Microsoft Learn)

managed identitiesへ移行できるAzureワークロード

Azureリソース上で動くワークロードは、まずmanaged identitiesに移行できるかを確認します。Microsoft Learnでは、managed identitiesはアクセスキーやパスワードなどのシークレットを置き換え、資格情報を開発者が管理しなくてよい仕組みとして説明されています。資格情報は利用者からアクセスできず、Microsoft Entra認証をサポートするリソースへの認証に使えます。(Microsoft Learn)

判断基準はシンプルです。

利用パターン選びやすいmanaged identity判断基準
1つのApp ServiceやVMだけが接続するシステム割り当てmanaged identityリソース削除時にIDも削除されてよい
複数のApp Service、VM、Functionsで同じ権限を使うユーザー割り当てmanaged identityIDのライフサイクルをリソースと分けたい
プラットフォーム標準として複数チームに配布するユーザー割り当てmanaged identity権限、監査、再利用を一元管理したい
一時的な検証環境システム割り当てmanaged identity構成を簡素化し、削除漏れを減らしたい

ただし、managed identityを使えば自動的に安全になるわけではありません。接続先のRBAC、スコープ、ログ、ネットワーク制御を合わせて設計しないと、単に「パスワードのない過大権限ID」を作るだけになります。

workload identity federationは外部ワークロードのシークレット削減に効く

GitHub Actions、Kubernetes、オンプレミス、他クラウド上のワークロードは、Azureのmanaged identityだけでは完結しない場合があります。その場合に重要になるのがworkload identity federationです。

Microsoft Learnでは、workload identity federationは、GitHub Actions、Kubernetes、Azure外のコンピュート環境などで、シークレットを管理せずにMicrosoft Entraで保護されたリソースへアクセスするための仕組みとして説明されています。外部IDプロバイダーのトークンをMicrosoft identity platformで検証し、アクセス先に必要なトークンへ交換します。(Microsoft Learn)

実務での代表例は次のとおりです。

シナリオ以前の構成見直し後の構成
GitHub ActionsからAzureへデプロイAzureサービスプリンシパルのシークレットをGitHub Secretsに保存GitHub OIDCとMicrosoft Entraのフェデレーション資格情報を使う
AKS以外のKubernetesからAzure Storageへ接続コンテナ環境変数にクライアントシークレットを注入Kubernetes側のIDトークンをMicrosoft Entraで信頼する
オンプレミスの自動化ジョブからMicrosoft Graphを呼ぶ長期シークレットや証明書をジョブサーバーに配置外部IDプロバイダーとの信頼関係で短命トークンを使う
Azure VM上のアプリが別のアプリ登録として動くアプリ登録のシークレットをVMに保存ユーザー割り当てmanaged identityをフェデレーション資格情報として使う

移行時に失敗しやすいのは、発行者、サブジェクト、audienceの不一致です。フェデレーション資格情報は、外部IDプロバイダーが発行するトークンの値とMicrosoft Entra側の設定が一致して初めて機能します。環境名、ブランチ名、リポジトリ名、Kubernetes service account名を後から変えると、認証に失敗することがあります。構成変更を前提に、命名規則と変更管理を先に決めておくべきです。

Power Platform managed identityはDataverse連携の確認対象

Power Platformを業務アプリ基盤として使っている組織では、DataverseプラグインやAzureリソース連携も確認対象です。Power Platform managed identityは、Dataverseプラグインからmanaged identityをサポートするAzureリソースへ、資格情報を管理せずに接続するための仕組みとして説明されています。Microsoft Learnでは、フェデレーションID資格情報をベースにし、ユーザー割り当てmanaged identityまたはアプリ登録をMicrosoft Entraテナント内に作成する構成が示されています。(Microsoft Learn)

例えば、DataverseプラグインからAzure Key Vault、Azure Storage、Azure Functionsなどへ接続している場合、プラグイン内や構成値にシークレットを持たせるのではなく、Power Platform managed identityで置き換えられるかを確認します。

この領域で注意したいのは、Power Platformの開発者とEntra ID管理者が別組織になりやすいことです。業務部門が作ったプラグインに、誰が所有するIDを付与し、誰がアクセス権を承認し、誰が棚卸しするのかを決めないまま導入すると、シークレットは減ってもIDガバナンスが弱くなります。

AIエージェント時代は「非人間ID」の棚卸しがさらに重要になる

Copilot StudioやAIエージェントの導入が進むと、人間ではないIDが急速に増えます。Microsoft Entra Agent IDは、AIエージェント向けにMicrosoft EntraのID管理、アクセス保護、ガバナンス、コンプライアンスを拡張するためのフレームワークとして説明されています。ただし、Microsoft Entra Agent IDは現時点でプレビュー扱いであり、正式リリース前に仕様が変わる可能性がある点には注意が必要です。(Microsoft Learn)

Copilot Studioでは、環境で機能を有効にすると、新しいエージェントごとにMicrosoft Entra agent identityが自動作成され、Microsoft Entra admin centerで確認・管理できるとされています。Microsoft Learnでは、この機能もプレビューであり、プレビュー機能は本番利用を目的としたものではなく、制限がある可能性があると明記されています。(Microsoft Learn)

そのため、現時点での初動は「すぐ全面導入する」ではなく、次の確認を進めることです。

確認項目実務上の観点
どの環境でAIエージェントが作成されているか本番、検証、個人開発環境を分けて棚卸しする
エージェントの所有者・スポンサーが分かるか退職、異動、部門変更時に放置されないようにする
エージェントが接続できるリソースは何かSharePoint、Dataverse、Graph、外部APIへの権限を確認する
サインインログや監査ログで追跡できるかインシデント時に「どのエージェントが何をしたか」を追えるようにする
プレビュー機能を本番統制に組み込んでいないか正式機能とプレビュー機能の境界を明確にする

AIエージェントは便利な自動化手段ですが、権限を持った非人間IDでもあります。ユーザーIDと同じ発想で管理すると、ライフサイクル、所有者、アクセスレビューのタイミングが合わなくなります。エージェント専用のID管理プロセスを設けることが、今後のenterprise security architectureでは重要になります。

条件付きアクセスだけではmanaged identitiesを守り切れない

Microsoft Entra IDを使う組織では、条件付きアクセスを中心にゼロトラストを設計していることが多いでしょう。ただし、workload identityとmanaged identityは同じ扱いではありません。

Microsoft Learnでは、条件付きアクセスはテナント内に登録された単一テナントのサービスプリンシパルに適用できる一方、非Microsoft SaaSやマルチテナントアプリは対象外であり、managed identitiesもポリシー対象外と説明されています。(Microsoft Learn)

つまり、managed identityを使う場合は、条件付きアクセスを前提にしすぎず、次の制御を組み合わせる必要があります。

制御実務での使い方
Azure RBAC必要なリソース、必要な操作、必要なスコープだけに絞る
リソース側のアクセス制御Key Vault、Storage、SQLなど接続先ごとに許可を限定する
ネットワーク制御Private Endpoint、Private Link、Public network accessの制御を使う
ログ監視Microsoft Entraサインインログ、Azure Activity logs、接続先サービスの監査ログを見る
IDのライフサイクル管理使われていないmanaged identity、所有者不明のID、過大権限を定期的に削除・縮小する

特に避けたいのは、「managed identityだから安全」と考えて広いContributor権限を付与することです。資格情報が盗まれにくくなっても、トークンが悪用された場合の影響範囲が広ければ、被害は大きくなります。

endpoint reductionも同時に進めるべき理由

資格情報排除と同じくらい重要なのが、攻撃者が到達できる入口を減らすことです。Microsoft Securityの記事では、managed identitiesでサービス間認証を行いながら、Private EndpointやPrivate Linkでデータプレーンを保護し、RDPやSSHのような管理ポートはJIT、Bastion、serial consoleなどの仲介型アクセスに寄せる考え方が示されています。(Microsoft)

Defender for CloudのJust-in-time machine accessは、RDPやSSHなど開いた管理ポートを狙う攻撃者からリソースを守るため、VMへの受信トラフィックをロックダウンし、必要なときだけアクセスを許可する機能として説明されています。(Microsoft Learn)

実務では、次の順で見直すと進めやすくなります。

優先度見直し対象初動
高インターネット公開されたRDP、SSH、管理API原則閉じる。Bastion、JIT、VPN、Privileged Access Workstationを検討
高Storage、SQL、Key Vaultなどの公開エンドポイントPrivate Endpoint化できるか確認
中IP許可リストだけで守るサービス間通信Microsoft Entra IDベースの認証と最小権限へ移行
中古いジャンプサーバーアクセスログ、MFA、JIT、不要アカウントの削除を確認
低検証環境の一時公開自動削除、期限付き例外、タグ付けを義務化

資格情報をなくしても、公開面が広ければスキャン、ブルートフォース、設定ミスの標的になります。逆に、公開面を減らしても、内部に再利用可能なシークレットが残っていれば横展開されます。両方を同時に進めることが重要です。

enterprise security architectureではpaved pathsを作る

今回の記事のもう一つの重要点は、platform engineeringです。Microsoft Securityは、機会主義的な攻撃者は一貫性のない構成を好むとし、例外やチームごとの独自構成が増えるほど、設定ミスや対応遅延が増えると説明しています。対策として、secure-by-defaultなランタイム、ライブラリ、パイプライン、policy-as-code、例外を抑える経営層の支援を挙げています。(Microsoft)

これは、CISOやセキュリティ部門が「各チームにお願いする」だけでは限界があるという意味です。実際には、開発者が自然に安全な構成を選べる標準ルート、つまりpaved pathsを作る必要があります。

paved pathsに含めたい標準

領域標準化する内容
アプリ実行基盤App Service、Functions、AKS、Container Appsなどの推奨テンプレート
IDmanaged identityの種類、命名規則、所有者、RBAC付与ルール
シークレット例外クライアントシークレットを許可する条件、期限、承認者、更新手順
CI/CDOIDC、workload identity federation、署名、環境分離
ネットワークPrivate Endpoint、Public network access、管理ポート禁止ルール
ログサインインログ、Activity logs、リソースログ、SIEM連携
IaCTerraform、Bicep、Azure Policy、GitHub Actions、Azure DevOpsのチェック

paved pathsの目的は、開発チームの自由を奪うことではありません。安全な選択肢を最も簡単にし、危険な例外を手間のかかる承認制にすることです。

役割別に見る初動チェックリスト

CISOが確認すべきこと

CISOは、技術移行の細部よりも「組織標準」と「例外管理」を先に決めるべきです。

確認項目判断基準
長期シークレットを新規作成できる状態か原則禁止または期限付き例外にする
例外承認者が明確かセキュリティ、ID、プラットフォーム、業務責任者の責任分界を決める
KPIがあるかシークレット数、期限切れ件数、managed identity移行率、公開管理ポート数を見る
買収・海外拠点・委託先も対象かグローバル組織ではテナント、サブスクリプション、運用委託範囲を含める
AIエージェントのID管理方針があるか所有者、監査、権限、削除基準を定義する

identity architectが確認すべきこと

identity architectは、サービスプリンシパル、managed identity、workload identity federation、agent identityを分けて設計します。

確認項目判断基準
managed identityに移行できるワークロードを分類したかAzure上で完結するものから優先
外部ワークロードにOIDCを使えるかGitHub Actions、Kubernetes、他クラウドのIdPを確認
条件付きアクセスの対象外を理解しているかmanaged identitiesは条件付きアクセスの対象外である点を設計に反映
RBACスコープが広すぎないかサブスクリプション単位ではなく、リソースグループや個別リソース単位を検討
ログで追跡できるかサインインログ、Activity logs、監査ログをSIEMへ集約する

platform security leadが確認すべきこと

platform security leadは、個別移行よりも再利用可能なテンプレートを作ることが重要です。

確認項目判断基準
新規サービス作成時にmanaged identityが標準で有効かテンプレート、IaC、ポータル手順に組み込む
シークレットを含むデプロイをブロックできるかsecret scanning、policy-as-code、CI/CDチェックを使う
Private Endpoint構成がテンプレート化されているか接続先ごとに毎回設計しない
開発者が迷わないドキュメントがあるか「なぜ」より「この手順で作る」を重視
例外が見える化されているか期限、所有者、リスク、代替計画を台帳化する

30日以内に始める実務アクション

最初の30日で全移行を終える必要はありません。むしろ、いきなり全面移行を始めると、権限不足や認証失敗で業務影響が出ます。最初は、棚卸し、優先順位付け、標準化の入口を作ることに集中します。

期間実施内容成果物
1週目アプリ登録、サービスプリンシパル、Key Vault、CI/CD変数を棚卸し長期シークレット一覧、所有者不明ID一覧
2週目高リスク対象を分類公開面、権限、事業重要度で優先順位表を作成
3週目managed identityまたはfederationのパイロット移行代表的な1〜3システムで移行手順を確立
4週目新規シークレット作成の抑止策を導入ポリシー、承認フロー、IaCテンプレート、CIチェック

高リスクの判定では、次の条件に該当するものを優先します。

リスク条件優先理由
インターネット公開サービスが使っている攻撃者が到達しやすい
Microsoft GraphやサブスクリプションContributor権限を持つ悪用時の影響範囲が広い
シークレットがCI/CDや環境変数に保存されている閲覧・誤出力・漏えいの可能性がある
期限切れで過去に障害を起こした可用性リスクも高い
所有者が不明インシデント時に停止判断が遅れる

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

失敗パターン何が起きるか回避策
Key Vaultへの保存だけで満足するシークレット自体は残り、漏えいや期限切れリスクも残るmanaged identityやfederationでシークレット不要にできるかを先に確認
managed identityに広い権限を付けるトークン悪用時の影響範囲が大きくなるRBACを最小スコープにし、接続先ごとの権限を分ける
外部ワークロードのOIDC設定を属人的にするリポジトリ名やブランチ変更で認証が壊れるissuer、subject、audienceの命名規則と変更管理を定義
例外の期限を決めないクライアントシークレットが恒久化する例外は期限、所有者、代替計画を必須にする
セキュリティ部門だけで進める開発チームが迂回策を作るplatform engineeringとしてテンプレートと自動化を提供
プレビュー機能を本番統制の前提にする仕様変更や制限で運用が揺らぐプレビューは検証対象、本番統制は正式機能中心に設計

次に取るべき行動

Microsoft Entra ID、managed identities、enterprise security architectureの利用者が今回の更新から取るべき行動は、シークレットのローテーション計画を作ることだけではありません。最初に行うべきなのは、どこに再利用可能な資格情報が残っているかを可視化し、それをmanaged identities、workload identity federation、Power Platform managed identity、AIエージェント向けID管理に置き換えられるかを判断することです。

実務では、次の順番で進めると失敗しにくくなります。

  1. Microsoft Entra IDのアプリ登録、サービスプリンシパル、シークレット、証明書を棚卸しする
  2. Azure上のワークロードはmanaged identitiesへ移行できるか確認する
  3. GitHub Actions、Kubernetes、外部基盤はworkload identity federationを検討する
  4. Dataverse、Power Platform、AIエージェントの非人間IDを別枠で管理する
  5. RDP、SSH、公開データプレーンなどの到達可能なエンドポイントを減らす
  6. 例外を人手で管理せず、paved pathsとpolicy-as-codeに落とし込む

資格情報排除は、単なるIDチームの改善ではありません。認証、ネットワーク、プラットフォーム、CI/CD、監査、ガバナンスを横断するアーキテクチャ変更です。まずは新規シークレットの発行を抑え、既存の高リスク資格情報から順に消していくことが、機会主義的な攻撃に強いMicrosoft Entra ID環境を作る現実的な第一歩になります。

この記事を書いた人

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

コメント

コメントする

目次