1

我的方案,我试图使用守护进程在这里列出的指示,以自动化的我AAD应用之一的创建它们,让另一其他的WebAPI服务电话(AAD不同的应用程序):如何使用Azure PowerShell SDK将必需的权限添加到Azure Active Directory(AAD)应用程序?

https://azure.microsoft.com/en-us/resources/samples/active-directory-dotnet-daemon/

我已经能够通过PowerShell自动创建AAD应用程序和所需的访问密钥。

下面是如何创建一个附加的关键应用程序:

# Generate all the keys (secrets) for the AAD application. 
$passwordCredentials = @() 

foreach ($key in $activeDirectoryApplication.Keys.Key) 
{ 
    $keyKeyVaultName = $key.KeyVaultName 
    $keyName = $key.KeyVaultKeyName 
    $expiration = $key.Expiration 

    LogInfo "Generating key with key name '$keyName' into key vault '$keyKeyVaultName' with key expiry of '$expiration'." 
    $passwordCredential = GenerateActiveDirectoryApplicationKeyPasswordCredential $key 
    $passwordCredentials += $passwordCredential 

    PublishActiveDirectoryApplicationKeyToKeyVault $key $passwordCredential 
} 

$existingApplication = New-AzureRmADApplication -DisplayName $applicationName -HomePage $applicationHomePage -IdentifierUris @($applicationIdentifier) -PasswordCredentials $passwordCredentials 

我想不出什么了是如何在其授予的权限访问的WebAPI应用上面的链接自动第8步:

  • 配置权限的应用程序 - 在设置菜单中,选择“必需的权限”部分中,单击Add(添加),然后在文本框中选择一个API,并键入“TodoListService” 。然后,点击Select Permissions并选择'Access TodoListService'。
  • 有谁知道这是可能的在Azure SDK的PowerShell或者,我需要做一些其他的方式(也许AAD图形API)?

    谢谢!

    回答

    0

    要分配权限,您需要使用New-AzureRmRoleAssignment。这将允许您在某个范围内为某个对象(用户\组\应用程序)分配权限。如果你需要内置角色,那么你很好。如果您需要创建角色,请使用New-AzureRmRoleDefinition

    $role = Get-AzureRmRoleDefinition "Virtual Machine Contributor" 
    $role.Id = $null 
    $role.Name = "Classic storage reader" 
    $role.Actions.Clear() 
    $role.Actions.Add("Microsoft.ClassicStorage/storageAccounts/read") 
    $role.AssignableScopes.Clear() 
    $role.AssignableScopes.Add("/subscriptions/xxxx") 
    New-AzureRmRoleDefinition -Role $role 
    

    阅读:
    https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-control-manage-access-powershell
    https://docs.microsoft.com/en-us/powershell/module/azurerm.resources/new-azurermroleassignment?view=azurermps-4.1.0
    https://docs.microsoft.com/en-us/powershell/module/azurerm.resources/new-azurermroledefinition?view=azurermps-4.1.0

    相关问题