Criar uma aplicação personalizada

Neste artigo, aprende como criar uma aplicação personalizada e conceder-lhe permissões usando o Microsoft Entra PowerShell. Este processo envolve a definição de funções, atribuição de utilizadores e grupos, e a definição de permissões de API para gerir eficazmente os recursos do Microsoft Entra.

Compreender estes passos é essencial para gerir o acesso de forma segura e garantir que as aplicações têm as permissões adequadas. Ajuda a manter a segurança e a eficiência operacional dentro do ecossistema Microsoft Entra.

Pré-requisitos

Para criar uma aplicação personalizada e conceder-lhe permissões, precisa de:

Criar uma aplicação usando PowerShell

Use a aplicação personalizada para isolar e limitar as permissões concedidas a um recurso Microsoft Entra.

# Connect to Entra with required scopes
Connect-Entra -Scopes 'Application.ReadWrite.All'

# Define application name and redirect URI
$appName = 'Entra PowerShell Helpdesk App'
$redirectUri = 'http://localhost'

# Create a new application
$app = New-EntraApplication -DisplayName $appName -PublicClient @{ RedirectUris = $redirectUri } -IsFallbackPublicClient $False

# Create a service principal for the application
$servicePrincipal = New-EntraServicePrincipal -AppId $app.AppId

Ativar a funcionalidade necessária de atribuição usando PowerShell

# Set service principal parameters
Set-EntraServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppRoleAssignmentRequired $True

Atribuir utilizadores e grupos usando o PowerShell

# Get a user and a group
$user = Get-EntraUser -UserId 'AdeleV@contoso.com'
$group = Get-EntraGroup -Search 'Sales and Marketing'

# Assign users and groups to the application
$emptyGuidUser = [Guid]::Empty.ToString()
New-EntraUserAppRoleAssignment -ObjectId $user.Id -PrincipalId $user.Id -ResourceId $servicePrincipal.Id -Id $emptyGuidUser

$emptyGuidGroup = [Guid]::Empty.ToString()
New-EntraGroupAppRoleAssignment -GroupId $group.Id -PrincipalId $group.Id -ResourceId $servicePrincipal.Id -Id $emptyGuidGroup

Defina os recursos e permissões necessários usando o PowerShell

# Get Graph service principal
$graphApiId = '00000003-0000-0000-c000-000000000000'
$graphServicePrincipal = Get-EntraServicePrincipal -Filter "AppId eq '$graphApiId'"
$delegatedPermission = 'User.Read.All'
$app = Get-EntraApplication -Filter "DisplayName eq '$appName'"

# Create resource access object
$resourceAccessDelegated = New-Object Microsoft.Open.MSGraph.Model.ResourceAccess
$resourceAccessDelegated.Id = ((Get-EntraServicePrincipal -ServicePrincipalId $graphServicePrincipal.Id).Oauth2PermissionScopes | Where-Object { $_.Value -eq $delegatedPermission }).Id
$resourceAccessDelegated.Type = 'Scope'

# Create required resource access object
$requiredResourceAccessDelegated = New-Object Microsoft.Open.MSGraph.Model.RequiredResourceAccess
$requiredResourceAccessDelegated.ResourceAppId = $graphApiId
$requiredResourceAccessDelegated.ResourceAccess = $resourceAccessDelegated

# Set application required resource access
Set-EntraApplication -ApplicationId $app.Id -RequiredResourceAccess $requiredResourceAccessDelegated

Atribuir permissões de API à aplicação usando o PowerShell

Pode atribuir permissões delegadas ou permissões de aplicação à aplicação.

$delegatedPermission = 'User.Read.All'
$graphApiId = '00000003-0000-0000-c000-000000000000'
$servicePrincipal = Get-EntraServicePrincipal -Filter "DisplayName eq '$appName'"
$graphServicePrincipal = Get-EntraServicePrincipal -Filter "AppId eq '$graphApiId'"

# Grant OAuth2 permission
New-EntraOauth2PermissionGrant -ClientId $servicePrincipal.Id -ConsentType 'AllPrincipals' -ResourceId $graphServicePrincipal.Id -Scope $delegatedPermission

Resources

Descarregue e execute o guião completo:

Crie uma aplicação no centro de administração Microsoft Entra

Para criar aplicações personalizadas para ligação ao Microsoft Entra ID usando o Microsoft Entra PowerShell, siga os passos na secção seguinte. Use a aplicação personalizada para isolar e limitar as permissões concedidas a um recurso Microsoft Entra.

  1. Entre no centro de administração do Microsoft Entra como, no mínimo, um administrador de aplicações na nuvem.
  2. Navegue até Identity>Aplicações>Registos de aplicações e, em seguida, selecione Novo registo.
  3. Insira um nome para a sua aplicação, por exemplo Entra PowerShell Five.
  4. Para tipos de conta suportados, selecione Contas neste diretório da organização.
  5. Para URI de redirecionamento selecione: - Cliente público/nativo na lista pendente - Valor do URI: http://localhost
  6. Selecione Registar.

Note

Na secção de Visão Geral da aplicação, copie a Aplicação (ID do cliente) e o ID do Diretório (inquilino). Utiliza os valores ao estabelecer ligação ao Microsoft Entra ID.

Ativar a funcionalidade de atribuição obrigatória no centro de administração Microsoft Entra

Para gerir os recursos a que a sua aplicação tem acesso no seu tenant, localize o principal de serviço da aplicação no painel de aplicações empresariais .

  1. Navegue até Identidade>Aplicações>Aplicações empresariais>Todas as aplicações e selecione a aplicação que criou.
  2. Em Gerir, selecione Propriedades e defina Atribuição necessária? para Sim.
  3. Selecione Guardar.

Atribuir utilizadores e grupos no centro de administração Microsoft Entra

  1. Em Gerir, selecione Utilizadores e grupos.
  2. Selecione Adicionar utilizador/grupo e adicione os utilizadores e grupos autorizados a usar esta aplicação.
  3. Depois de adicionares todos os utilizadores e grupos, seleciona Atribuir.

Atribuir permissões de API à aplicação no centro de administração Microsoft Entra

Tem de configurar as permissões do Microsoft Graph para que a nova aplicação se possa ligar ao Microsoft Entra ID e gerir os recursos do Microsoft Entra.

  1. Navegue até Identidade>Aplicações>Registos de aplicações>Todas as aplicações e selecione a aplicação que criou.
  2. Em Permissões da API, selecione Adicionar uma permissão> selecione APIs da Microsoft > Microsoft Graph.
  3. Escolha o tipo de permissões que necessita, sejam delegadas ou permissões de aplicação.
    • Se precisar de iniciar sessão na aplicação para gerir os seus recursos no Microsoft Entra ID, selecione Permissões Delegadas.
    • Se quiser que a aplicação aceda aos recursos do Microsoft Entra sozinha, sem interação do utilizador, selecione permissões de aplicação
  4. Procure a permissão necessária, por exemplo, User.Read.All.
  5. Selecione Conceder consentimento do administrador para Nome do Inquilino. Selecione Sim. Certifique-se de que o estado apresenta uma marca de verificação verde.

Iniciar sessão usando a nova aplicação

Agora pode usar a aplicação recém-criada ligando-se com:

Connect-Entra -ClientId <Your_APPLICATION_Id_Here> -TenantId <Your_TENANT_Id_Here>

Para mais opções de ligação, consulte os detalhes do comando Connect-Entra .