Microsoft Entra アプリケーション管理ポリシー API の概要
名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
アプリケーション管理ポリシーを使用すると、IT 管理者は、組織のアプリの構成方法に関するベスト プラクティスを適用できます。 たとえば、管理者は、パスワード シークレットの使用をブロックしたり、有効期間を制限したりするようにポリシーを構成したり、オブジェクトの作成日を使用してポリシーを適用したりできます。
これらのポリシーを使用すると、組織は新しいアプリセキュリティ強化機能を利用できます。 アプリケーションまたはサービス プリンシパルの作成日に基づく制限を適用することで、organizationは現在のアプリのセキュリティ体制、アプリのインベントリを確認し、リソースのスケジュールとニーズに応じて制御を適用できます。 作成日を使用するこの方法により、organizationは新しいアプリケーションのポリシーを適用し、既存のアプリケーションにも適用できます。
ポリシー制御には、次の 2 種類があります。
- すべてのアプリケーションまたはサービス プリンシパルに適用されるテナントの既定のポリシー。
- 個々のアプリケーションをテナントの既定のポリシーに含めるか、テナントから除外できるようにするアプリ (アプリケーションまたはサービス プリンシパル) 管理ポリシー。
テナントの既定のアプリ管理ポリシー
テナントの既定のポリシーは、常に存在し、既定で無効になっている 1 つのオブジェクトです。 これは tenantAppManagementPolicy リソースによって定義され、アプリケーションオブジェクトとサービス プリンシパル オブジェクトに制限が適用されます。 これには、次の 2 つのプロパティが含まれています。
- applicationRestrictions を使用すると、テナント (アプリケーション オブジェクト) が所有するアプリケーションをターゲットにできます。
- servicePrincipalRestrictions を使用すると、別のテナント (サービス プリンシパル オブジェクト) からプロビジョニングされたターゲットを設定できます。
これらのプロパティを使用すると、organizationは、テナントからのアプリの構成と、外部所有アプリケーションのテナントのインスタンスを個別に制御できます。
アプリケーションとサービス プリンシパルのアプリ管理ポリシー
アプリ管理ポリシーは appManagementPolicy リソースで定義されています。このリソースには、テナントの既定のポリシーで定義されているものとは異なる制限または適用日が異なるポリシーのコレクションが含まれています。 これらのポリシーの 1 つをアプリケーションまたはサービス プリンシパルに割り当てて、テナントの既定のポリシーをオーバーライドできます。
テナントの既定のポリシーとアプリ管理ポリシーで同じ制限が定義されている場合、アプリ管理ポリシーが優先されます。
disabled
状態のアプリ管理ポリシーに制限が設定されている場合、その制限は、テナントの既定のポリシーが通常適用される内容に関係なく、そのポリシーがリンクされたアプリには適用されません。 同様に、 enabled
状態のアプリ管理ポリシーに制限が設定されている場合、その制限は、そのポリシーがリンクされたアプリに適用されます。 ただし、アプリ管理ポリシーで特定の制限に対する動作が定義されていない場合は、テナントの既定のポリシーの動作にフォールバックします。 アプリケーションまたはサービス プリンシパルに割り当てることができるアプリ管理ポリシーは 1 つだけです。
注:
テナントの既定値もアプリ管理ポリシーも、既存のアプリケーションのトークン発行をブロックしません。 ポリシー要件を満たしていないアプリケーションは引き続き機能します。ポリシーに違反するアプリの作成/更新操作のみがブロックされます。
Microsoft Graph で管理できる制限
アプリケーション認証方法ポリシー API には、次の制限があります。
制限名 | 説明 | 例 |
---|---|---|
passwordAddition | アプリケーションのパスワード シークレットを完全に制限します。 | '01/01/2019' 以降に作成されたアプリケーションで新しいパスワードをブロックします。 |
passwordLifetime | パスワード シークレットの最大有効期間範囲を適用します。 | 2015 年 1 月 1 日以降に作成されたアプリケーションでは、すべての新しいパスワード シークレットを最大 30 日間に制限します。 |
customPasswordAddition | アプリケーションまたはサービス プリンシパルでカスタム パスワード シークレットを制限します。 | 2015 年 1 月 1 日以降に作成されたアプリケーションで、新しいカスタム (Azure AD 以外で生成された) パスワード シークレットをすべて制限します。 |
symmetricKeyAddition | アプリケーションで対称キーを制限します。 | 2019 年 1 月 1 日以降に作成されたアプリケーションで新しい対称キーをブロックします。 |
symmetricKeyLifetime | 対称キーの最大有効期間範囲を適用します。 | 2019 年 1 月 1 日以降に作成されたアプリケーションでは、すべての新しい対称キーを最大 30 日に制限します。 |
asymmetricKeyLifetime | 非対称キー (証明書) に最大有効期間範囲を適用します。 | 2019 年 1 月 1 日以降に作成されたアプリケーションに対して、すべての新しい非対称キー資格情報を最大 30 日間に制限します。 |
trustedCertificateAuthority | 信頼された証明機関の一覧を適用します。 | 発行者が信頼された証明機関の一覧に一覧表示されていない場合は、すべての新しい非対称キー資格情報をブロックします。 |
nonDefaultUriAddition | "既定" URI 形式を除くアプリの新しい識別子 URI をブロックします。 | アプリの新しい識別子 URI は、 api://{appId} または api://{tenantId}/{appId} 形式でない限りブロックします。 |
注:
すべての有効期間の制限は、ISO-8601 の期間形式で表されます (例: P4DT12H30M5S)。
customPasswordAddition 制限を適用すると、クライアントによって生成されたパスワード シークレットをアプリケーションまたはサービス プリンシパルに追加する従来の PowerShell モジュールがブロックされます。 この制限により、Microsoft Entra ID生成されたアプリケーションまたはサービス プリンシパルのパスワード シークレットはブロックされません。
シングル アプリとマルチテナント アプリ
アプリがシングル テナントアプリかマルチテナント アプリかに応じて、次のようにアプリケーションまたはサービス プリンシパル オブジェクトにポリシーを適用します。
- シングル テナント アプリの場合は、アプリケーション オブジェクトにポリシーを適用します。
- 顧客テナントに所属するマルチテナント アプリを制限するには、ポリシーをアプリケーション オブジェクトに適用します。
- 別のテナントからプロビジョニングされたマルチテナント アプリを制限するには、サービス プリンシパル オブジェクトにポリシーを適用します。
テナントの既定のポリシーとアプリ管理ポリシーの主な違いの概要
テナントの既定のポリシー | アプリ管理ポリシー |
---|---|
ポリシーは常に存在します。 | ポリシー オブジェクトは、既定のポリシーをオーバーライドするために作成または更新できます。 |
すべてのリソースに対して 1 つの制限オブジェクト定義のみを許可します。 | 複数のポリシー オブジェクトを定義できますが、リソースに適用できるのは 1 つだけです。 |
アプリケーション オブジェクトとサービス プリンシパルの制限を区別できます。 | ポリシーは、アプリケーションまたはサービス プリンシパル オブジェクトに適用できます。 |
すべてのアプリまたはサービス プリンシパルに構成されているすべての制限を適用します。 | リソース ポリシーで構成された制限を、指定したアプリまたはサービス プリンシパルに適用します。 定義されていないものは、既定のポリシーから継承されます。 |
要件
- アプリケーション認証方法ポリシーを管理するための最小特権Microsoft Entraロールは、アプリケーション管理者とクラウド アプリケーション管理者です。