1

バックグラウンド

Azure Web Apps for Containers を介して Docker にデプロイされた .NET Core 3.1 Web サイトがあります。

アプリは自分の組織の Azure AD に登録されており、自分の組織のみを対象としており、アクセスを許可するにはユーザーを追加する必要があります。

このサイトは、個人ベースのアクセスでしばらくの間正常に機能しています。アプリはデフォルトのアクセスを使用します。サイトにアクセスできる人は、サイト内のすべてにアクセスできます。

Azure AD テナントは Premium P2 テナントです。

ゴール

Azure AD で個人をアプリに追加するのではなく、アプリケーションへのアクセスにセキュリティ グループを使用したいと考えています。

問題

  • 組織の Azure AD 内でアプリの登録に進みます
  • 私はUsers and Groupsメニューを選ぶ
  • 許可したい個人を含むグループをDefault Access役割 (利用可能な唯一の役割)とともに追加します。
  • 個人を削除します (すべてがグループのメンバーであり、これが推奨されるアクセス管理です)

予想される行動

グループは承認されており、グループのメンバーであるため、ユーザーは引き続きサイトへのアクセスを許可されます。

実際の動作

個人としても追加しない限り、ユーザーはアクセスを拒否されます。

ログには、次のように表示されます。

メッセージにエラーが含まれています: 'access_denied'、error_description: 'AADSTS50105: サインインしているユーザー '{EmailHidden}' は、アプリケーション ' {Redacted GUID}'( Redacted App Name) のロールに割り当てられていません。

ただし、この場合、すべての個人は登録されたグループの一部であり、グループはDefault Access個人に付与されたのと同じロールを持ちます。

私が試したこと:

質問

Azure AD エンタープライズ アプリケーションの個々のユーザー アクセスからグループ ベースのアクセスに移行するにはどうすればよいですか?

更新: 認証コード

要求ごとに、認証のセットアップに使用するコードを提供します。

IIRC、これは Azure 用のすぐに使える .NET Core セットアップです。のStartup.cs

services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
    .AddAzureAD(options =>
    {
        Configuration.Bind("AzureAd", options);
    });

AzureAd構成セクションは次のようになります。

  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "(Redacted)",
    "TenantId": "(Redacted Guid)",
    "ClientId": "(Redacted Guid)",
    "CallbackPath": "/signin-oidc"
  }
4

1 に答える 1