Microsoft Entra アプリケーション管理ポリシー API の概要

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

アプリケーション管理ポリシーを使用すると、IT 管理者は組織内のアプリの構成方法に関するベスト プラクティスを適用できます。 たとえば、管理者は、パスワード シークレットの使用をブロックまたは有効期間を制限するポリシーを構成し、オブジェクトの作成日を使用してポリシーを適用できます。

これらのポリシーにより、組織は新しいアプリ セキュリティ強化機能を利用できます。 アプリケーションまたはサービス プリンシパルの作成日に基づく制限を適用することで、organization は現在のアプリのセキュリティ態勢を確認し、アプリのインベントリを作成し、リソースのスケジュールとニーズに応じて制御を適用できます。 作成日を使用したこのアプローチにより、organization は新しいアプリケーションにポリシーを適用し、既存のアプリケーションにも適用できます。

ポリシー制御には、次の 2 種類があります。

  • すべてのアプリケーションまたはサービス プリンシパルに適用されるテナントの既定のポリシー。
  • 個々のアプリケーションをテナントの既定のポリシーに含めたり除外したりできるようにするアプリ (アプリケーションまたはサービス プリンシパル) 管理ポリシー。

テナントの既定のアプリ管理ポリシー

テナントの既定のポリシーは、常に存在する単一のオブジェクトであり、既定では無効になっています。 これは、 tenantAppManagementPolicy リソースによって定義され、アプリケーションとサービス プリンシパル オブジェクトの制限を適用します。 これには、次の 2 つのプロパティが含まれています。

  • applicationRestrictions を使用すると、テナントが所有するアプリケーション (アプリケーション オブジェクト) をターゲットにできます。
  • servicePrincipalRestrictions によって、別のテナント (サービス プリンシパル オブジェクト) からプロビジョニングされたターゲットを許可できます。

これらのプロパティにより、organization は、テナントから作成されたアプリの構成と、外部所有アプリケーションのテナントのインスタンスから作成されたアプリの構成を個別に制御できます。

アプリケーションとサービス プリンシパルのアプリ管理ポリシー

アプリ管理ポリシーは appManagementPolicy リソースで定義されます。これには、テナントの既定のポリシーで定義されているものとは異なる制限または適用日が異なるポリシーのコレクションが含まれます。 これらのポリシーのいずれかをアプリケーションまたはサービス プリンシパルに割り当てて、テナントの既定のポリシーを上書きできます。

テナントの既定のポリシーとアプリ管理ポリシーで同じ制限を定義する場合は、アプリ管理ポリシーが優先されます。 disabled状態のアプリ管理ポリシーに制限が設定されている場合、テナントの既定のポリシーが通常何を適用するかに関係なく、そのポリシーがリンクされているアプリには、その制限は適用されません。 同様に、 enabled 状態のアプリ管理ポリシーに制限が設定されている場合、その制限は、そのポリシーがリンクされているアプリに適用されます。 ただし、アプリ管理ポリシーで特定の制限の動作が定義されていない場合は、テナントの既定のポリシーの動作にフォールバックします。 アプリケーションまたはサービス プリンシパルに割り当てることができるアプリ管理ポリシーは 1 つだけです。

注:

テナントの既定のポリシーもアプリ管理ポリシーも、既存のアプリケーションのトークン発行をブロックしません。 ポリシー要件を満たしていないアプリケーションは引き続き動作します。ポリシーに違反するアプリの作成/更新操作のみがブロックされます。

Microsoft Graph で管理できる制限は何ですか?

アプリケーション認証方法ポリシー API には、次の制限があります。 これらの制限の構成の詳細については、こちらを参照してください。

制限名 説明 例
asymmetricKeyLifetime 非対称キー (証明書) の最大有効期間を適用します。 2019 年 1 月 1 日以降に作成されたアプリケーションについて、すべての新しい非対称キー資格情報を最大 30 日に制限します。
対象ユーザー signInAudience 値に基づくアプリの作成または昇格を制限します。 すべての新しいアプリをマルチテナント対象ユーザーで構成できないようにするか、既存のアプリが対象ユーザーをマルチテナントに更新できないようにします。
customPasswordAddition アプリケーションまたはサービス プリンシパルのカスタム パスワード シークレットを制限します。 2015 年 1 月 1 日以降に作成されたアプリケーションについて、すべての新しいカスタム (Azure AD 以外で生成された) パスワード シークレットを制限します。
nonDefaultUriAddition "既定" の URI 形式以外は、アプリの新しい識別子 URI をブロックします。 api://{appId} または api://{tenantId}/{appId} の形式でない限り、アプリの新しい識別子 URI をブロックします。
passwordAddition アプリケーションのパスワード シークレットを完全に制限します。 '2019/01/1' 以降に作成されたアプリケーションで新しいパスワードをブロックします。
passwordLifetime パスワード シークレットの最大有効期間を適用します。 2015 年 1 月 1 日以降に作成されたアプリケーションについて、すべての新しいパスワード シークレットを最大 30 日に制限します。
symmetricKeyAddition アプリケーションで対称キーを制限する。 2019 年 1 月 1 日以降に作成されたアプリケーションで新しい対称キーをブロックします。
symmetricKeyLifetime 対称キーの最大有効期間を適用します。 2019 年 1 月 1 日以降に作成されたアプリケーションについて、すべての新しい対称キーを最大 30 日に制限します。
trustedCertificateAuthority 信頼された証明機関の一覧を強制します。 発行者が信頼された証明機関の一覧に表示されていない場合は、すべての新しい非対称キー資格情報をブロックします。
uriWithBlockedScheme リダイレクト URI の特定の URI スキームをグローバルまたはプラットフォームごとにブロックします。 すべてのアプリに対して http と ftp のリダイレクト URI をブロックし、SPA アプリに対してのみ msal を許可します。
uriWithoutAllowedScheme リダイレクト URI で特定の URI スキームのみを許可します。 httpsリダイレクト URI のみを許可し、パブリック クライアント アプリmyappスキームを許可します。
uriWithBlockedDomain 特定のリダイレクト URI ドメインをグローバルまたはプラットフォームごとにブロックします。 すべてのアプリの short.contoso.com および tempuri.org リダイレクト URI をブロックします。
uriWithoutAllowedDomain 特定のリダイレクト URI ドメインのみを許可します。 contoso.com および login.microsoftonline.com に対してのみリダイレクト URI を許可し、Web アプリに対してapp.contoso.comを許可します。
uriWithWildcard 構成可能な例外を使用して、リダイレクト URI でのワイルドカードの使用を制限します。 contoso.com ドメインと fabrikam.com ドメインを除くリダイレクト URI パスのワイルドカードをブロックします。
uriAdditionWithoutUniqueTenantIdentifier セキュリティで保護された形式のいずれかでない限り、アプリの新しい識別子 URI をブロックします。 テナント ID、appId (クライアント ID)、検証済みドメインなどの一意のテナント識別子が含まれていない限り、アプリの新しい識別子 URI をブロックします。

注:

すべての有効期間の制限は、ISO-8601 期間形式 (例: P4DT12H30M5S) で表されます。

customPasswordAddition 制限を適用すると、クライアントが生成したパスワード シークレットをアプリケーションまたはサービス プリンシパルに追加するレガシ PowerShell モジュールがブロックされます。 この制限は、Microsoft Entra ID によって生成されたアプリケーションまたはサービス プリンシパル パスワード シークレットをブロックしません。

シングル テナント アプリとマルチテナント アプリ

アプリがシングルテナント アプリかマルチテナント アプリかによって、次のように、アプリケーションまたはサービス プリンシパル オブジェクトのいずれかにポリシーを適用します。

  • シングル テナント アプリの場合は、ポリシーをアプリケーション オブジェクトに適用します。
  • 顧客テナントに所属するマルチテナント アプリを制限するには、アプリケーション オブジェクトにポリシーを適用します。
  • 別のテナントからプロビジョニングされたマルチテナント アプリを制限するには、サービス プリンシパル オブジェクトにポリシーを適用します。

テナントの既定のポリシーとアプリ管理ポリシーの主な相違点の概要

テナントの既定のポリシー アプリ管理ポリシー
ポリシーは常に存在します。 ポリシー オブジェクトを作成または更新して、既定のポリシーを上書きできます。
すべてのリソースに対して 1 つの制限オブジェクトの定義のみを許可します。 複数のポリシー オブジェクトを定義できますが、リソースに適用できるのは 1 つだけです。
アプリケーション オブジェクトとサービス プリンシパルの制限を区別できるようにします。 ポリシーは、アプリケーションまたはサービス プリンシパル オブジェクトのいずれかに適用できます。
すべてのアプリまたはサービス プリンシパルに構成されているすべての制限を適用します。 リソース ポリシーで構成されている制限を、指定したアプリまたはサービス プリンシパルに適用します。 未定義のものは、既定のポリシーから継承されます。

要件

  • アプリケーション認証方法ポリシーを管理するための最小特権の Microsoft Entra ロールは、アプリケーション管理者とクラウド アプリケーション管理者です。