New-AzureADServiceAppRoleAssignment
Atribui uma função de aplicativo a um usuário, um grupo ou outra entidade 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 aplicativo de uma entidade de serviço de recurso a um usuário, um grupo ou outra entidade de serviço. As funções de aplicativo atribuídas às entidades de serviço também são conhecidas como permissões de aplicativo.
Observação
O comportamento descrito aqui se aplica quando Connect-AzureAD
foi chamado sem parâmetros ou usando uma identidade de aplicativo de propriedade da Microsoft. Consulte o Exemplo 4 para saber mais sobre a diferença quando conectado usando um registro de aplicativo de propriedade do cliente ou uma identidade de serviço.
Exemplos
Exemplo 1: Atribuir uma função de aplicativo a outra entidade 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, uma entidade de serviço do cliente recebe uma função de aplicativo (permissão de aplicativo) definida por uma entidade de serviço de recurso (por exemplo, uma API):
-
ObjectId
: a ObjectId da entidade de serviço de recurso (por exemplo, uma API). -
ResourceId
: a ObjectId da entidade de serviço de recurso (por exemplo, uma API). -
Id
: a ID da função de aplicativo (definida na entidade de serviço de recurso) a ser atribuída à entidade de serviço do cliente. Se nenhuma funções de aplicativo tiver sido definida no aplicativo de recursos, você poderá usar00000000-0000-0000-0000-000000000000
. -
PrincipalId
: a ObjectId da entidade de serviço do cliente à qual você está atribuindo a função de aplicativo.
Observação
Este exemplo se aplica quando Connect-AzureAD
foi chamado sem parâmetros. Consulte o Exemplo 4 para ver como esse cmdlet é usado quando conectado usando um registro de aplicativo de propriedade do cliente ou uma identidade de serviço.
Exemplo 2: Atribuir uma função de aplicativo a um usuário
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $user.ObjectId
Neste exemplo, um usuário recebe uma função de aplicativo definida por um aplicativo de recurso:
-
ObjectId
: a ObjectId da entidade de serviço do aplicativo. -
ResourceId
: a ObjectId da entidade de serviço do aplicativo. -
Id
: a ID da função de aplicativo (definida na entidade de serviço do aplicativo) a ser atribuída ao usuário. Se nenhuma funções de aplicativo tiver sido definida para o aplicativo de recursos, você poderá usar00000000-0000-0000-0000-000000000000
para indicar que o aplicativo foi atribuído ao usuário. -
PrincipalId
: a ObjectId do usuário ao qual você está atribuindo a função de aplicativo.
Observação
Este exemplo se aplica quando Connect-AzureAD
foi chamado sem parâmetros. Consulte o Exemplo 4 para ver como esse cmdlet é usado quando conectado usando um registro de aplicativo de propriedade do cliente ou uma identidade de serviço.
Exemplo 3: Atribuir uma função de aplicativo 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, um grupo recebe uma função de aplicativo definida por um aplicativo de recurso. Todos os usuários que são membros diretos do grupo atribuído são considerados atribuídos à função de aplicativo:
-
ObjectId
: a ObjectId da entidade de serviço do aplicativo. -
ResourceId
: a ObjectId da entidade de serviço do aplicativo. -
Id
: a ID da função de aplicativo (definida na entidade de serviço do aplicativo) a ser atribuída ao grupo. Se nenhuma funções de aplicativo tiver sido definida no aplicativo de recursos, você poderá usar00000000-0000-0000-0000-000000000000
para indicar que o aplicativo está atribuído ao grupo. -
PrincipalId
: a ObjectId do grupo ao qual você está atribuindo a função de aplicativo.
Observação
Este exemplo se aplica quando Connect-AzureAD
foi chamado sem parâmetros. Consulte o Exemplo 4 para ver como esse cmdlet é usado quando conectado usando um registro de aplicativo de propriedade do cliente ou uma identidade de serviço.
Exemplo 4: quando conectado usando uma identidade de aplicativo ou serviço de propriedade do 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 desse cmdlet muda quando conectado ao módulo do PowerShell do Azure AD usando um registro de aplicativo ou identidade de serviço de propriedade do cliente, incluindo:
- Ao se conectar como uma entidade de serviço e
- Ao usar o
AadAccessToken
parâmetro com um token de acesso obtido para uma identidade de serviço ou registro de aplicativo de propriedade do cliente.
Nessas circunstâncias, esse cmdlet só é usado para atribuir uma função de aplicativo a outra entidade de serviço, identificada pelos ObjectId
parâmetros e PrincipalId
:
-
ObjectId
: a ObjectId da entidade de serviço do cliente à qual você está atribuindo a função de aplicativo. -
ResourceId
: a ObjectId da entidade de serviço de recurso (por exemplo, uma API). -
Id
: a ID da função de aplicativo (definida na entidade de serviço de recurso) a ser atribuída à entidade de serviço do cliente. Se nenhuma funções de aplicativo tiver sido definida no aplicativo de recursos, você poderá usar00000000-0000-0000-0000-000000000000
. -
PrincipalId
: a ObjectId da entidade de serviço do cliente à qual você está atribuindo a função de aplicativo.
Quando conectado usando uma identidade de aplicativo ou serviço de propriedade do cliente, use New-AzureADUserAppRoleAssignment e New-AzureADGroupAppRoleAssignment para criar atribuições de função de aplicativo para um usuário e grupos, respectivamente.
Parâmetros
-Id
Especifica a ID da função de aplicativo (definida na entidade de serviço de recurso) a ser atribuída. Se nenhuma função de aplicativo tiver sido definida no aplicativo de recursos, você poderá usar 00000000-0000-0000-0000-000000000000
para indicar a atribuição do aplicativo ou serviço de recurso, sem especificar uma função de aplicativo.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InformationAction
Especifica como esse cmdlet responde a um evento de informações. Os valores aceitáveis para esse parâmetro são:
- Continuar
- Ignorar
- Consultar
- SilentlyContinue
- Stop
- Suspend
Tipo: | ActionPreference |
Aliases: | infa |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InformationVariable
Especifica uma variável de informações.
Tipo: | String |
Aliases: | iv |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ObjectId
Especifica a ObjectId da entidade de serviço de recurso (como um aplicativo ou uma API) que será atribuída a um usuário, um grupo ou outra entidade de serviço.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-PrincipalId
Especifica a ObjectId do usuário, grupo ou outra entidade de serviço à qual a função de aplicativo está sendo atribuída.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ResourceId
Especifica a ObjectId da entidade de serviço de recurso (como um aplicativo ou uma API) que será atribuída a um usuário, um grupo ou outra entidade de serviço.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Observações
Consulte o guia de migração para New-AzureADServiceAppRoleAssignment para o PowerShell do Microsoft Graph.