2017-07-20 9 views
0

私はクレームベースのアイデンティティを管理するためにAzure ADでFederatedAuthenticationを使用する長期実行アプリケーションを持っています。私のアプリケーションマニフェストは、ユーザーのすべてのSecurityGroupsを一覧表示するように設定されています(メンバーになっているグループの一覧を表示できます)。Azure ADのファントムグループメンバーシップ

そのアプリケーション内には、単一のトップレベルグループのメンバーであるユーザーがいます。そのグループは他のメンバーには属していません。以前は、ユーザーがログインしたときに、自分のClaimsPrincipalに添付されている値が1つしかなく、メンバーである単一のグループを正しく表示していました。

私のユーザーがログインした最近(過去数日間)、http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsの値が2つあります。これらのうちの1つは、まだメンバーのグループに対応していますが、アクティブなディレクトリ(または表示可能なその他のオブジェクト:アプリケーションIDなし、その他のユーザーIDは表示されないグループのIDと一致しません)。

このファントムグループのメンバーシップはどこから来たのですか。どこから削除できますか?

更新 - アプリケーションマニフェストにgroupMembershipClaimsSecurityGroupAllない)に設定されています。

https://graph.windows.net/myorganization/users/{user_id}/$links/memberOf?api-version 

結果:現在のユーザがメンバであることを私のテストで

+0

ユーザーはAADの別のテナントに追加されていますか?または、最近VSTSなどのユーザー名で別の製品を使用し始めましたか? –

+0

@RickvandenBosch最近新しいアプリにログインしています。私が知っている他のテナントには割り当てられていません(確認できます)。他のテナントのメンバーシップはグループで表示されますか? – JcFx

+1

すべての詳細を取得しようとしているかわかりません) –

答えて

1

は、グループの主張は結果がmemberOf紺碧の広告グラフAPIを使用して類似しており、グループとDirectoryRolesのコレクションを返します。 APIの上:私はSecurityGroupgroupMembershipClaimsを設定しても enter image description here

、私はグループの主張と私のトークンに同じ3つのレコード(2グループと1つのディレクトリの役割)を取得します。私のアカウントは私のAADのグローバル管理者です。アカウントをユーザーディレクトリの役割(管理者以外の役割)に設定すると、グループのクレームに2つのグループレコードのみが表示されます。

azure ad graph apiでは、ユーザーが直接または推移的メンバーシップを持つすべてのグループを取得するために、getMemberGroups関数を呼び出すことができます。

グループクレームでユーザーが直接的または推移的なメンバーシップを持つグループのみを返信したい場合は、AAD userVoiceでフィードバックを送信できます。

+0

これは意味があります。ユーザーは最近、ディレクトリのグローバル管理者になりました。しかし、それはグループではないので、どのような影響があるのか​​わかりませんでした(そして、 "groupOf"機能は正しいと思われますが、彼の役割は特に "groups"というリストに返されます) 。彼は実際には管理者である必要はないので、簡単に修正できるはずです。どうもありがとう。 – JcFx