제 의뢰인은 AzureAD 프리미엄이있다, 그래서 우리는 역할에 그룹을 할당 할 수 있습니다
우리가 할 수있는 스크립트 새 그룹 생성 (자신의 온 - 프레미스 AD)에, 그 그룹에 사용자를 추가하고, AAD
우리가 할 수있는에 그룹을 동기화 매니페스트 파일
그러나 나는 밖으로 근무 한 적이없는의 스크립트 조작은 자동으로 "할당 그룹 응용 프로그램에 대한 역할"을 수행하는 방법이다. 누군가 Azure 포털> 디렉토리> 애플리케이션> 애플리케이션> 사용자 및 그룹> 할당 할 그룹을 찾아> 할당> 일치하는 역할을 찾으십시오 (헹굼 및 반복).Powershell을 사용하여 Azure의 응용 프로그램 역할에 AD 그룹을 할당하려면 어떻게해야합니까?
앱은 본질적으로 셰어 포인트입니다 (Azure 외부 - 앱에 & A에 대해 구내 광고와 AAD를 페더레이션 함). 그룹은 다양한 라이브러리에 대한 액세스를 제한하는 역할과 일치합니다. 불행히도 내 고객의 비즈니스 모델은 매우 다양합니다. 즉, 많은 역할을 담당 할 많은 그룹이 있음을 의미합니다.
PowerShell은 선택의 우리의 스크립트 관리 언어입니다.
나는 나에게 objectId
을 제공 Get-AzureAdGroup -SearchString "groupname"
와 진보의 비트를 만들었습니다. 나는 그 파이프를 Get-AzureAdGroupAppRoleAssignment
에 연결할 수 있으며, 이는 manifest 파일의 GUID와 일치하는 id
을 제공합니다. 그래서이 모든 것은 실제로 그룹을 역할에 할당하는 것 외에는 서로 연결됩니다.
GET https://graph.windows.net/[tenant].onmicrosoft.com/servicePrincipals/[app id]/appRoleAssignments?api-version=1.6
으로 약간의 성공을 거두었지만 할당 된대로 Azure Portal에 표시 되더라도 일부 테스트 그룹은 위의 REST 쿼리에 대한 응답으로 표시되지 않습니다. 일부는 포털을 통해 할당을 취소 할 때 응답에서 제거됩니다. 일관성이 부족해도 쿼리에 대한 확신이 없습니다.
- AppRoleAssignments를 수행 할 수있는 고유 한 powershell cmdlet이 있습니까? (이것은 GraphAPI보다 나의 선호도 일 것이다).
이유는 GraphAPI에서 일관성없는 결과? 어떤 포인터
업데이트에 미리
감사
I합니다 (AzureADPreview
모듈에서)을 *-AzureAd*
cmdlet을 조사하고 있습니다,하지만 Microsoft Documentation 조금 빛 - 그것은 미리보기로,
입력
:하지만 나는 그들이보다 더 나은 문서를 가지고 있다고 생각입력 형식은 cmdlet으로 파이프 할 수있는 개체 유형입니다.출력
출력 타입 cmdlet를 방출하는 객체의 형태이다.
이러한 cmdlet 은이 GraphAPI REST 호출을 마무리하는 것 않습니다.
업데이트
AzureADPreview
하는 cmdlet이 올바른 솔루션입니다. 내 업데이트 2에 대해 설명했다
Connect-AzureAD -TenantId xxxxx-xxxx-xxxx-etc
$app = Get-AzureADServicePrincipal -SearchString "display name of app"
foreach ($AD_group_name in $list_of_names_to_map) {
$AADGroup = Get-AzureADGroup -SearchString $AD_group_name
$AppRole = $App.AppRoles | ?{$_.value -like $AADGroup.DisplayName}
$NewAssignmentParams = @{
'id' = $AppRole.Id;
'objectid' = $AADGroup.ObjectId;
'PrincipalId' = $AADGroup.ObjectId;
'ResourceId' = $App.ObjectId;
}
New-AzureADGroupAppRoleAssignment @NewAssignmentParams
}