2017-10-15 1 views
0

다음 시나리오를 지원하는 정보를 찾고 있습니다.Azure AD 또는 그래프 단일 입주자 응용 프로그램에서 게스트 계정 쿼리

다른 Azure AD의 사용자를 Azure AD의 손님으로 초대하여 특정 용도로 그룹에 추가하고 Azure AD에서 게스트 사용자 memberof 그룹을 확보 할 수 있어야합니다. 그래프를 사용하려고 시도 할 때 우리는 그래프에 연결되어 게스트 계정 솔기로서 항상 자신의 그래프에 물어볼 수 없습니다. 웹을 오랫동안 검색해 왔지만 지금까지는 시나리오를 지원할 수있는 것처럼 보이는 언뜻보기에는 많은 샘플 애플리케이션을 테스트했습니다.

하나의 임차인 응용 프로그램을 등록하려는 이유 중 하나는 우리 IT 응용 프로그램의 라이센스 부분을 관리하고 응용 프로그램에 대한 액세스를 관리 할 수있는 것입니다. 멀티 테넌트 솔루션의 일부를 설정하고 유지 관리합니다.

이제 모든 방향을 잃어 버렸고 계속 진행하는 방법에 대해 어떤 방향으로 밀기 만하면됩니다.

+2

저는 AAD가 귀하의 시나리오를 지원해야한다고 생각합니다.하지만 정확히 현재 시도하고있는 위치와 현재 실패한 위치가 명확하지 않습니다. 현재 인증 방법 및받는 특정 오류 메시지에 대한 자세한 내용을 공유 할 수 있다면 커뮤니티에서 문제를 해결하는 데 도움이 될 것입니다. –

+0

Shawn 아래의 코멘트를 참조하십시오. –

답변

0

Shawn Tabrizi가 언급했듯이 Microsoft Graph는 게스트 사용자의 구성원을 다른 테넌트로부터 검색하는 기능을 지원합니다. 이 나머지에 대한 enter image description here

세부 사항은 더, 당신은 아래 링크를 참조 할 수 있습니다

GET: https://graph.microsoft.com/v1.0/groups/{groupId}/members 
authorization: bearer {access_token} 

결과 : 여기 참조에 대한 예입니다. 그리고이 REST에 대해 여전히 문제가 있으면 알려 주시기 바랍니다.

List members

+0

찾기 우리 그룹의 게스트 멤버는 작동하지만 우리 게스트가 우리 멤버 인 그룹을 찾을 수 있기를 바랍니다. Cant는이를 지원합니다. 모든 그룹 솔기에서 사용자를 찾는 것이 조금. 우리 세입자가 우리의 세입자에게 질의를 가리키는 방법을 찾지 못해 응용 프로그램 user memberOf를 찾을 수 있기를 원합니다. 로그인 한 사용자는 항상 자신의 memberOf를 집 거주자에게 보입니다. Enterprize 응용 프로그램은 집 거주자에서 나를 소유하지 않고 일할 수있는 손님과 함께 사용해야합니다. –

+0

Shawn Tabrizi가 대답했습니다. 사용자의 회원 자격을 얻으려면 [GetUsersMemberships] (https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations#GetUsersMemberships)를 호출해야합니다.). Microsoft Graph에서도 이러한 REST를 제공합니다. [List memberOf] (https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_list_memberof) 및 [getMemberGroups] ( –

0

은의 그것을 통해 살펴 보겠습니다!

shawntest.onmicrosoft.com 내가 푸른 포털을 사용하여이 세입자의 새로운 게스트 사용자 생성 :

나는 세입자가 enter image description here

내가 '+ 새 게스트 사용자 "버튼을 클릭, 그리고 게스트 Gmail을 생성 계정을 볼 수 있습니다. 나는 또한 또한 포털에 몇 그룹에 사용자를 추가 한 :. enter image description here

은 그럼이 사용자에 서명 할

첫째, 당신이 원하는 임차인을 지정하는 데 이러한 상황에서 중요하다 이 계정에 대해서는 common 엔드 포인트를 사용하지 않아야합니다. 여러 명의 임차인과 연결되어있을 수 있으므로 최종 결정을 내리기 위해 AAD에 맡길 수 있습니다. 대신, 특정 테넌트 ID로 특정 인증 컨텍스트를 지정

https://login.microsoftonline.com/shawntest.onmicrosoft.com

지금 원하는 사용자 로그인 흐름을 사용하여 토큰을 얻을. just 13 lines of PowerShell으로 쉽게 시뮬레이트 할 수있는 Native Client 플로우를 사용하고 있습니다.

GET https://graph.windows.net/me?api-version=1.6

{ 
    "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects/Microsoft.DirectoryServices.User/@Element", 
    "odata.type": "Microsoft.DirectoryServices.User", 
    "objectType": "User", 
    ... 
    "displayName": "Shawn Tabrizi", 
    ... 
    "userPrincipalName": "xxxxxx_gmail.com#EXT#@shawntest.onmicrosoft.com", 
    "userType": "Guest" 
} 

나에게 잘 보이는 : 내 토큰이 있으면

, 나는 내가 외부 사용자와 함께 작업하고 증거를 보여주기 위해 /me 엔드 포인트를 호출합니다. 이제 memberOf 쿼리를 사용하여 사용자가 속해있는 그룹을 봅시다. 이 쿼리는 즉시 수행 할 수 있으며 마지막 쿼리의 데이터에 종속되지 않습니다.

GET https://graph.windows.net/me/memberOf?api-version=1.6

{ 
    "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects", 
    "value": [{ 
     "odata.type": "Microsoft.DirectoryServices.Group", 
     "objectType": "Group", 
     ... 
     "displayName": "TestGroup", 
     ... 
     "securityEnabled": true 
    }, { 
     "odata.type": "Microsoft.DirectoryServices.Group", 
     "objectType": "Group", 
     ... 
     "displayName": "MyTestGroup", 
     ... 
     "securityEnabled": true 
    }] 
} 

그리고 그것은 모든 사람이야!

+0

죄송합니다 @ Shawn Tabrizi,하지만 Powershell이 ​​A에 대해 불평하고 일하게 만들지 못했습니다. 인수 'Code'를 허용하는 위치 지정 매개 변수를 찾을 수 없습니다. 아마도 ... $ authorzationUrl = ("{0}/{1}/오라클 2/승인} response_type = 코드 및 클라이언트 _id = {2} & redirect_uri = {3} & 리소스 = {4} & prompt = 동의" . 어쩌면 PowerShell의 모듈 –

+0

나는이를 테스트 할 수있는 샘플 프로젝트를 발견했다 이 기관을 변경 = "HTTPS에 대한 당신의 이론을 테스트 https://github.com/microsoftgraph/aspnet-snippets-sample : //login.microsoftonline .com/common/v2.0 " To Authority ="https://login.microsoftonline.com/ /v2.0 " 여전히 사용자는 사실 우리의 거주자에게/me/이외의 다른 것을 묻지 않습니다. 번째 e 사용자는 Azure AD에서 게스트 계정의 오른쪽 UPN을 가져옵니다. 그러나 Live.com ID는 더 이상 지원되지 않습니다!? –

+0

그룹 쿼리는 여전히 Admin의 승인이 필요하며 관리자가 Azure AD에서 승인 한 경우에도 사용자는 임차인의 관리자 승인에 대해 질의를받습니다. 관리자는 Azure AD에서 관리자가 없습니다. 이것은 큰 문제입니다. Azure AD에서 손님 userOf를 얻고 싶습니다. –

관련 문제