Microsoft Entra テナント内の一連のユーザーに Microsoft Entra アプリを制限する

Microsoft Entra テナントに登録されたアプリケーションは、既定ではテナントの正常に認証されたすべてのユーザーが利用できます。

同様に、マルチ テナント アプリケーションでは、アプリケーションがプロビジョニングされている Microsoft Entra テナント内のすべてのユーザーが、それぞれのテナントで正常に認証されると、アプリケーションにアクセスできます。

テナントの管理者と開発者には、多くの場合、アプリを特定のユーザーまたはアプリ (サービス) のセットに制限しなければならない要件があります。 アプリケーションを特定のユーザー、アプリ、またはセキュリティ グループのセットに制限するには、次の 2 つの方法があります。

  • 開発者は、Azure ロールベースのアクセス制御 (Azure RBAC) のような一般的な 承認パターンを使用できます
  • テナント管理者および開発者は、Microsoft Entra ID の組み込み機能を使用できます。

サポートされているアプリの構成

テナントのユーザー、アプリ、またはセキュリティ グループの特定のセットにアプリを制限するオプションは、次の種類のアプリケーションで動作します。

  • SAML ベースの認証を使用したフェデレーション シングル サインオン用に構成されたアプリケーション。
  • Microsoft Entra 事前認証を使用する アプリケーション プロキシのアプリケーション。
  • ユーザーまたは管理者がそのアプリケーションに同意した後に OAuth 2.0/OpenID Connect 認証を使用する Microsoft Entra アプリケーション プラットフォームに直接構築されたアプリケーション。

アプリを更新してユーザーの割り当てを要求にする

ヒント

この記事の手順は、開始するポータルによって若干異なる場合があります。

アプリケーションを更新してユーザーの割当を要求するには、Enterprise アプリのアプリケーションの所有者であるか、少なくともクラウド アプリケーション管理者である必要があります。

  1. Microsoft Entra 管理センターにサインインします。
  2. 複数のテナントにアクセスできる場合は、上部のメニューの [ディレクトリとサブスクリプション] フィルター を使用し、[ディレクトリとサブスクリプション] メニューからアプリケーション登録が含まれるテナントに切り替えます。
  3. [ID]>[アプリケーション]>[エンタープライズ アプリケーション] を参照し、[すべてのアプリケーション] を選択します。
  4. 構成して割り当てを要求するアプリケーションを選択します。 ウィンドウの上部にあるフィルターを使用して、特定のアプリケーションを検索します。
  5. アプリケーションの [概要] ページの [管理] の下で [プロパティ] を選択します。
  6. [割り当てが必要ですか?] という設定を見つけ、それを [はい] に設定します。 このオプションが [はい] に設定されている場合、アプリケーションまたはサービスにアクセスしようとするユーザーとサービスを最初にこのアプリケーションに割り当てる必要があります。そうしない場合は、サインインしたりアクセス トークンを取得したりできません。
  7. 上部バーにある [保存] を選択します。

アプリケーションが割り当てを要求する場合、そのアプリケーションに対するユーザーの同意は許可されません。 これは、そのアプリに対するユーザーの同意がそれ以外の場合に許可されている場合でも当てはまります。 割り当てを必要とするアプリに対して、テナント全体の管理者の同意を付与してください。

アプリをユーザーとグループに割り当ててアクセスを制限する

ユーザーの割り当てを有効にするようにアプリを構成したら、次はユーザーとグループにそのアプリを割り当てることができます。

  1. [管理] で、[ユーザーとグループ] を選択し、[ユーザーまたはグループの追加] を選択します。

  2. [ユーザー] セレクターを選択します。

    ユーザーとセキュリティ グループの一覧と一緒に、特定のユーザーまたはグループを検索して探すためのテキスト ボックスが表示されます。 この画面では、一度に複数のユーザーとグループを選択できます。

  3. ユーザーとグループの選択が完了したら、 [選択] を選択します。

  4. (オプション) アプリケーションでアプリ ロールを定義している場合、 [ロールの選択] オプションを使用して、選択したユーザーとグループにアプリのロールを割り当てることができます。

  5. [割り当て] を選択して、ユーザーとグループへのアプリの割り当てを完了します。

  6. 追加したユーザーとグループが、更新された [ユーザーとグループ] のリストに表示されていることを確認します。

他のサービス (クライアント アプリ) を割り当てて、アプリ (リソース) へのアクセスを制限する

このセクションの手順に従って、テナントのアプリ間認証アクセスをセキュリティで保護します。

  1. テナントのサービス プリンシパル サインイン ログに移動して、テナント内のリソースにアクセスするための認証サービスを見つけます。
  2. アプリ ID を使用して、アクセスを管理するテナント内のリソースとクライアントの両方のアプリにサービス プリンシパルが存在するかどうかを確認します。
    Get-MgServicePrincipal `
    -Filter "AppId eq '$appId'"
    
  3. サービス プリンシパルが存在しない場合は、アプリ ID を使用してを作成します。
    New-MgServicePrincipal `
    -AppId $appId
    
  4. リソース アプリにクライアント アプリを明示的に割り当てます (この機能は API でのみ使用でき、Microsoft Entra 管理センターでは使用できません)。
    $clientAppId = “[guid]”
                   $clientId = (Get-MgServicePrincipal -Filter "AppId eq '$clientAppId'").Id
    New-MgServicePrincipalAppRoleAssignment `
    -ServicePrincipalId $clientId `
    -PrincipalId $clientId `
    -ResourceId (Get-MgServicePrincipal -Filter "AppId eq '$appId'").Id `
    -AppRoleId "00000000-0000-0000-0000-000000000000"
    
  5. 明示的に割り当てられたユーザーまたはサービスにのみアクセスを制限するには、リソース アプリケーションの割り当てが必要です。
    Update-MgServicePrincipal -ServicePrincipalId (Get-MgServicePrincipal -Filter "AppId eq '$appId'").Id -AppRoleAssignmentRequired:$true
    

    Note

    アプリケーションに対してトークンを発行しない場合、またはテナント内のユーザーまたはサービスからアプリケーションにアクセスできないようにするには、アプリケーションのサービス プリンシパルを作成し、それに対するユーザー サインインを無効にします

詳細情報

ロールとセキュリティ グループの詳細については、以下を参照してください。