New-AzureADServiceAppRoleAssignment
Atribui uma função de aplicação a um utilizador, a um grupo ou a outro principal de serviço.
Sintaxe
New-AzureADServiceAppRoleAssignment
-ObjectId <String>
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
-Id <String>
-PrincipalId <String>
-ResourceId <String>
[<CommonParameters>]
Description
O cmdlet New-AzureADServiceAppRoleAssignment atribui uma função de aplicação de um principal de serviço de recursos a um utilizador, a um grupo ou a outro principal de serviço. As funções de aplicação atribuídas aos principais de serviço também são conhecidas como permissões de aplicação.
Nota
O comportamento descrito aqui aplica-se quando Connect-AzureAD
foi chamado sem quaisquer parâmetros ou com uma identidade de aplicação da Microsoft. Veja Exemplo 4 para saber mais sobre a diferença quando ligado através de uma identidade de serviço ou registo de aplicações pertencente ao cliente.
Exemplos
Exemplo 1: Atribuir uma função de aplicação a outro principal de serviço
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId
Neste exemplo, é atribuída a um principal de serviço de cliente uma função de aplicação (permissão de aplicação) definida por um principal de serviço de recursos (por exemplo, uma API):
-
ObjectId
: o ObjectId do principal do serviço de recursos (por exemplo, uma API). -
ResourceId
: o ObjectId do principal do serviço de recursos (por exemplo, uma API). -
Id
: O ID da função de aplicação (definido no principal do serviço de recursos) para atribuir ao principal de serviço de cliente. Se não tiverem sido definidas funções de aplicação na aplicação de recursos, pode utilizar00000000-0000-0000-0000-000000000000
. -
PrincipalId
: o ObjectId do principal de serviço de cliente ao qual está a atribuir a função de aplicação.
Nota
Este exemplo aplica-se quando Connect-AzureAD
foi chamado sem quaisquer parâmetros. Veja Exemplo 4 para ver como este cmdlet é utilizado quando ligado através de uma identidade de serviço ou registo de aplicação pertencente ao cliente.
Exemplo 2: Atribuir uma função de aplicação a um utilizador
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $user.ObjectId
Neste exemplo, é atribuída a um utilizador uma função de aplicação definida por uma aplicação de recursos:
-
ObjectId
: o ObjectId do principal de serviço da aplicação. -
ResourceId
: o ObjectId do principal de serviço da aplicação. -
Id
: O ID da função de aplicação (definido no principal de serviço da aplicação) para atribuir ao utilizador. Se não tiverem sido definidas funções de aplicação para a aplicação de recursos, pode utilizar00000000-0000-0000-0000-000000000000
para indicar que a aplicação foi atribuída ao utilizador. -
PrincipalId
: o ObjectId do utilizador ao qual está a atribuir a função de aplicação.
Nota
Este exemplo aplica-se quando Connect-AzureAD
foi chamado sem quaisquer parâmetros. Veja Exemplo 4 para ver como este cmdlet é utilizado quando ligado através de uma identidade de serviço ou registo de aplicação pertencente ao cliente.
Exemplo 3: Atribuir uma função de aplicação a um grupo
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $group.ObjectId
Neste exemplo, é atribuída a um grupo uma função de aplicação definida por uma aplicação de recursos. Todos os utilizadores que são membros diretos do grupo atribuído são considerados como estando atribuídos à função de aplicação:
-
ObjectId
: o ObjectId do principal de serviço da aplicação. -
ResourceId
: o ObjectId do principal de serviço da aplicação. -
Id
: O ID da função de aplicação (definido no principal de serviço da aplicação) para atribuir ao grupo. Se não tiverem sido definidas funções de aplicação na aplicação de recursos, pode utilizar00000000-0000-0000-0000-000000000000
para indicar que a aplicação foi atribuída ao grupo. -
PrincipalId
: o ObjectId do grupo ao qual está a atribuir a função de aplicação.
Nota
Este exemplo aplica-se quando Connect-AzureAD
foi chamado sem quaisquer parâmetros. Veja Exemplo 4 para ver como este cmdlet é utilizado quando ligado através de uma identidade de serviço ou registo de aplicação pertencente ao cliente.
Exemplo 4: quando ligado através de uma identidade de serviço ou aplicação pertencente ao cliente
PS C:\> Connect-AzureAD -TenantId $tenantOrDomain -ApplicationId $appId -CertificateThumbprint $thumb
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $client.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId
O comportamento deste cmdlet muda quando ligado ao módulo do PowerShell do Azure AD com uma identidade de serviço ou registo de aplicações pertencente ao cliente, incluindo:
- Ao ligar como um principal de serviço e
- Ao utilizar o
AadAccessToken
parâmetro com um token de acesso obtido para uma identidade de serviço ou registo de aplicação pertencente ao cliente.
Nestas circunstâncias, este cmdlet só é utilizado para atribuir uma função de aplicação a outro principal de serviço, identificado pelos ObjectId
parâmetros e PrincipalId
:
-
ObjectId
: o ObjectId do principal de serviço de cliente ao qual está a atribuir a função de aplicação. -
ResourceId
: o ObjectId do principal do serviço de recursos (por exemplo, uma API). -
Id
: O ID da função de aplicação (definido no principal do serviço de recursos) para atribuir ao principal de serviço de cliente. Se não tiverem sido definidas funções de aplicação na aplicação de recursos, pode utilizar00000000-0000-0000-0000-000000000000
. -
PrincipalId
: o ObjectId do principal de serviço de cliente ao qual está a atribuir a função de aplicação.
Quando estiver ligado através de uma identidade de serviço ou aplicação pertencente ao cliente, utilize New-AzureADUserAppRoleAssignment e New-AzureADGroupAppRoleAssignment para criar atribuições de funções de aplicação para um utilizador e grupos, respetivamente.
Parâmetros
-Id
Especifica o ID da função de aplicação (definido no principal do serviço de recursos) a atribuir. Se não tiverem sido definidas funções de aplicação na aplicação de recursos, pode utilizar 00000000-0000-0000-0000-000000000000
para indicar a atribuição da aplicação ou serviço de recursos, sem especificar uma função de aplicação.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InformationAction
Especifica como este cmdlet responde a um evento de informações. Os valores aceitáveis para este parâmetro são:
- Continuar
- Ignorar
- Inquire
- SilentlyContinue
- Parar
- Suspender
Tipo: | ActionPreference |
Aliases: | infa |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InformationVariable
Especifica uma variável de informação.
Tipo: | String |
Aliases: | iv |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ObjectId
Especifica o ObjectId do principal do serviço de recursos (como uma aplicação ou uma API) que vai ser atribuído a um utilizador, a um grupo ou a outro principal de serviço.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-PrincipalId
Especifica o ObjectId do utilizador, grupo ou outro principal de serviço ao qual a função da aplicação está a ser atribuída.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ResourceId
Especifica o ObjectId do principal do serviço de recursos (como uma aplicação ou uma API) que vai ser atribuído a um utilizador, a um grupo ou a outro principal de serviço.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Notas
Veja o guia de migração de New-AzureADServiceAppRoleAssignment para o Microsoft Graph PowerShell.