mcpField
E
entra-app-registration

entra-app-registration

公式
github.com/microsoftセキュリティ1.6k569.0k 回インストール今日更新
リポジトリ

entra-app-registration について

Entra App Registration は、Microsoft Entra ID のアプリ登録を設定するためのスキルで、アプリの種類、認証、API アクセス許可、資格情報を扱います。Web アプリ、SPA、モバイル、バックグラウンドサービスの認証を構成する開発者を対象としています。Azure CLI、Bicep、MSAL の例を含みます。

主な機能

  1. 01アプリ登録の基本概念とアプリの種類を解説
  2. 02認証とリダイレクト URI の設定を案内
  3. 03Microsoft Graph などの API アクセス許可を構成
  4. 04クライアントシークレット、証明書、フェデレーション資格情報に対応
  5. 05az ad コマンドと MSAL の例を提供

活用シーン

  1. 01Web アプリや API 向けの Entra アプリ登録の作成
  2. 02ユーザー操作を伴わないサービス間認証の構成
  3. 03Bicep や CLI によるアプリ登録の一括管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration

インストール後、Claude Code で/entra-app-registrationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-permissions.md
auth-best-practices.md
BICEP-EXAMPLE.bicep
cli-commands.md
console-app-example.md
first-app-registration.md
oauth-flows.md
troubleshooting.md
references/sdk/
azure-identity-dotnet.md
azure-identity-java.md
azure-identity-py.md
azure-identity-rust.md
azure-identity-ts.md
azure-keyvault-py.md
azure-keyvault-secrets-ts.md
microsoft-azure-webjobs-extensions-authentication-events-dotnet.md

詳細

概要

Microsoft Entra ID(旧称 Azure Active Directory)は、Microsoft のクラウドベースの ID およびアクセス管理サービスです。アプリの登録により、アプリケーションはユーザーを認証し、Azure リソースに安全にアクセスできます。

主な概念
概念説明
アプリの登録アプリが Microsoft ID プラットフォームを使用できるようにする構成
アプリケーション(クライアント)IDアプリケーションを識別する一意の ID
テナント IDAzure AD テナント/ディレクトリを識別する一意の ID
クライアントシークレットアプリケーションのパスワード(機密クライアントのみ)
リダイレクト URI認証応答の送信先 URL
API のアクセス許可アプリが要求するアクセススコープ
サービスプリンシパルアプリの登録時にテナント内に作成される ID
アプリケーションの種類
種類用途
Web アプリケーションサーバーサイドアプリ、API
シングルページアプリ(SPA)JavaScript/React/Angular アプリ
モバイル/ネイティブアプリデスクトップアプリ、モバイルアプリ
デーモン/サービスバックグラウンドサービス、API

基本的なワークフロー

ステップ 1:アプリケーションを登録する

Azure ポータルまたは Azure CLI を使用して、アプリを登録します。

ポータルを使用する方法:

  1. Azure Portal → Microsoft Entra ID → App registrations に移動します
  2. 「New registration」をクリックします
  3. 名前、サポートされているアカウントの種類、リダイレクト URI を入力します
  4. 「Register」をクリックします

CLI を使用する方法: references/cli-commands.md を参照してください IaC を使用する方法: references/BICEP-EXAMPLE.bicep を参照してください

プロジェクトですでに IaC を使用している場合、多数のアプリ登録を管理するスケーラブルなソリューションが必要な場合、または構成変更の詳細な監査履歴が必要な場合は、IaC を使用して Entra アプリの登録を管理することを強くお勧めします。

ステップ 2:認証を構成する

アプリケーションの種類に応じて、認証設定を行います。

  • Web アプリ:リダイレクト URI を追加し、必要に応じて ID トークンを有効にします
  • SPA:リダイレクト URI を追加し、必要に応じて暗黙的な許可フローを有効にします
  • モバイル/デスクトップ:http://localhost またはカスタム URI スキームを使用します
  • サービス:クライアント資格情報フローではリダイレクト 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 資格情報を作成します。

クライアントシークレット:

  • 「Certificates & secrets」に移動します
  • 新しいクライアントシークレットを作成します
  • 値をすぐにコピーします(表示されるのは一度だけです)
  • 安全に保管します(Key Vault を推奨)

証明書: 本番環境では、セキュリティを強化するためにシークレットの代わりに証明書を使用します。「Certificates & secrets」セクションから証明書をアップロードします。

フェデレーション ID 資格情報: 機密クライアントを Entra プラットフォームに動的に認証するために使用します。

ステップ 5:OAuth フローを実装する

OAuth フローをアプリケーションのコードに統合します。

参照先:

一般的なパターン

パターン 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/リソース
  • シークレットまたは証明書のどちらを使用するか

実装: クライアント資格情報フローを使用します(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 addAPI のアクセス許可を追加
az ad app credential reset新しいクライアントシークレットを生成
az ad sp createサービスプリンシパルを作成

完全なリファレンス: 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 を使用します
シークレットを定期的にローテーションする有効期限を設定し、ローテーションを自動化します
シークレットより証明書を使用する本番環境では、より安全です
最小限の特権を付与する必要な API のアクセス許可のみを要求します
MFA を有効にするユーザーに多要素認証を要求します
マネージド ID を使用するAzure でホストするアプリでは、シークレットを完全に不要にできます
トークンを検証する発行者、対象ユーザー、有効期限を必ず検証します
HTTPS のみを使用するすべてのリダイレクト URI で HTTPS を使用する必要があります(localhost を除く)
サインインを監視するEntra ID のサインインログを使用して異常を検出します

SDK クイックリファレンス

参考資料

外部リソース

コメント