Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo orienta administradores de TI e cloud no processo de autorização de uma aplicação parceira de terceiros para aceder aos recursos do GeoCatalog. Ao completar estes passos, permite que organizações parceiras — como fornecedores de dados geoespaciais ou serviços de análise — leiam e escrevam dados para os seus Microsoft Planetary Computer Pro GeoCatalogs.
Pré-requisitos
- Conta do Azure com uma subscrição ativa - crie uma conta gratuitamente
- Um recurso GeoCatalog existente
- Uma das seguintes funções Microsoft Entra ID:
- Administrador Global
- Administrador de aplicativos
- Administrador de aplicativos na nuvem
- Função de Proprietário ou Administrador de Acesso ao Utilizador no recurso GeoCatalog
- Azure CLI instalado e configurado - instalar o Azure CLI
- Informação do seu parceiro:
- ID da Aplicação do Parceiro (cliente)
- URI de redirecionamento configurado no registo da aplicação do parceiro (Opcional)
Visão geral
Autorizar uma candidatura parceira envolve três passos principais:
- Crie um principal de serviço para a candidatura do sócio ao seu inquilino
- Conceder consentimento administrativo aos pedidos de autorização da candidatura
- Atribuir funções do GeoCatálogo ao principal do serviço
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]
Crie um principal de serviço para a aplicação parceira
Um principal de serviço é a representação de uma aplicação no seu tenant Microsoft Entra. Criar um principal de serviço para o ID da aplicação do parceiro estabelece a identidade à qual pode depois conceder permissões.
Iniciar sessão no Azure CLI com uma conta que tenha permissões de Administrador de Aplicações:
az login --tenant <your-tenant-id>Verifique se está autenticado na entidade correta:
az account show --query "{TenantId:tenantId, User:user.name}" -o tableVerifique se já existe um principal de serviço para a candidatura parceira:
az ad sp list --filter "appId eq '<partner-application-id>'" --query "[0].id" -o tsvSe este comando devolver um ID de objeto, o principal de serviço já existe. Salta para a secção seguinte.
Crie o principal do 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", ... }Guarde o valor de
iddo principal de serviço (ID do objeto) para utilização 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"
Conceda consentimento administrativo à candidatura ao parceiro
O consentimento do administrador autoriza a aplicação parceira a usar as permissões solicitadas. Este passo é obrigatório antes de a aplicação poder autenticar-se com o seu inquilino. O seu parceiro deve fornecer um link para realizar a ação solicitada como parte do processo de integração na aplicação.
Observação
Pode, opcionalmente, construir este URL por si mesmo:
Construa o URL de consentimento do administrador usando o seu ID de inquilino e o ID da aplicação 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 um dos URIs configurados no registo da aplicação do parceiro. Confirma o URI correto com o teu parceiro.
Abra o URL num navegador web e inicie sessão com uma conta de Administrador Global ou Administrador de Aplicações.
Revise as permissões solicitadas e selecione Aceitar para conceder o consentimento.
Depois de concedido o consentimento, és redirecionado para o URI de redirecionamento especificado. Podes fechar esta janela do navegador.
Verifique se o consentimento do administrador foi concedido verificando as permissões do principal do 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 o
valuearray estiver vazio, o consentimento do administrador ainda não foi concedido.
Alternativa: conceder consentimento via Azure Portal
Também pode conceder consentimento de administrador através do centro de administração Microsoft Entra:
- Inicie sessão no Centro de administração do Microsoft Entra.
- Navegar para Identidade>Aplicações>Aplicações Empresariais
- Selecione o filtro de Tipo de Aplicação e defina o valor "Todas as Aplicações"
- Encontre a candidatura parceira usando a barra de pesquisa para inserir o nome ou ID da candidatura. Selecione a aplicação parceira da lista filtrada.
- Selecionar permissões de segurança> na barra lateral esquerda
- Selecione Conceder consentimento administrativo para [o seu inquilino]
- Rever e aceitar as permissões
Atribuir o papel apropriado no GeoCatálogo
O principal de serviço para o seu fornecedor de dados ou serviços precisa da função adequada para interagir com os recursos do GeoCatalog. Atribua o papel de Leitor do GeoCatálogo a aplicações que só precisam de acesso de leitura ao seu GeoCatálogo. Atribua o papel de Administrador do GeoCatálogo a aplicações que precisam de criar coleções, ingerir dados e gerir itens no seu GeoCatálogo.
Observação
A funcionalidade de integração de aplicações parceiras está atualmente em pré-visualização e não suporta um papel específico e limitado de acesso para parceiros de dados ou de serviços. Por esta razão, recomenda-se durante o período de pré-visualização que os clientes criem um recurso GeoCatalog dedicado a um parceiro específico para evitar o acesso a outros dados privados da organização.
Obtenha o ID do seu 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 tem acesso:
az resource show --ids $GEOCATALOG_RESOURCE_ID --query "{Name:name, Location:location, Type:type}" -o tableEncontre 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ções:
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/...", ... }