entra-app-registration
作成者 microsoftMicrosoft Entra ID のアプリ登録、OAuth 2.0 フロー、API パーミッション、コンソール / バックエンド アプリ向けの MSAL ベース認証例について、スキルとしてのガイダンスを提供します。
概要
このスキルでできること
entra-app-registration スキルは、Microsoft Entra ID (旧 Azure Active Directory) のアプリ登録を構成するための、開発者向けステップバイステップガイドを提供します。主に次の内容をカバーします:
- Microsoft Entra ID でのアプリ登録の作成
- テナント、client ID、redirect URI、service principal などの主要な ID 概念の理解
- OAuth 2.0 フローの選定と構成
- API パーミッション (delegated / application) の追加と管理
- シークレットまたは証明書、service principal の設定
- 複数言語向けの MSAL および Azure Identity SDK との統合
- 認証や構成に関する一般的なエラーのトラブルシューティング
コンテンツは microsoft/azure-skills リポジトリの skills/entra-app-registration フォルダーから構成されており、references/first-app-registration.md、references/oauth-flows.md、references/api-permissions.md、references/console-app-example.md などの専用ガイドを含みます。
entra-app-registration が向いている人
このスキルは、次のような方に適しています:
- Microsoft Entra ID で Web API やサービスを保護したいバックエンド / API 開発者
- ユーザーサインインや Microsoft Graph / カスタム API 呼び出しが必要な Web、SPA、デスクトップ、コンソール アプリを開発している方
- アプリ登録とパーミッション設定を再現性高く行いたい DevOps / プラットフォームエンジニア
- Entra ID 認証と API パーミッションのベストプラクティスをチームで体系的に共有したい方
特に、次のようなシナリオで有用です:
- 初めて Microsoft Entra のアプリ登録を作成するとき
- 既存の Azure AD 向けドキュメントから Microsoft identity platform に移行するとき
- delegated と application パーミッションのどちらを選ぶか検討しているとき
- アプリの種類に合った OAuth 2.0 フローを選びたいとき
- コンソール / バックエンド アプリで MSAL を組み込みたいとき
このスキルが向かないケース
entra-app-registration は ID とアプリ登録 に特化しており、Azure 全般のセキュリティやリソース管理を扱うものではありません。
次のようなニーズが主目的の場合、このスキルをメインのリファレンスとして使うのはおすすめしません:
- Azure リソース向けのロールベースアクセス制御 →
azure-rbacスキルを利用 - Key Vault シークレットのライフサイクル管理や有効期限監査 →
azure-keyvault-expiration-auditスキルを利用 - Azure リソース全般のセキュリティ態勢やポリシーのガイダンス →
azure-securityスキルを利用
ただし、シナリオが ID とリソースレベルの認可の両方にまたがる場合、entra-app-registration とこれらのスキルを組み合わせて利用できます。
主な機能のハイライト
このスキルには、次のようなガイドが含まれます:
- アプリ登録の基本構造の理解 (
SKILL.mdおよびreferences/first-app-registration.md) - authorization code や client credentials を含む OAuth 2.0 フローの構成 (
references/oauth-flows.md) - Microsoft Graph およびカスタム API 向け API パーミッションの設計と割り当て (
references/api-permissions.md) - managed identity や推奨クレデンシャルの活用など、Azure 認証のベストプラクティス (
references/auth-best-practices.md) - Azure CLI を使ったアプリ登録の自動作成・更新 (
references/cli-commands.md) - C#、Python、Node.js での MSAL ベース コンソールアプリ実装 (
references/console-app-example.md) - .NET、Java、Python、Rust、TypeScript 向け Azure Identity SDK との統合 (
references/sdk/*.md) - redirect URI・トークン・同意まわりの問題の診断 (
references/troubleshooting.md)
これにより、Microsoft Entra ID を前提としたアクセス制御、API 開発、バックエンド開発の現場で、実務的に使えるスキルとなっています。
使い方
entra-app-registration スキルのインストール
microsoft/azure-skills リポジトリから entra-app-registration スキルを対応エージェント環境に追加するには、次を実行します:
npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration
これにより、SKILL.md や references/ フォルダーを含むスキルのドキュメントがエージェントから参照できるようになり、Microsoft Entra アプリ登録、OAuth フロー、パーミッションに関する詳細な質問に回答できるようになります。
プラットフォーム側でスキルの UI が提供されている場合は、次の手順でも追加できます:
- スキルカタログで "entra-app-registration" を検索
- GitHub ソースが
microsoft/azure-skillsであることを確認 - Add または Enable をクリックして、ワークスペースやプロジェクトにアタッチ
おすすめの読み進め方
インストール後、このスキルの Files / Sources ビューを開き、次の順に読み進めると効率的です:
SKILL.md– スキルの全体像、範囲、利用してよいケース / そうでないケースの概要references/first-app-registration.md– Azure portal で初めての Microsoft Entra アプリ登録を行うための具体的な手順references/oauth-flows.md– Microsoft Entra ID がサポートする OAuth 2.0 フローの解説と図、実装時のポイントreferences/api-permissions.md– delegated / application パーミッションの選び方と構成、スコープ形式、代表的な Graph パーミッションreferences/auth-best-practices.md– 各環境ごとの適切なクレデンシャル選択 (managed identity、証明書、ローカル開発での DefaultAzureCredential など)references/cli-commands.md– スクリプトや CI/CD からアプリ登録を作成・管理するための Azure CLI コマンドreferences/console-app-example.md– Microsoft Entra ID と MSAL を使ったフル動作のコンソールアプリ例references/sdk/*.md– Azure Identity などを使う言語別統合ガイドreferences/troubleshooting.md– AADSTS エラー、同意の問題、redirect URI 不整合などに遭遇したときの参照先
この流れに沿うことで、概念理解 → ポータルでの設定 → 自動化・コード統合へとスムーズにステップアップできます。
このスキルが支援する典型的なワークフロー
1. 初めての Microsoft Entra アプリ登録
Entra ID を初めて扱う、または新しいアプリを作成するときに利用します:
references/first-app-registration.mdに沿って次を実施:- Azure portal を開き、Microsoft Entra ID → App registrations へ移動
- 適切なサポート対象アカウント種別を選んで新しい登録を作成
- Web アプリ、SPA、ネイティブクライアントかに応じて redirect URI を構成
- 認証オプションやプラットフォーム構成を設定
- 必要な API パーミッション (例: Microsoft Graph User.Read) を追加
- 必要に応じてクライアント資格情報 (シークレットまたは証明書) を作成
- アプリケーションで認証フローをテスト
ステップバイステップの構成により、redirect URI やテナント選択、アカウント種別選択などで起きがちなミスを減らせます。
2. 適切な OAuth 2.0 フローの選定
新しいアプリでどの認証フローを使うべきか迷っている場合に利用します:
references/oauth-flows.mdを開き、次のようなフローを比較:- サーバー側シークレットを持つ Web アプリ / サービス向け authorization code フロー
- デーモンアプリやバックグラウンドサービス向け client credentials フロー
- その他、ガイドで説明されているサポート対象フロー
- 各フローのセクションには次が含まれます:
- ユーザー、アプリ、Microsoft Entra ID、API 間のやり取りの番号付きシーケンス
client_id、tenant、redirect_uri、scopeなど重要なパラメーター- そのフローを選ぶべき代表的なユースケース
このガイドを参照することで、Web / SPA / デーモン / コンソールといったアプリの種類に合った OAuth フローを選定し、安全に実装できます。
3. delegated パーミッションと application パーミッションの構成
アプリから Microsoft Graph やカスタム API を呼び出す必要があるときに利用します:
references/api-permissions.mdを開いて、次を確認:- delegated permissions (ユーザーコンテキスト) と application permissions (アプリのみコンテキスト) の違い
- いつユーザー同意で十分か、いつ管理者同意が必要か
https://graph.microsoft.com/User.Readのような Graph スコープや、api://myapi-id/access_as_userのようなカスタム API スコープを含むスコープ形式- client credentials や移行シナリオでの
.defaultスコープの動き
- これらのガイダンスをもとに:
- アプリ登録で API パーミッションを構成
- アプリケーションコードから正しいスコープを要求
- 不要に広い権限や不必要な管理者同意リクエストを避ける
4. Azure CLI によるアプリ登録の自動化
ポータルではなくスクリプトでアプリ登録を行いたい場合に利用します:
references/cli-commands.mdを開き、次を確認:- CLI 前提条件 (
azのインストールとaz login) - 次のようなアプリ登録を作成するサンプルコマンド:
- redirect URI を伴う Web アプリケーション
- SPA redirect URI を持つ Single Page Application (SPA)
- Public client アプリ (デスクトップ / モバイル)
- サインイン対象の異なる multi-tenant アプリ
- redirect URI やその他の構成を更新するためのコマンドスニペット
- CLI 前提条件 (
これらの例をシェルスクリプトや CI/CD パイプラインに組み込むことで、環境間で一貫したアプリ登録設定を自動適用できます。
5. コンソール / バックエンドアプリへの MSAL 実装
トークン取得まで含めた動くコード例が必要なときに利用します:
references/console-app-example.mdを開き、次を実施:- 新しいコンソールプロジェクトの作成 (例:
dotnet new console) - MSAL パッケージのインストール (例: .NET の
Microsoft.Identity.Client) - 次のような完全なサンプルプログラムの利用:
ClientId、TenantId、Scopesの構成- public client application インスタンスの構築
- 対話的またはキャッシュを利用したサイレントトークン取得
- エラー処理とトークン結果の出力
- 新しいコンソールプロジェクトの作成 (例:
サンプルコードをそのまま自分のプロジェクトにコピーし、アプリ登録で取得した値に差し替えて利用できます。
6. 各種言語での Azure Identity SDK 利用
MSAL を直接呼び出すのではなく、Azure Identity ライブラリを使いたい場合に利用します:
references/sdk/内の目的の言語ファイルを開きます。例:azure-identity-dotnet.mdazure-identity-java.mdazure-identity-py.mdazure-identity-rust.mdazure-identity-ts.md
- これらのガイドは
references/auth-best-practices.mdと整合しており、次のような内容を解説します:- ローカル開発での
DefaultAzureCredentialの使い方 - 本番環境では
ManagedIdentityCredentialや workload identity を優先すべき理由 - 必要に応じた環境変数ベースのクレデンシャル構成
- ローカル開発での
これにより、アプリ登録を最新の Azure SDK 認証パターンときれいに統合できます。
7. よくある認証エラーのトラブルシューティング
Microsoft Entra ID 関連の典型的なエラーに直面したときに利用します:
references/troubleshooting.mdを開き、次のような問題の原因を診断:- redirect URI の不一致 (例: AADSTS50011)
- 無効または期限切れのクライアントシークレット
- API 呼び出し時のパーミッション / 同意エラー
- トークン検証や構成ミスに起因する問題
- ガイドには次が含まれます:
- エラーメッセージのサンプル
- 根本原因の解説
- Azure portal 上の具体的な操作や Azure CLI コマンドなどの対処手順
これにより、開発・本番環境での認証 / 認可失敗の調査時間を短縮できます。
ベストプラクティスと他スキルとの組み合わせ
references/auth-best-practices.md では、次のようなポイントが強調されています:
- Azure 上の本番ワークロードでは、managed identity と Azure RBAC を組み合わせて利用する
DefaultAzureCredentialは主にローカル開発用途で使い、本番では多用しない- 各環境に応じて
ManagedIdentityCredential、ClientCertificateCredential、workload identity などの専用クレデンシャルを選択し、予測可能かつ高パフォーマンスな構成にする
entra-app-registration は次のスキルと組み合わせると効果的です:
- ID を構成した後、Azure リソースへのアクセス制御を行いたい場合は
azure-rbac - Key Vault に保存したクライアント資格情報のシークレットを管理・有効期限監査したい場合は
azure-keyvault-expiration-audit - さらに広いセキュリティ態勢、ポリシー、コンプライアンスまでカバーしたい場合は
azure-security
FAQ
entra-app-registration はどのような問題を解決しますか?
entra-app-registration は、Microsoft Entra ID のアプリ登録を初めて扱うときに陥りがちな、具体的なセットアップや構成のつまずきを解決するためのスキルです。次のような点を体系立ててガイドします:
- ポータルまたは CLI でアプリ登録を正しく作成する方法
- アプリに適したアカウント種別と OAuth フローの選び方
- redirect URI、シークレット、証明書、service principal の構成方法
- Microsoft Graph やカスタム API に必要な API パーミッションとスコープの追加方法
- 実際のアプリケーションへの MSAL および Azure Identity の統合方法
- 典型的なエラーコードや構成ミスのトラブルシューティング
entra-app-registration スキルはどうインストールしますか?
このスキルは microsoft/azure-skills リポジトリからインストールします。対応環境で次を実行してください:
npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration
インストール後、SKILL.md や references/ ディレクトリを含むスキルのファイルがエージェントから参照可能になり、Microsoft Entra のアプリ登録や認証に関する質問に回答できるようになります。
インストール後、最初にどのファイルを見るべきですか?
まずは次のファイルから確認することをおすすめします:
SKILL.md– スキル全体のスコープと利用ガイダンスreferences/first-app-registration.md– ポータルベースのステップバイステップ設定手順references/oauth-flows.md– シナリオに合った OAuth 2.0 フローを理解するための解説references/api-permissions.md– API パーミッションの選定と構成方法
その後のニーズに応じて、references/cli-commands.md で自動化、references/console-app-example.md でサンプルコード、references/troubleshooting.md でエラー対応を参照するとよいでしょう。
このスキルは Azure RBAC やリソースロールにも役立ちますか?
直接的にはカバーしません。entra-app-registration はアプリ ID、OAuth フロー、API パーミッションにフォーカスしており、Azure リソースのロール割り当てや RBAC 設定そのものは詳しく扱いません。その領域については、azure-rbac スキルと併用するのがおすすめです。
Microsoft 以外のクラウドでも entra-app-registration を使えますか?
このスキルは Microsoft Entra ID と Microsoft identity platform 専用の内容です。OAuth 2.0 の概念自体は汎用的ですが、ここで扱う構成手順、コマンド、サンプルは Azure および Microsoft Entra ID テナント向けに最適化されています。
複数のプログラミング言語向けのコードはありますか?
はい。references/console-app-example.md には、MSAL を利用した C#、Python、Node.js のコンソールアプリ例が含まれています。さらに references/sdk/ フォルダーには、.NET、Java、Python、Rust、TypeScript 向け Azure Identity ライブラリの言語別ドキュメントがあります。
このスキルは Azure Key Vault の利用とどう関係しますか?
entra-app-registration では認証ベストプラクティスの一環としてシークレットの安全な保存に触れていますが、Key Vault シークレットのライフサイクルを包括的に解説するものではありません。期限管理や監査を含めて Key Vault をしっかり運用したい場合は、このスキルに加えて azure-keyvault-expiration-audit スキルを利用してください。
すでにアプリ登録があるものの構成が間違っている場合はどうすればよいですか?
references/troubleshooting.md を使ってエラーを診断したうえで、次のように見直しを行えます:
- 現在のアプリ登録設定を、
references/first-app-registration.mdやreferences/oauth-flows.mdのパターンと比較 - ガイドに沿って redirect URI、パーミッション、シークレットなどを修正
references/console-app-example.mdや SDK ドキュメントのサンプルコードと照らし合わせてアプリ側の実装を検証
このスキルは、新規構成 (グリーンフィールド) だけでなく、既存アプリ登録の是正にも有用です。
このスキルで利用可能なドキュメント一覧はどこで確認できますか?
利用中の環境で entra-app-registration スキルの Files または Sources タブを開くと、次のような構成を確認できます:
SKILL.md- API パーミッション、OAuth フロー、CLI コマンド、コンソールサンプル、トラブルシューティングなど、トピック別ガイドを収めた
references/フォルダー - 各言語向け Azure Identity の例を収めた
references/sdk/サブフォルダー
このツリーをブラウズすることで、スキルに含まれる全てのガイダンスを俯瞰できます。
