Microsoft Entra アプリケーション認証方法 API の概要
名前空間: microsoft.graph
証明書やパスワード シークレットなどのアプリケーション認証方法を使用すると、アプリはトークンを取得してMicrosoft Entra ID内のデータにアクセスできます。 このポリシーを使用すると、IT 管理者は、組織のアプリでこれらのアプリケーション認証方法を使用する方法に関するベスト プラクティスを適用できます。 たとえば、管理者は、パスワード シークレットの使用をブロックしたり、有効期間を制限したりするようにポリシーを構成したり、オブジェクトの作成日を使用してポリシーを適用したりできます。
これらのポリシーを使用すると、組織は新しいアプリセキュリティ強化機能を利用できます。 アプリケーションまたはサービス プリンシパルの作成日に基づく制限を適用することで、organizationは現在のアプリのセキュリティ体制、アプリのインベントリを確認し、リソースのスケジュールとニーズに応じて制御を適用できます。 作成日を使用するこの方法により、organizationは新しいアプリケーションのポリシーを適用し、既存のアプリケーションにも適用できます。
ポリシー制御には、次の 2 種類があります。
- すべてのアプリケーションまたはサービス プリンシパルに適用されるテナントの既定のポリシー。
- テナントの既定のポリシーからの個々のアプリケーションの包含または除外を許可するアプリ (アプリケーションまたはサービス プリンシパル) 管理ポリシー。
テナントの既定のアプリ管理ポリシー
テナントの既定のポリシーは、常に存在し、既定で無効になっている 1 つのオブジェクトです。 これは tenantAppManagementPolicy リソースによって定義され、アプリケーションオブジェクトとサービス プリンシパル オブジェクトに制限が適用されます。 これには、次の 2 つのプロパティが含まれています。
- applicationRestrictions を使用すると、テナント (アプリケーション オブジェクト) が所有するアプリケーションをターゲットにできます。
- servicePrincipalRestrictions を使用すると、別のテナント (サービス プリンシパル オブジェクト) からプロビジョニングされたターゲットを設定できます。
これらのプロパティを使用すると、organizationはテナントから発信されたアプリの資格情報の使用状況をロックダウンし、外部プロビジョニングされたアプリケーションでの資格情報の追加を制御して資格情報の悪用から保護するメカニズムを提供できます。 マルチテナント アプリのアプリケーション所有者は、アプリケーション オブジェクトで任意の種類の資格情報を引き続き使用できますが、このポリシーでは、資格情報の悪用からサービス プリンシパルのみを保護します。
アプリケーションとサービス プリンシパルのアプリ管理ポリシー
アプリ管理ポリシーは appManagementPolicy リソースで定義されています。このリソースには、テナントの既定のポリシーで定義されているものとは異なる制限または適用日が異なるポリシーのコレクションが含まれています。 これらのポリシーの 1 つは、テナントの既定のポリシーから除外して、アプリケーションまたはサービス プリンシパルに割り当てることができます。
テナントの既定のポリシーとアプリ管理ポリシーの両方が存在する場合、アプリ管理ポリシーが優先され、割り当てられたアプリケーションまたはサービス プリンシパルはテナントの既定のポリシーから継承されません。 アプリケーションまたはサービス プリンシパルに割り当てることができるポリシーは 1 つだけです。
注:
テナントの既定のポリシーもアプリ管理ポリシーも、既存のアプリケーションのトークン発行をブロックしません。 ポリシー要件を満たしていないアプリケーションは、リソースを更新して新しいシークレットを追加するまで引き続き機能します。
Microsoft Graph で管理できる制限
アプリケーション認証方法ポリシー API には、次の制限があります。
制限名 | 説明 | 例 |
---|---|---|
passwordAddition | アプリケーションのパスワード シークレットを完全に制限します。 | '01/01/2019' 以降に作成されたアプリケーションで新しいパスワードをブロックします。 |
passwordLifetime | パスワード シークレットの最大有効期間範囲を適用します。 | 2015 年 1 月 1 日以降に作成されたアプリケーションでは、すべての新しいパスワード シークレットを最大 30 日間に制限します。 |
customPasswordAddition | アプリケーションまたはサービス プリンシパルでカスタム パスワード シークレットを制限します。 | 2015 年 1 月 1 日以降に作成されたアプリケーションで、すべての新しいカスタム パスワード シークレットを制限します。 |
symmetricKeyAddition | アプリケーションで対称キーを制限します。 | 2019 年 1 月 1 日以降に作成されたアプリケーションで新しい対称キーをブロックします。 |
symmetricKeyLifetime | 対称キーの最大有効期間範囲を適用します。 | 2019 年 1 月 1 日以降に作成されたアプリケーションでは、すべての新しい対称キーを最大 30 日に制限します。 |
asymmetricKeyLifetime | 非対称キー (証明書) に最大有効期間範囲を適用します。 | 2019 年 1 月 1 日以降に作成されたアプリケーションに対して、すべての新しい非対称キー資格情報を最大 30 日間に制限します。 |
注:
すべての有効期間の制限は、ISO-8601 の期間形式で表されます (例: P4DT12H30M5S)。 customPasswordAddition の制限を制限すると、アプリケーションにクライアントによって生成されたパスワード シークレットを提供する従来の PowerShell モジュールがブロックされます。 この制限により、アプリケーション開発者は、Microsoft Entra ID生成されたアプリケーション パスワード シークレットを要求できます。
シングル アプリとマルチテナント アプリ
アプリがシングル テナントアプリかマルチテナント アプリかに応じて、次のようにアプリケーションまたはサービス プリンシパル オブジェクトにポリシーを適用します。
- シングル テナント アプリの場合は、アプリケーション オブジェクトにポリシーを適用します。
- 顧客テナントに所属するマルチテナント アプリを制限するには、ポリシーをアプリケーション オブジェクトに適用します。
- 別のテナントからプロビジョニングされたマルチテナント アプリを制限するには、サービス プリンシパル オブジェクトにポリシーを適用します。
テナントの既定のポリシーとアプリ管理ポリシーの主な違いの概要
テナントの既定のポリシー | アプリ管理ポリシー |
---|---|
ポリシーは常に存在します。 | ポリシー オブジェクトは、既定のポリシーをオーバーライドするために作成または更新できます。 |
app/SP では、制限は既定で無効になっています。 | シングル テナントまたはマルチ テナント (ホーム テナントまたはプロビジョニング済みアプリのバッキング アプリ) のカスタマイズを許可します。 |
すべてのリソースに対して 1 つの制限オブジェクト定義のみを許可します。 | 複数のポリシー オブジェクトを定義できますが、リソースに適用できるのは 1 つだけです。 |
アプリケーション オブジェクトとサービス プリンシパルの制限を区別できます。 | ポリシーは、アプリケーションまたはサービス プリンシパル オブジェクトに適用できます。 |
すべてのアプリまたはサービス プリンシパルに構成されているすべての制限を適用します。 | リソース ポリシーで構成されている制限のみを、指定されたアプリまたはサービス プリンシパルに適用し、既定のポリシーから継承しません。 |
要件
- アプリケーション認証方法ポリシーの管理に最低限の特権を持つMicrosoft Entraロールは、アプリケーション管理者とクラウド アプリケーション管理者です。
- すべてのアプリ ポリシー管理操作には、Microsoft Entraワークロード ID Premium ライセンスが必要です。
次の手順
- tenantAppManagementPolicy リソースの種類。
- appManagementPolicy リソースの種類。