Ao registrar seu aplicativo Microsoft Entra, você concede permissão para acessar várias APIs. À medida que suas necessidades mudam, convém ajustar essas permissões. Este artigo mostra-lhe como.
Nota
As permissões do aplicativo Microsoft Entra só são aplicáveis nestes cenários:
Incorporar para a sua organização
Incorporar para seus clientes com o método de autenticação de usuário mestre
Editar as configurações de permissão em seu aplicativo Microsoft Entra
As alterações de permissão podem ser feitas programaticamente ou no portal do Azure.
Selecione seu locatário do Microsoft Entra selecionando sua conta no canto superior direito da página.
Selecione Registos de aplicações. Se não conseguir ver esta opção, pesquise-a.
Na guia Aplicativos próprios, selecione seu aplicativo. O aplicativo é aberto na guia Visão geral, onde você pode revisar a ID do aplicativo.
Selecione a guia Exibir permissões da API.
Selecione Adicionar uma permissão.
Para adicionar permissões, siga estas etapas (observe que a primeira etapa é diferente para aplicativos GCC):
Na guia APIs da Microsoft, selecione Serviço do Power BI.
Nota
Para aplicativos GCC, selecione a guia APIs que minha organização usa e procure Microsoft Power BI Government Community Cloud OU fc4979e5-0aa5-429f-b13a-5d1365be5566.
Selecione Permissões delegadas e adicione ou remova as permissões específicas de que precisa.
Quando terminar, selecione Adicionar permissões para salvar as alterações.
Para remover uma permissão, siga estes passos:
Selecione as reticências (...) à direita da permissão.
Selecione Remover permissão.
Na janela pop-up Remover permissão , selecione Sim, remover.
Para alterar as permissões do aplicativo Microsoft Entra programaticamente, você precisará obter as entidades de serviço (usuários) existentes em seu locatário. Para obter informações sobre como fazer isso, consulte servicePrincipal.
Para obter todas as entidades de serviço em seu locatário, chame a Get servicePrincipal API sem {ID}.
Verifique se há uma entidade de serviço com a appId ID do aplicativo do seu aplicativo como propriedade. displayName( é opcional.)
Conceda permissões do Power BI ao seu aplicativo, atribuindo um destes valores a consentType:
AllPrincipals - Só pode ser usado por um administrador do Power BI para conceder permissões em nome de todos os usuários no locatário.
Principal - Use para conceder permissões em nome de um usuário específico. Se você estiver usando essa opção, adicione a principalId={User_ObjectId} propriedade ao corpo da solicitação.
Se você estiver usando um usuário mestre, para evitar ser solicitado o consentimento pela ID do Microsoft Entra, será necessário conceder permissões à conta mestra.
O resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e é dependente do locatário e não universal. Esse valor é o objectId do aplicativo de Serviço do Power BI na ID do Microsoft Entra. Para obter esse valor do portal do Azure, navegue até Aplicativos > corporativos Todos os aplicativos e procure Serviço do Power BI.
Conceda permissões de aplicativo ao Microsoft Entra ID, atribuindo um valor ao consentType.
Você também pode alterar as permissões do aplicativo Microsoft Entra usando C#. Para obter mais informações, consulte a API oAuth2PermissionGrant . Esse método pode ser útil se você estiver pensando em automatizar alguns de seus processos.
var graphClient = GetGraphClient();
currentState.createdApp = await graphClient.Applications
.Request()
.AddAsync(application);
System.Threading.Thread.Sleep(2000);
var passwordCredential = new PasswordCredential
{
DisplayName = "Client Secret Created in C#"
};
currentState.createdSecret = await graphClient.Applications[currentState.createdApp.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
var servicePrincipal = new ServicePrincipal
{
AppId = currentState.createdApp.AppId
};
currentState.createdServicePrincipal = await graphClient.ServicePrincipals
.Request()
.AddAsync(servicePrincipal);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
// Use oAuth2PermissionGrant to change permissions
var oAuth2PermissionGrant = await graphClient.Oauth2PermissionGrants["{id}"]
.Request()
.GetAsync();