Skip to content

Instantly share code, notes, and snippets.

@janisBerz
Created August 26, 2021 12:33
Show Gist options
  • Save janisBerz/5e74e6899e8abee8190d67185007725c to your computer and use it in GitHub Desktop.
Save janisBerz/5e74e6899e8abee8190d67185007725c to your computer and use it in GitHub Desktop.
Azure AD App Registration & Service Principal Registration & API Permissions (ResourceAccess)
# Connect-AzureAD
# Login-AzAccount
$env = "Acc"
$clientAppName = "SPN-Inventory-$($env)-AutomatedTestClient"
$serverAppName = "SPN-Inventory-$($env)-App"
$ownerAppName = "spn-inventory-api"
$newApp = New-AzADApplication -DisplayName $clientAppName
New-AzADServicePrincipal -ApplicationId $newApp.ApplicationId
Add-AzureADApplicationOwner -ObjectId $newApp.ObjectId -RefObjectId (Get-AzADServicePrincipal -DisplayName $ownerAppName).Id
$requiredResource = Get-AzureADApplication -SearchString $serverAppName
#Initialize RequiredResourceAccess
$requiredResourceAccess = New-Object Microsoft.Open.AzureAD.Model.RequiredResourceAccess
$requiredResourceAccess.ResourceAppId = $requiredResource.AppId
$requiredResourceAccess.ResourceAccess = New-Object System.Collections.Generic.List[Microsoft.Open.AzureAD.Model.ResourceAccess]
$resourceAccess = New-Object Microsoft.Open.AzureAD.Model.ResourceAccess
$resourceAccess.Type = "Scope"
$resourceAccess.Id = $requiredResource.oauth2Permissions.id
#Add required permission
$requiredResourceAccess.ResourceAccess.Add($resourceAccess)
Set-AzureADApplication -ObjectId $newApp.ObjectId -RequiredResourceAccess $requiredResourceAccess
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment