Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo orienta os administradores de TI e de nuvem por meio do processo de autorização de um aplicativo parceiro de terceiros para acessar recursos do GeoCatalog. Ao concluir essas etapas, você habilita as organizações parceiras, como provedores de dados geoespaciais ou serviços de análise, para ler e gravar dados em seus GeoCatalogs do Microsoft Planetry Computer Pro.
Pré-requisitos
- Conta do Azure com uma assinatura ativa – criar uma conta gratuitamente
- Um recurso de GeoCatalog existente
- Uma das seguintes funções do Microsoft Entra ID:
- Administrador global
- Administrador de aplicativos
- Administrador de Aplicativos na Nuvem
- Função de Proprietário ou Administrador de Acesso do Usuário no recurso GeoCatalog
- CLI do Azure instalada e configurada – instalar a CLI do Azure
- Informações de seu parceiro:
- ID do Aplicativo do parceiro (cliente)
- URI de redirecionamento configurado no registro de aplicativo do parceiro (opcional)
Visão geral
Autorizar um aplicativo de parceiro envolve três etapas principais:
- Crie um principal de serviço para o aplicativo do parceiro em seu locatário
- Conceder consentimento do administrador às solicitações de permissão do aplicativo
- Atribuir funções GeoCatalog à entidade principal
flowchart LR
A[Receive partner<br/>app details] --> B[Create service<br/>principal]
B --> C[Grant admin<br/>consent]
C --> D[Assign GeoCatalog<br/>Administrator role]
D --> E[Partner can<br/>access GeoCatalog]
Criar um principal de serviço para a aplicação parceira
Uma entidade de serviço é a representação de um aplicativo no seu locatário Microsoft Entra. A criação de uma entidade de serviço para a ID do aplicativo do parceiro estabelece a identidade à qual você pode conceder permissões.
Entre na CLI do Azure com uma conta que tenha permissões de Administrador de Aplicativos:
az login --tenant <your-tenant-id>Verifique se você está conectado ao locatário correto:
az account show --query "{TenantId:tenantId, User:user.name}" -o tableVerifique se já existe um principal de serviço para o aplicativo parceiro:
az ad sp list --filter "appId eq '<partner-application-id>'" --query "[0].id" -o tsvSe esse comando retornar uma ID de objeto, a entidade de serviço já existirá. Vá para a próxima seção.
Criar a entidade de serviço:
az ad sp create --id <partner-application-id>Exemplo de saída:
{ "accountEnabled": true, "appId": "f914857f-af79-4a22-8a37-85e772c01b7f", "displayName": "Partner Geospatial App", "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", ... }Salve o valor do principal de serviço (ID do objeto
id) para uso nas etapas seguintes.# Store the service principal object ID SP_ID=$(az ad sp list --filter "appId eq '<partner-application-id>'" --query "[0].id" -o tsv) echo "Service Principal ID: $SP_ID"
Conceder consentimento do administrador ao aplicativo de parceiro
O consentimento do administrador autoriza o aplicativo parceiro a usar as permissões solicitadas. Essa etapa é necessária para que o aplicativo possa se autenticar em seu locatário. Seu parceiro deve fornecer um link para executar essa ação como parte do processo de integração do aplicativo.
Observação
Opcionalmente, você pode contruir essa URL por conta própria:
Construa a URL de consentimento do administrador usando sua ID de locatário e a ID do aplicativo do parceiro:
https://login.microsoftonline.com/<your-tenant-id>/adminconsent?client_id=<partner-application-id>&redirect_uri=https://localhost:8080/callback
O URI de redirecionamento deve corresponder a uma das URIs configuradas no registro do aplicativo do parceiro. Confirme o URI correto com seu parceiro.
Abra a URL em um navegador da Web e entre com uma conta de Administrador Global ou Administrador de Aplicativos.
Examine as permissões solicitadas e selecione Aceitar para conceder consentimento.
Depois que o consentimento for concedido, você será redirecionado para o URI de redirecionamento especificado. Você pode fechar essa janela do navegador.
Verifique se o consentimento do administrador foi concedido verificando as permissões da entidade de serviço:
az rest --method GET --url "https://graph.microsoft.com/v1.0/servicePrincipals/$SP_ID/oauth2PermissionGrants"Exemplo de saída quando o consentimento foi concedido:
{ "value": [ { "clientId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "consentType": "AllPrincipals", "id": "abc123def456", "principalId": null, "resourceId": "98765432-abcd-ef12-3456-7890abcdef12", "scope": "User.Read" } ] }Se a
valuematriz estiver vazia, o consentimento do administrador ainda não foi concedido.
Alternativa: conceder consentimento por meio do portal do Azure
Você também pode conceder consentimento do administrador por meio do Centro de administração do Microsoft Entra:
- Entre no centro de administração do Microsoft Entra
- Navegue para Identidade>Aplicações>Aplicativos empresariais
- Selecione o filtro Tipo de Aplicativo e defina como valor "Todos os Aplicativos"
- Localize o aplicativo parceiro usando a barra de pesquisa para inserir o nome ou a ID do aplicativo. Selecione o aplicativo parceiro na lista filtrada.
- SelecionePermissões de> na barra lateral esquerda
- Selecione Conceder consentimento do administrador para [seu locatário]
- Revisar e aceitar as permissões
Atribuir a função GeoCatalog apropriada
A entidade de serviço para seus dados ou provedor de serviços precisa da função apropriada para interagir com os recursos do GeoCatalog. Atribua a função Leitor de GeoCatalog a aplicativos que só precisam de acesso de leitura ao GeoCatalog. Atribua a função administrador geocatalog a aplicativos que precisam criar coleções, ingerir dados e gerenciar itens em seu GeoCatalog.
Observação
O recurso de integração de aplicativos parceiros está atualmente em versão prévia e não dá suporte a uma função de acesso específica e limitada para parceiros de provedor de dados ou serviços. Por esse motivo, é recomendável durante o período de visualização que os clientes criem um recurso geocatalog dedicado a um parceiro específico para impedir o acesso a outros dados privados organizacionais.
Obtenha sua ID do recurso GeoCatalog:
# Set your resource details SUBSCRIPTION_ID="<your-subscription-id>" RESOURCE_GROUP="<your-resource-group>" GEOCATALOG_NAME="<your-geocatalog-name>" # Construct the resource ID GEOCATALOG_RESOURCE_ID="/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Orbital/geoCatalogs/$GEOCATALOG_NAME"Verifique se o recurso GeoCatalog existe e se você tem acesso:
az resource show --ids $GEOCATALOG_RESOURCE_ID --query "{Name:name, Location:location, Type:type}" -o tableLocalize a definição de função desejada:
az role definition list --name "GeoCatalog Administrator" --query "[0].id" -o tsvVerifique se a atribuição de função já existe:
az role assignment list --assignee $SP_ID --scope $GEOCATALOG_RESOURCE_ID --query "[?roleDefinitionName=='GeoCatalog Administrator']" -o tableCrie a atribuição de função:
az role assignment create \ --assignee $SP_ID \ --role "GeoCatalog Administrator" \ --scope $GEOCATALOG_RESOURCE_IDExemplo de saída:
{ "id": "/subscriptions/.../providers/Microsoft.Authorization/roleAssignments/...", "principalId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "roleDefinitionName": "GeoCatalog Administrator", "scope": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Orbital/geoCatalogs/...", ... }