Criar um aplicativo personalizado

Neste artigo, você aprenderá a criar um aplicativo personalizado e conceder-lhe permissões usando Microsoft Entra PowerShell. Esse processo envolve a definição de funções, a atribuição de usuários e grupos e a definição de permissões de API para gerenciar Microsoft Entra recursos com eficiência.

Entender essas etapas é essencial para gerenciar com segurança o acesso e garantir que os aplicativos tenham as permissões apropriadas. Ele ajuda a manter a segurança e a eficiência operacional dentro do ecossistema de Microsoft Entra.

Prerequisites

Para criar um aplicativo personalizado e conceder-lhe permissões, você precisa:

Criar um aplicativo usando o PowerShell

Use o aplicativo personalizado para isolar e limitar as permissões concedidas para um recurso de 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

Habilitar o recurso de atribuição necessário usando o PowerShell

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

Atribuir usuários 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

Definir 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 ao aplicativo usando o PowerShell

Você pode atribuir permissões delegadas ou permissões de aplicativo ao aplicativo.

$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

Baixe e execute o script completo:

Criar um aplicativo no centro de administração do Microsoft Entra

Para criar aplicativos personalizados para se conectar a Microsoft Entra ID usando Microsoft Entra PowerShell, siga as etapas na seção a seguir. Use o aplicativo personalizado para isolar e limitar as permissões concedidas para um recurso de Microsoft Entra.

  1. Entre no Centro de administração do Microsoft Entra como pelo menos Administrador de Aplicativos de Nuvem.
  2. Navegue até Identidade>Aplicativos>Registros de aplicativo e selecione Novo registro.
  3. Insira um nome para seu aplicativo, por exemplo, Entra PowerShell Five.
  4. Para tipos de conta com suporte, selecione Contas neste diretório da organização.
  5. Para URI de Redirecionamento , selecione: - Cliente público/nativo na lista suspensa – Valor de URI: http://localhost
  6. Selecione Registrar.

Note

Na seção Visão geral do aplicativo, copie a Application (client ID) e a Directory (tenant) ID. Você usa os valores ao se conectar a Microsoft Entra ID.

Habilitar o recurso de atribuição obrigatória no centro de administração do Microsoft Entra

Para gerenciar os recursos aos quais seu aplicativo obtém acesso em seu locatário, localize a entidade de serviço do aplicativo no painel Aplicativos Empresariais .

  1. Navegue até Identidade>Aplicativos>Aplicativos empresariais>Todos os aplicativos e selecione o aplicativo que você criou.
  2. Em Gerenciar, selecione Propriedades e defina a Atribuição necessária? Para Sim.
  3. Selecione Salvar.

Atribuir usuários e grupos no centro de administração do Microsoft Entra

  1. Em Gerenciar, selecione Usuários e grupos.
  2. Selecione Adicionar usuário/grupo e adicione os usuários e grupos permitidos para usar este aplicativo.
  3. Depois de adicionar todos os usuários e grupos, selecione Atribuir.

Atribuir permissões de API ao aplicativo no centro de administração do Microsoft Entra

Você precisa configurar permissões de Microsoft Graph para que o novo aplicativo se conecte ao Microsoft Entra ID e gerencie Microsoft Entra recursos.

  1. Navegue até Identidade>Aplicativos>Registros de aplicativo>Todos os aplicativos e selecione o aplicativo que você criou.
  2. Em permissões de API, selecione Adicionar uma permissão> Microsoft APIs > Microsoft Graph.
  3. Escolha o tipo de permissões necessárias, delegadas ou permissões de aplicativo.
    • Se você precisar entrar no aplicativo para gerenciar seus recursos em Microsoft Entra ID, selecione permissões delegadas.
    • Se você quiser que o aplicativo acesse Microsoft Entra recursos por conta própria sem interação do usuário, selecione permissões de aplicativo
  4. Pesquise a permissão necessária, por exemplo, User.Read.All.
  5. Selecione Conceder consentimento do administrador para TenantName. Selecione Sim. Verifique se o status exibe uma marca de verificação verde.

Entrar usando o novo aplicativo

Agora você pode usar o aplicativo recém-criado conectando-se com:

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

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