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.
No portal do Azure, você pode exibir seu aplicativo e fazer alterações em suas permissões.
Inicie sessão 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 IDappIdaplicativo do seu aplicativo como propriedade.
displayName( é opcional.)
Post https://graph.microsoft.com/v1.0/servicePrincipals HTTP/1.1
Authorization: Bearer ey..qw
Content-Type: application/json
{
"accountEnabled" : true,
"appId" : "{App_Client_ID}",
"displayName" : "{App_DisplayName}"
}
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.
Post https://graph.microsoft.com/v1.0/OAuth2PermissionGrants HTTP/1.1
Authorization: Bearer ey..qw
Content-Type: application/json
{
"clientId":"{Service_Plan_ID}",
"consentType":"AllPrincipals",
"resourceId":"a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"scope":"Dataset.ReadWrite.All Dashboard.Read.All Report.Read.All Group.Read Group.Read.All Content.Create Metadata.View_Any Dataset.Read.All Data.Alter_Any",
"expiryTime":"2018-03-29T14:35:32.4943409+03:00",
"startTime":"2017-03-29T14:35:32.4933413+03:00"
}
Nota
- 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
resourceId é dependente do inquilino e não universal. O seu valor é o objectId da aplicação do Serviço Power BI no Microsoft Entra ID. 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.
Post https://graph.microsoft.com/v1.0/OAuth2PermissionGrants HTTP/1.1
Authorization: Bearer ey..qw
Content-Type: application/json
{
"clientId":"{Service_Plan_ID}",
"consentType":"AllPrincipals",
"resourceId":"a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"scope":"User.Read Directory.AccessAsUser.All",
"expiryTime":"2018-03-29T14:35:32.4943409+03:00",
"startTime":"2017-03-29T14:35:32.4933413+03:00"
}
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();
Conteúdos relacionados