Criar uma entidade de serviço e aplicativo Microsoft Entra que possa acessar recursos

Neste artigo, você aprenderá a criar um aplicativo e uma entidade de serviço do Microsoft Entra que podem ser usados com o controle de acesso baseado em função. Quando você registra um novo aplicativo no Microsoft Entra ID, uma entidade de serviço é criada automaticamente para o registro do aplicativo. A entidade de serviço é a identidade do aplicativo no locatário do Microsoft Entra. O acesso aos recursos é restrito pelas funções atribuídas à entidade de serviço, dando-lhe controle sobre quais recursos podem ser acessados e em que nível. Por motivos de segurança, é sempre recomendável usar entidades de serviço com ferramentas automatizadas, em vez de permitir que elas entrem com uma identidade de usuário.

Neste artigo, você criará um aplicativo de locatário único no portal do Azure. Este exemplo é aplicável para aplicativos de linha de negócios usados em uma organização. Você também pode usar o Azure PowerShell ou a CLI do Azure para criar uma entidade de serviço.

Importante

Em vez de criar uma entidade de serviço, considere usar identidades gerenciadas para recursos do Azure para sua identidade de aplicativo. Se o seu código é executado em um serviço que oferece suporte a identidades gerenciadas e acessa recursos que suportam a autenticação do Microsoft Entra, as identidades gerenciadas são uma opção melhor para você. Para saber mais sobre identidades gerenciadas para recursos do Azure, incluindo quais serviços atualmente oferecem suporte a isso, consulte O que são identidades gerenciadas para recursos do Azure?.

Para obter mais informações sobre a relação entre registro de aplicativo, objetos de aplicativo e entidades de serviço, leia Objetos de entidade de aplicativo e serviço na ID do Microsoft Entra.

Pré-requisitos

Para registrar um aplicativo em seu locatário do Microsoft Entra, você precisa:

Permissões necessárias para registar aplicações

Você deve ter permissões suficientes para registrar um aplicativo com seu locatário do Microsoft Entra e atribuir ao aplicativo uma função em sua assinatura do Azure. Para concluir essas tarefas, você precisa de Application.ReadWrite.Allpermissão.

Registrar um aplicativo com o Microsoft Entra ID e criar uma entidade de serviço

Gorjeta

As etapas neste artigo podem variar ligeiramente com base no portal a partir do qual você começou.

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.

  2. Navegue até Registros do aplicativo Aplicativos de identidade>>e selecione Novo registro.

  3. Nomeie o aplicativo, por exemplo, "example-app".

  4. Selecione um tipo de conta suportado, que determina quem pode usar o aplicativo.

  5. Em Redirecionar URI, selecione Web para o tipo de aplicativo que você deseja criar. Insira o URI para o qual o token de acesso é enviado.

  6. Selecione Registar.

    Type a name for your application.

Você criou seu aplicativo e entidade de serviço do Microsoft Entra.

Atribuir uma função ao aplicativo

Para acessar recursos em sua assinatura, você deve atribuir uma função ao aplicativo. Decida qual função oferece as permissões certas para o aplicativo. Para saber mais sobre as funções disponíveis, consulte Funções internas do Azure.

Você pode definir o escopo no nível da assinatura, grupo de recursos ou recurso. As permissões são herdadas para níveis mais baixos de escopo.

  1. Inicie sessão no portal do Azure.

  2. Selecione o nível de escopo ao qual você deseja atribuir o aplicativo. Por exemplo, para atribuir uma função no escopo da assinatura, pesquise e selecione Assinaturas. Se não vir a subscrição que procura, selecione o filtro de subscrições globais. Verifique se a assinatura desejada está selecionada para o locatário.

  3. Selecione Controlo de acesso (IAM) .

  4. Selecione Adicionar e, em seguida, selecione Adicionar atribuição de função.

  5. Na guia Função, selecione a função que deseja atribuir ao aplicativo na lista. Por exemplo, para permitir que o aplicativo execute ações como reinicializar, iniciar e parar instâncias, selecione a função de Colaborador .

  6. Selecione a opção Avançar.

  7. Na guia Membros, selecione Atribuir acesso a, em seguida, selecione Usuário, grupo ou entidade de serviço

  8. Selecione Selecionar membros. Por padrão, os aplicativos Microsoft Entra não são exibidos nas opções disponíveis. Para encontrar a sua aplicação, pesquise-a pelo seu nome.

  9. Selecione o botão Selecionar e, em seguida, selecione Rever + atribuir.

    Screenshot showing role assignment.

A entidade de serviço está configurada. Você pode começar a usá-lo para executar seus scripts ou aplicativos. Para gerenciar sua entidade de serviço (permissões, permissões consentidas pelo usuário, ver quais usuários consentiram, revisar permissões, ver informações de login e muito mais), vá para Aplicativos corporativos.

A próxima seção mostra como obter os valores necessários ao entrar programaticamente.

Iniciar sessão na aplicação

Ao entrar programaticamente, passe a ID do locatário e a ID do aplicativo em sua solicitação de autenticação. Você também precisa de um certificado ou uma chave de autenticação. Para obter o ID do diretório (locatário) e o ID do aplicativo:

  1. Navegue até Registros do aplicativo Identity>Applications>e selecione seu aplicativo.
  2. Na página de visão geral do aplicativo, copie o valor da ID do diretório (locatário) e armazene-o no código do aplicativo.
  3. Copie o valor do ID do aplicativo (cliente) e armazene-o no código do aplicativo.

Configurar a autenticação

Existem dois tipos de autenticação disponíveis para principais de serviço: autenticação baseada em palavra-passe (segredo da aplicação) e autenticação baseada em certificado. Recomendamos o uso de um certificado confiável emitido por uma autoridade de certificação, mas você também pode criar um segredo de aplicativo ou criar um certificado autoassinado para teste.

Para carregar o ficheiro de certificado:

  1. Navegue até Registros do aplicativo Identity>Applications>e selecione seu aplicativo.
  2. Selecione Certificados & segredos.
  3. Selecione Certificados, selecione Carregar certificado e, em seguida, selecione o arquivo de certificado a ser carregado.
  4. Selecione Adicionar. Depois que o certificado é carregado, a impressão digital, a data de início e os valores de expiração são exibidos.

Depois de registrar o certificado com seu aplicativo no portal de registro do aplicativo, habilite o código confidencial do aplicativo cliente para usar o certificado.

Opção 2: Somente teste - criar e carregar um certificado autoassinado

Opcionalmente, você pode criar um certificado autoassinado apenas para fins de teste. Para criar um certificado autoassinado, abra o Windows PowerShell e execute New-SelfSignedCertificate com os seguintes parâmetros para criar o certificado no repositório de certificados do usuário em seu computador:

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Exporte este certificado para um arquivo usando o snap-in Gerenciar Certificado de Usuário do MMC acessível a partir do Painel de Controle do Windows.

  1. Selecione Executar no menu Iniciar e digite certmgr.msc. A ferramenta Gerenciador de certificados para o usuário atual é exibida.
  2. Para exibir seus certificados, em Certificados - Usuário Atual no painel esquerdo, expanda o diretório Pessoal .
  3. Clique com o botão direito do mouse no certificado que você criou, selecione Todas as tarefas-Exportar>.
  4. Siga o assistente de Exportação de Certificados.

Para carregar o certificado:

  1. Navegue até Registros do aplicativo Identity>Applications>e selecione seu aplicativo.
  2. Selecione Certificados & segredos.
  3. Selecione Certificados, selecione Carregar certificado e, em seguida, selecione o certificado (um certificado existente ou o certificado autoassinado que exportou).
  4. Selecione Adicionar.

Depois de registrar o certificado com seu aplicativo no portal de registro do aplicativo, habilite o código confidencial do aplicativo cliente para usar o certificado.

Opção 3: Criar um novo segredo do cliente

Se você optar por não usar um certificado, poderá criar um novo segredo de cliente.

  1. Navegue até Registros do aplicativo Identity>Applications>e selecione seu aplicativo.
  2. Selecione Certificados & segredos.
  3. Selecione Segredos do cliente e, em seguida, Selecione Novo segredo do cliente.
  4. Forneça uma descrição do segredo e uma duração.
  5. Selecione Adicionar.

Depois de salvar o segredo do cliente, o valor do segredo do cliente é exibido. Isso só é exibido uma vez, então copie esse valor e armazene-o onde seu aplicativo pode recuperá-lo, geralmente onde seu aplicativo mantém valores como clientId, ou authoruty no código-fonte. Você fornecerá o valor secreto junto com a ID do cliente do aplicativo para entrar como o aplicativo.

Screenshot showing the client secret.

Configurar políticas de acesso em recursos

Talvez seja necessário configurar permissões extras em recursos que seu aplicativo precisa acessar. Por exemplo, você também deve atualizar as políticas de acesso de um cofre de chaves para dar ao seu aplicativo acesso a chaves, segredos ou certificados.

Para configurar políticas de acesso:

  1. Inicie sessão no portal do Azure.

  2. Selecione o cofre de chaves e selecione Políticas de acesso.

  3. Selecione Adicionar política de acesso e, em seguida, selecione as permissões de chave, segredo e certificado que pretende conceder à sua aplicação. Selecione a entidade de serviço criada anteriormente.

  4. Selecione Adicionar para adicionar a política de acesso.

  5. Guardar.

    Add access policy

Próximos passos