New-EntraServicePrincipalAppRoleAssignment

Atribui um principal de serviço a uma função de aplicação.

Sintaxe

Default (Predefinição)

New-EntraServicePrincipalAppRoleAssignment

    -ServicePrincipalId <String>
    -PrincipalId <String>
    -Id <String>
    -ResourceId <String>
    [<CommonParameters>]

Descrição

O New-EntraServicePrincipalAppRoleAssignment cmdlet atribui um principal de serviço a um papel de aplicação no Microsoft Entra ID.

Para cenários delegados, o utilizador que chama precisa de pelo menos uma das seguintes funções Microsoft Entra.

  • Contas de Sincronização de Diretórios
  • Gravador de Diretórios
  • Administrador de identidade híbrida
  • Administrador de Governança de Identidade
  • Administrador de Função Privilegiada
  • Administrador de usuários
  • Administrador de Aplicações
  • Administrador de aplicativos na nuvem

Exemplos

Exemplo 1: Atribuir um papel de aplicação a um principal de serviço

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$clientServicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
$resourceServicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
$appRole = $resourceServicePrincipal.AppRoles | Where-Object { $_.Value -eq "User.ReadBasic.All" }

New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $clientServicePrincipal.Id -PrincipalId $clientServicePrincipal.Id -Id $appRole.Id -ResourceId $resourceServicePrincipal.Id

Exemplo 2: Atribuir um papel de aplicação a outro principal de serviço

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$clientServicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
$servicePrincipalObject = Get-EntraServicePrincipal -Filter "displayName eq 'Box'"
New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $clientServicePrincipal.Id -PrincipalId $clientServicePrincipal.Id -ResourceId $servicePrincipalObject.Id -Id $servicePrincipalObject.Approles[1].Id
Id                                          AppRoleId                            CreationTimestamp   PrincipalDisplayName PrincipalId                          PrincipalType    ResourceDisplayName ResourceId
--                                          ---------                            -----------------   -------------------- -----------                          -------------    ------------------- ----------
1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5 00000000-0000-0000-0000-000000000000 12-03-2024 11:05:29 Box                  aaaaaaaa-bbbb-cccc-1111-222222222222 ServicePrincipal Box                 aaaa0000-bb11-2222-33cc-444444dddddd

Este exemplo demonstra como atribuir um papel de aplicação a outro principal de serviço no Microsoft Entra ID. Podes usar o comando Get-EntraServicePrincipal para obter um ID principal de serviço.

  • -ServicePrincipalId O parâmetro especifica o ObjectId de um principal de serviço cliente ao qual está a atribuir o papel da aplicação.
  • -ResourceIdo parâmetro especifica o ObjectId do principal do serviço de recursos.
  • -Id parâmetro especifica o Id do papel da aplicação (definido no principal de serviço de recursos) a atribuir ao principal de serviço cliente. Se não estiverem definidos papéis de aplicação na aplicação de recurso, pode usar 00000000-0000-0000-0000-000000000000.
  • -PrincipalId O parâmetro especifica o ObjectId do principal de serviço cliente ao qual está a atribuir o papel da aplicação.

Exemplo 3: Atribuir um papel de aplicação a um utilizador

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$servicePrincipalObject = Get-EntraServicePrincipal -Filter "displayName eq 'Box'"
$user = Get-EntraUser -UserId 'PattiF@Contoso.com'

New-EntraServicePrincipalAppRoleAssignment `
    -ServicePrincipalId $servicePrincipalObject.Id `
    -ResourceId $servicePrincipalObject.Id `
    -Id $servicePrincipalObject.Approles[1].Id `
    -PrincipalId $user.Id
Id                                          AppRoleId                            CreationTimestamp   PrincipalDisplayName PrincipalId                          PrincipalType    ResourceDisplayName ResourceId
--                                          ---------                            -----------------   -------------------- -----------                          -------------    ------------------- ----------
2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6 00000000-0000-0000-0000-000000000000 12-03-2024 11:05:29 Box                  aaaaaaaa-bbbb-cccc-1111-222222222222 ServicePrincipal Box                 bbbb1111-cc22-3333-44dd-555555eeeeee

Este exemplo demonstra como atribuir um papel de aplicação a um utilizador no Microsoft Entra ID. Podes usar o comando Get-EntraServicePrincipal para obter um ID principal de serviço. Podes usar o comando Get-EntraUser para obter um ID de utilizador.

  • -ServicePrincipalId o parâmetro especifica o ObjectId do principal de serviço da aplicação.
  • -ResourceIdo parâmetro especifica o ObjectId do principal de serviço da aplicação.
  • -Id o parâmetro especifica o Id do papel da aplicação (definido no principal de serviço da aplicação) a atribuir ao utilizador. Se não forem definidos papéis de aplicação para a aplicação de recursos, pode usar 00000000-0000-0000-0000-000000000000 para indicar que a aplicação está atribuída ao utilizador.
  • -PrincipalId especifica o ObjectId de um utilizador a quem está a atribuir o papel da aplicação.

Exemplo 4: Atribuir um papel de aplicação a um grupo

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$servicePrincipalObject = Get-EntraServicePrincipal -Filter "displayName eq 'Box'"
$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"

New-EntraServicePrincipalAppRoleAssignment `
    -ServicePrincipalId $servicePrincipalObject.Id `
    -ResourceId $servicePrincipalObject.Id `
    -Id $servicePrincipalObject.Approles[1].Id `
    -PrincipalId $group.Id
Id                                          AppRoleId                            CreationTimestamp   PrincipalDisplayName PrincipalId                          PrincipalType    ResourceDisplayName ResourceId
--                                          ---------                            -----------------   -------------------- -----------                          -------------    ------------------- ----------
3cccccc3-4dd4-5ee5-6ff6-7aaaaaaaaaa7 00000000-0000-0000-0000-000000000000 12-03-2024 11:05:29 Box                  aaaaaaaa-bbbb-cccc-1111-222222222222 ServicePrincipal Box                 cccc2222-dd33-4444-55ee-666666ffffff

Este exemplo demonstra como atribuir um papel de aplicação a um grupo no Microsoft Entra ID. Podes usar o comando Get-EntraServicePrincipal para obter um ID principal de serviço. Podes usar o comando Get-EntraGroup para obter um ID de grupo.

  • -ServicePrincipalId o parâmetro especifica o ObjectId do principal de serviço da aplicação.
  • -ResourceIdo parâmetro especifica o ObjectId do principal de serviço da aplicação.
  • -Id o parâmetro especifica o Id do papel da aplicação (definido no principal de serviço da aplicação) a atribuir ao grupo. Se não forem definidos papéis de aplicação para a aplicação de recurso, pode usar 00000000-0000-0000-0000-000000000000 para indicar que a aplicação está atribuída ao grupo.
  • -PrincipalId parâmetro especifica o ObjectId de um grupo ao qual estás a atribuir a função da app.

Parâmetros

-Id

Especifica a ID.

Propriedades dos parâmetros

Tipo:System.String
Valor predefinido:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Posto:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-PrincipalId

Especifica um ID principal.

Propriedades dos parâmetros

Tipo:System.String
Valor predefinido:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Posto:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ResourceId

Especifica um ID de recurso.

Propriedades dos parâmetros

Tipo:System.String
Valor predefinido:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Posto:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ServicePrincipalId

Especifica o ID de um principal de serviço no Microsoft Entra ID.

Propriedades dos parâmetros

Tipo:System.String
Valor predefinido:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:IdentificadorDoObjeto

Conjuntos de parâmetros

(All)
Posto:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Notas

New-EntraServiceAppRoleAssignment é um alias para New-EntraServicePrincipalAppRoleAssignment.