Azure リソースが他の Azure リソースや外部システムにアクセスする際、Managed Identity または Service Principal による認証が必要です。 近年、シークレット管理を不要にする Managed Identity と Workload Identity Federation がベストプラクティスとして定着し、Client Secret ベースの伝統的な Service Principal は徐々に置き換えが進んでいます。 本記事では、両者の違い・選定基準・実装パターンを多角的に整理します。
| 項目 | Service Principal | Managed Identity |
|---|---|---|
| 分類 | アプリ登録ベースの Entra ID 認証エンティティ | Azure リソースに自動付与される特別な Service Principal |
| シークレット管理 | Client Secret / Certificate を自己管理 | Azure が裏側で自動管理 (シークレット不要) |
| 作成方法 | App Registration → Service Principal | Azure リソース作成時に有効化 |
| ライフサイクル | 独立 (App Registration が親) | System-assigned はリソースに紐付き、User-assigned は独立 |
| 適用シーン | Azure 外システムからのアクセス・複数リソース共通認証 | Azure リソース間認証 (ほぼ常に推奨) |
| セキュリティ | シークレット漏洩リスクあり | シークレット非存在で漏洩不可 |
Managed Identity は、Azure リソース (VM・App Service・Functions など) に自動付与される特別な Service Principal です。
新規プロジェクトでは User-assigned が柔軟性で優位、シンプルな単発リソースなら System-assigned で十分。両者は混在可能です。
Service Principal は、App Registration (アプリ登録) によって作成される Entra ID の認証エンティティ。Azure 外のシステムや、複数 Azure リソースで認証を共有する場合に使用します。
Service Principal の認証情報は 3 つの選択肢があり、セキュリティ階層が異なります。
| 方式 | セキュリティ | 管理負荷 | 推奨シーン |
|---|---|---|---|
| Client Secret | 低 (文字列、漏洩リスク高) | 高 (定期ローテーション必要) | レガシー・最終手段 |
| Certificate | 中 (秘密鍵保護) | 中 (証明書ライフサイクル管理) | オンプレ・3rd party 連携 |
| Workload Identity Federation | 高 (シークレット非存在) | 低 (Federated Credential 構成のみ) | GitHub Actions / Azure DevOps / Kubernetes / 外部 IdP |
Workload Identity Federation は、Azure 外の認証システム (GitHub Actions・Azure DevOps・Google Cloud・AWS・Kubernetes クラスタ・任意の OIDC プロバイダ) から Azure リソースへ認証する仕組み。
Microsoft が強く推奨する 2026 年現在の主力認証パターンで、新規 CI/CD 構成では WIF 一択というのが業界標準です。
AKS (Azure Kubernetes Service) では Pod から Azure リソースへの認証パターンが進化してきました。
| 方式 | 状態 | 仕組み |
|---|---|---|
| AAD Pod Identity (旧) | 2024-09 廃止 | aad-pod-identity Add-on、Pod IP ベース割り当て |
| AKS Workload Identity (新) | 推奨 (現役) | Kubernetes Service Account + OIDC で Azure AD 連携 |
2026 年現在の AKS では Workload Identity 一択で、既存 AKS Pod Identity ユーザーは Workload Identity への移行が必須。シンプル・スケーラブル・パフォーマンス改善という利点があります。
2026 年現在、Azure のほぼすべてのコンピュート系サービスで Managed Identity がサポート。代表例:
Managed Identity と Service Principal の違いは?
Service Principal は『アプリケーション登録 (App Registration) によって作成される Microsoft Entra ID の認証エンティティ』で、Client ID + Client Secret (または証明書) で認証する。Managed Identity は『Azure リソース (VM・App Service・Functions など) に自動付与される特別な Service Principal』で、Client Secret 不要 (Azure が裏側で自動的に管理)。Managed Identity は Service Principal の一種だが、シークレット管理が不要というセキュリティ上の優位性があり、Azure リソース間認証ではほぼ常に Managed Identity が推奨。Service Principal は『Azure 外のシステム (オンプレ・他クラウド・GitHub Actions) から Azure 認証する場合』『複数 Azure リソースで認証を共有する場合』『3rd party SaaS 連携』で使用します。
System-assigned と User-assigned Managed Identity の違いは?
System-assigned: Azure リソース (VM・App Service など) のライフサイクルに紐付く Managed Identity、1 リソースに 1 つ。リソース削除時に自動削除。シンプル・最小権限原則に従いやすい。User-assigned: 独立した Azure リソースとして作成、複数 Azure リソースに割り当て可能 (1 つの User-assigned Identity を 100 VM で共有など)。リソース削除時も残る、ライフサイクルが分離。複数リソースで同じ権限を共有したい場合・テンプレート化された権限管理をしたい場合に使用。新規プロジェクトでは User-assigned が柔軟性で優位、シンプルな単発リソースなら System-assigned で十分。両者は混在可能で、1 リソースに System-assigned + 複数 User-assigned を併用可能です。
Managed Identity はどの Azure サービスで使えますか?
2026 年現在、Azure のほぼすべてのコンピュート系サービスで Managed Identity がサポート。代表例: Azure VM・VMSS・App Service・Functions・Logic Apps・Container Apps・AKS Pod (Workload Identity)・Azure Container Instances・Azure Batch・Azure Data Factory・Synapse Analytics・Fabric・Azure Automation・Service Bus Namespace・Event Hub Namespace・API Management・Cognitive Services / Azure OpenAI・Static Web Apps。逆に Managed Identity 非対応 (2026-05 時点) のサービスは Azure Functions for SAP・一部レガシーサービスのみ。Azure リソースから他 Azure リソースへの認証は Managed Identity を使うのがベストプラクティスで、Client Secret や Connection String の管理から完全解放されます。
Service Principal はどう作成しますか?
Service Principal の作成手順: 1) Azure Portal『Microsoft Entra ID』→『App registrations』→『New registration』で App Registration を作成 (Display Name・Supported account types・Redirect URI 指定)。これにより App Registration オブジェクトと、それに紐付く Service Principal オブジェクトが自動作成される。2) 認証情報を設定: Certificates & secrets で Client Secret 生成 (1-2 年で期限切れに注意) または Certificate アップロード (推奨)。3) API permissions で必要な権限付与 (Microsoft Graph / Azure Service Management 等)、Admin consent が必要なら実施。4) Service Principal に RBAC ロール割り当て (Subscription / RG / Resource レベルで)。5) アプリケーションで Client ID + Client Secret (or Certificate) を使って Azure AD トークン取得し、API 呼び出し。
Client Secret と Certificate どちらが推奨ですか?
Certificate (証明書) が推奨です。Client Secret は文字列ベースのシークレットで、漏洩リスクが高い (Git コミット・ログ・メール添付など)。Certificate は秘密鍵がマシン内に保管され、外部漏洩しにくい。さらに Workload Identity Federation (2022 年 GA、2026 年現在は主力推奨) では Certificate も不要で、GitHub Actions / Azure DevOps / Kubernetes 外部 IdP からの OIDC トークンで Azure 認証可能。新規プロジェクトでは: 1) Azure 内サービス → Managed Identity (シークレット完全不要)、2) GitHub Actions / Azure DevOps → Workload Identity Federation (OIDC)、3) その他オンプレ・3rd party → Certificate、4) どうしても Client Secret → 90 日以内ローテーション + Key Vault 保管必須、というセキュリティ階層が標準。
Workload Identity Federation って何ですか?
Workload Identity Federation (WIF) は、Azure 外の認証システム (GitHub Actions・Azure DevOps・Google Cloud・AWS・Kubernetes クラスタ・任意の OIDC プロバイダ) から Azure リソースへ認証する仕組み。Service Principal に Federated Credential を構成し、外部 IdP の OIDC トークンを Azure AD トークンに交換することで、Client Secret や Certificate の管理が完全不要に。GitHub Actions の azure/login@v2 アクションで標準サポートされ、CI/CD パイプラインでのシークレット漏洩リスクをゼロ化。Microsoft が強く推奨する 2026 年現在の主力認証パターンで、新規 CI/CD 構成では WIF 一択というのが業界標準。AKS の Workload Identity も同じ思想で、Pod から Azure リソースへの認証に Kubernetes Service Account の OIDC トークンを使います。
AKS の Workload Identity と Pod Identity の違いは?
AKS Pod Identity (旧方式、2024-09 廃止予定): AAD Pod Identity プロジェクトベースで、aad-pod-identity Add-on をクラスタにインストール、Pod の IP に基づいて Azure Identity を割り当てる仕組み。実装複雑・パフォーマンス課題・既に廃止予定。AKS Workload Identity (新方式、推奨): Kubernetes 標準の Service Account をベースに、Azure AD と OIDC で連携。Pod は Service Account の OIDC トークンを Azure AD に提示してアクセストークン取得。シンプル・スケーラブル・パフォーマンス改善。2026 年現在の AKS では Workload Identity 一択で、既存 AKS Pod Identity ユーザーは Workload Identity への移行が必須です。
関連認定試験は?
SC-300 (Identity and Access Administrator Associate) で Service Principal・Managed Identity・Workload Identity が深く問われ、OAuth 2.0 / OIDC フローと組み合わせて出題。AZ-204 (Developer Associate、2026-07 リタイア注意) で アプリ開発者視点での Managed Identity 活用、AZ-104 (Administrator) で RBAC 連携、AZ-400 (DevOps Engineer Expert) で Workload Identity Federation の CI/CD 適用、AI-103 (2026-06 GA) で Azure OpenAI / AI Search への認証パターン。Azure アプリケーション開発者にとって Managed Identity の使い方は事実上必須スキルです。
関連記事・技術深掘り
Azure Key Vault 完全ガイド|Secret/Key/Certificate 管理・Managed Identity 統合・セキュリティベストプラクティス【2026 年版】
Azure Key Vault の完全ガイド。Standard vs Premium vs Managed HSM ティア選定、Secret / Key / Certificate の使い分け、RBAC ベースアクセス制御、Managed Identity 統合 (シークレットレスアプリ)、Soft Delete / Purge Protection、Private Endpoint、Microsoft Defender for Key Vault、関連認定試験 (AZ-204 / SC-300 / SC-100) を日本語で網羅。
Azure Kubernetes Service (AKS) 入門ガイド|アーキテクチャ・Networking・Ingress・セキュリティ完全解説【2026 年版】
Azure Kubernetes Service (AKS) の入門ガイド。Control Plane と Node Pool の構造、Azure CNI Overlay vs Kubenet の選定、Application Gateway / NGINX Ingress 選定、Workload Identity (新方式)、Private Cluster・Microsoft Defender for Containers・Azure Policy のセキュリティ、関連認定試験 (AZ-104 / AZ-204 / AZ-400 / CKA) を日本語で網羅。
Azure セキュリティエンジニア キャリアロードマップ|SC-900 → SC-200/300/400 → SC-100 シニアへの道【2026 年版】
Azure セキュリティエンジニアになるための認定取得ロードマップ完全版。SC-900 → SC-200/300/400 のいずれか → SC-100 / SC-500 の王道ルート、ロール別の優先順序、CISSP との二刀流戦略、SC-500 (旧 AZ-500 後継、2026-09 GA 予定) の動向、10-15 ヶ月の学習プラン、年収レンジまで日本語で網羅。
App Service vs Container Apps vs Functions 完全比較|Azure コンピュート選定ガイド【2026 年版】
Azure の主要 PaaS コンピュート 3 サービス App Service・Container Apps・Functions を完全比較。料金・スケーリング・適用シーン・コスト最適化を表形式で整理。AKS との使い分け、Web アプリ新規構築の推奨パターン、関連認定試験 (AZ-204 / AZ-305 / AZ-400) を日本語で網羅。
本記事の技術情報は Microsoft Entra Managed Identities Documentation に基づいています。 本記事は Microsoft Corporation の公式商品ではなく、いかなる提携・後援関係もありません。 Microsoft、Azure、Microsoft Entra は Microsoft group of companies の商標です。 情報は 2026 年 5 月 24 日時点の公式公開資料に基づきます。最新情報は必ず公式ページをご確認ください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
AZ-900 完全ガイド|Microsoft Azure Fundamentals 出題範囲・学習リソース・合格戦略
Microsoft Azure Fundamentals (AZ-900) の 2026 年 1 月 14 日改訂版に対...
Azure 認定資格ロードマップ 2026 完全版|全 26 試験の体系と大型再編 (AI-901/AI-103/SC-500)
Microsoft Azure 認定資格 全 26 試験 (現行 23 + 退役 3) の 2026 年版ロードマップ。...
AI-901 完全ガイド|Azure AI Fundamentals 新試験
Microsoft Certified: Azure AI Fundamentals (AI-901) の出題範囲・Mi...
Microsoft Entra ID 入門|旧 Azure AD から学ぶ ID 管理 (AZ-900/SC-900/AZ-104 必須知識)
Microsoft Entra ID (旧 Azure Active Directory) の入門解説。2023 年 7...
DP-900 完全ガイド|Azure Data Fundamentals 出題範囲・学習リソース・合格戦略
Microsoft Azure Data Fundamentals (DP-900) の完全ガイド。4 ドメインの出題範...