entra-app-registration
Microsoft Entra ID へのアプリ登録、OAuth 2.0 認証の設定、および MSAL 統合を支援するスキルです。アプリ登録の作成・Azure AD アプリの登録・OAuth 設定・API アクセス許可の追加・サービスプリンシパルの生成・MSAL サンプルコードの提示などに使用してください。Azure RBAC やロール割り当て、Key Vault シークレット管理、一般的な Azure リソースセキュリティの用途には使用しないでください。
description の原文を見る
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Azure RBAC or role assignments (use azure-rbac), Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
SKILL.md 本文
概要
Microsoft Entra ID (旧称 Azure Active Directory) は、Microsoft のクラウドベースの ID およびアクセス管理サービスです。アプリ登録により、アプリケーションはユーザーを認証し、Azure リソースに安全にアクセスできます。
主要な概念
| 概念 | 説明 |
|---|---|
| App Registration | アプリが Microsoft ID プラットフォームを使用できるようにする設定 |
| Application (Client) ID | アプリケーションの一意の識別子 |
| Tenant ID | Azure AD テナント/ディレクトリの一意の識別子 |
| Client Secret | アプリケーションのパスワード (機密クライアントのみ) |
| Redirect URI | 認証レスポンスが送信される URL |
| API Permissions | アプリがリクエストするアクセス スコープ |
| Service Principal | アプリ登録時にテナントで作成される ID |
アプリケーション タイプ
| タイプ | ユース ケース |
|---|---|
| Web Application | サーバー側のアプリ、API |
| Single Page App (SPA) | JavaScript/React/Angular アプリ |
| Mobile/Native App | デスクトップ、モバイル アプリ |
| Daemon/Service | バックグラウンド サービス、API |
コア ワークフロー
ステップ 1: アプリケーションを登録する
Azure ポータルまたは Azure CLI を使用して、アプリ登録を作成します。
ポータル方法:
- Azure Portal → Microsoft Entra ID → App registrations に移動
- 「New registration」をクリック
- 名前、サポートするアカウント タイプ、リダイレクト URI を入力
- 「Register」をクリック
CLI 方法: references/cli-commands.md を参照してください
IaC 方法: references/BICEP-EXAMPLE.bicep を参照してください
プロジェクトで既に IaC を使用している場合、多数のアプリ登録を管理するためのスケーラブルなソリューションが必要な場合、または設定変更の詳細な監査履歴が必要な場合は、Entra アプリ登録の管理に IaC を使用することを強くお勧めします。
ステップ 2: 認証を構成する
アプリケーション タイプに基づいて認証設定を設定します。
- Web Apps: リダイレクト URI を追加し、必要に応じて ID トークンを有効化
- SPA: リダイレクト URI を追加し、必要に応じて暗黙的なグラント フローを有効化
- Mobile/Desktop:
http://localhostまたはカスタム URI スキームを使用 - Services: クライアント認証情報フローにはリダイレクト URI は不要
ステップ 3: API のアクセス許可を構成する
アプリケーションに Microsoft API またはカスタム API へのアクセスを許可します。
一般的な Microsoft Graph のアクセス許可:
User.Read- ユーザー プロフィールを読み取るUser.ReadWrite.All- すべてのユーザーを読み取り、書き込みするDirectory.Read.All- ディレクトリ データを読み取るMail.Send- ユーザーとしてメールを送信する
詳細: references/api-permissions.md を参照してください
ステップ 4: クライアント認証情報を作成する (必要な場合)
機密クライアント アプリケーション (Web アプリ、サービス) の場合、クライアント シークレット、証明書、またはフェデレーション ID 認証情報を作成します。
Client Secret:
- 「Certificates & secrets」に移動
- 新しいクライアント シークレットを作成
- 値をすぐにコピー (一度だけ表示)
- 安全に保存 (Key Vault の使用をお勧め)
Certificate: 本番環境では、セキュリティを強化するため、シークレットの代わりに証明書を使用します。「Certificates & secrets」セクションから証明書をアップロードします。
Federated Identity Credential: Entra プラットフォームへの機密クライアントの動的認証用です。
ステップ 5: OAuth フローを実装する
OAuth フローをアプリケーション コードに統合します。
参照:
references/oauth-flows.md- OAuth 2.0 フローの詳細references/console-app-example.md- コンソール アプリの実装
一般的なパターン
パターン 1: 初回のアプリ登録
ユーザーを初回のアプリ登録をステップバイステップで進めます。
必要な情報:
- アプリケーション名
- アプリケーション タイプ (Web、SPA、モバイル、サービス)
- リダイレクト URI (該当する場合)
- 必要なアクセス許可
スクリプト: references/first-app-registration.md を参照してください
パターン 2: ユーザー認証を備えたコンソール アプリケーション
ユーザーを認証する .NET/Python/Node.js コンソール アプリを作成します。
必要な情報:
- プログラミング言語 (C#、Python、JavaScript など)
- 認証ライブラリ (MSAL を推奨)
- 必要なアクセス許可
例: references/console-app-example.md を参照してください
パターン 3: サービス間認証
ユーザー操作なしでデーモン/サービス認証を設定します。
必要な情報:
- サービス/アプリ名
- ターゲット API/リソース
- シークレットまたは証明書のどちらを使用するか
実装: Client Credentials フローを使用します (references/oauth-flows.md#client-credentials-flow を参照)
MCP ツールと CLI
Azure CLI コマンド
| コマンド | 目的 |
|---|---|
az ad app create | 新しいアプリ登録を作成 |
az ad app list | アプリ登録をリスト表示 |
az ad app show | アプリの詳細を表示 |
az ad app permission add | API のアクセス許可を追加 |
az ad app credential reset | 新しいクライアント シークレットを生成 |
az ad sp create | Service Principal を作成 |
完全なリファレンス: references/cli-commands.md を参照してください
Microsoft Authentication Library (MSAL)
MSAL は、Microsoft ID プラットフォーム統合の推奨ライブラリです。
サポートされている言語:
- .NET/C# -
Microsoft.Identity.Client - JavaScript/TypeScript -
@azure/msal-browser,@azure/msal-node - Python -
msal
例: references/console-app-example.md を参照してください
セキュリティ ベスト プラクティス
| プラクティス | 推奨事項 |
|---|---|
| シークレットをハードコードしない | 環境変数、Azure Key Vault、またはマネージド ID を使用 |
| シークレットを定期的に回転させる | 有効期限を設定し、回転を自動化 |
| シークレットより証明書を使用 | 本番環境では、より安全 |
| 最小権限のアクセス許可 | 必要なアクセス許可のみをリクエスト |
| MFA を有効化 | ユーザーに多要素認証を要求 |
| マネージド ID を使用 | Azure ホスト型アプリの場合、シークレットを完全に回避 |
| トークンを検証 | 常に発行者、対象者、有効期限を検証 |
| HTTPS のみを使用 | すべてのリダイレクト URI は HTTPS を使用 (localhost を除く) |
| サインインを監視 | Entra ID サインイン ログを使用して異常検知 |
SDK クイック リファレンス
- Azure Identity:
Python|.NET|TypeScript|Java|Rust - Key Vault (secrets):
Python|TypeScript - Auth Events:
.NET
リファレンス
OAuth Flows- OAuth 2.0 フローの詳細説明CLI Commands- アプリ登録の Azure CLI リファレンスConsole App Example- 完全な動作例First App Registration- 初心者向けステップバイステップ ガイドAPI Permissions- アクセス許可の理解と設定Troubleshooting- 一般的な問題と解決方法
外部リソース
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- microsoft
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/microsoft/azure-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。