Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A identidade gerida do Power Platform permite que plug-ins ou pacotes de plug-ins do Dataverse se conectem aos recursos do Azure para suportar identidade gerida sem a necessidade de credenciais. Este artigo ajuda a configurar a identidade gerida nos seus ambientes do Power Platform.
Pré-requisitos
- Uma subscrição do Azure com acesso ao aprovisionamento da identidade gerida atribuída pelo utilizador (UAMI) ou registo de aplicação.
- Ferramentas para plug-ins ou pacotes de plug-in:
- Ambiente de Desenvolvimento Integrado (IDE), como o Visual Studio, para criar plug-ins
- Ferramenta de registo de plug-ins
- SignTool.exe (Ferramenta de Assinatura) para assinar a assemblagem do plug-in
- Power Platform CLI
- Um certificado válido para assinar a assemblagem do plug-in.
Configurar a identidade gerida
Para configurar a identidade gerida do Power Platform para plug-ins do Dataverse ou pacotes de plug-ins, conclua os seguintes passos.
- Crie um novo registo de aplicação ou uma identidade gerida atribuída pelo utilizador.
- Configure credenciais de identidade federada.
- Criar e registar plug-ins do Dataverse ou pacotes de plug-ins.
Certifique-se de compilar o módulo do plug-in e de registar o plug-in ou o pacote de plug-ins. - Crie um registro de identidade gerenciado no Dataverse.
- Conceda acesso aos recursos do Azure ao aplicativo ou à identidade gerenciada atribuída pelo usuário (UAMI).
- Valide a integração do plug-in.
Crie um novo registo de aplicação ou uma identidade gerida atribuída pelo utilizador
Você pode criar uma identidade gerenciada atribuída pelo usuário ou um aplicativo no Microsoft Entra ID com base nos seguintes cenários.
- Se quiser uma identidade de aplicação associada ao plug-in que se liga aos recursos do Azure, como o Azure Key Vault, use o registo da aplicação. Com a identidade da aplicação, pode aplicar políticas do Azure no plug-in ao aceder aos recursos do Azure.
- Se quiser que um principal de serviço aceda aos recursos do Azure, como o Azure Key Vault, pode provisionar identidade gerida atribuída pelo utilizador.
Nota
Certifica-te de registar os IDs seguintes, à medida que os vais usar nas etapas seguintes.
- ID da aplicação (cliente)
- ID do Inquilino
Configure credenciais de identidade federada
Para configurar a identidade gerida, abra a identidade gerida atribuída pelo utilizador ou a aplicação Microsoft Entra ID no portal do Azure que criou na secção anterior.
- Aceda ao portal do Azure.
- Navegue para o Microsoft Entra ID.
- Selecione Registos de aplicações.
- Abra a aplicação que criou em Configurar identidade gerida.
- Navegue para Certificados e segredos.
- Selecione a guia Credenciais federadas e selecione Adicionar credencial.
- Selecione emissor como Outro emissor.
- Introduza as informações seguintes:
Issuer
Utilize o emissor v2.0 do inquilino:
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
Tipo
Escolha Identificador de assunto explícito.
Identificador do sujeito
Escolha o formato que corresponde ao seu tipo de certificado:
Certificado autoassinado (apenas para desenvolvimento):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Certificado de emissor confiável (recomendado para produção):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Referência do segmento
| Segmento | Description |
|---|---|
| EID1 | Versão do formato de identidade |
| c/pub | Código de nuvem para nuvem pública, Nuvem da Comunidade Governamental (GCC) e primeira estação de versão no GCC. |
| t/{encodedTenantId} | ID do Inquilino |
| a/qzXoWDkuqUa3l6zM5m0Rw/ | Apenas para uso interno. Não modifiques. |
| n/plugin | Componente de extensão |
| e/{environmentId} | ID do Ambiente |
| h/{hash} | SHA-256 do certificado (apenas certificado autoassinado) |
| i/{emissor} s/{certificateSubject} |
Detalhes do emissor de confiança |
Gerar certificado auto-assinado
Cada plug-in deve ter uma identidade verificável, e o certificado de assinatura atua como a impressão digital única do plug-in. O código seguinte é um exemplo de excerto PowerShell que pode usar para gerar um certificado autoassinado para cenários de desenvolvimento ou testes. Para referência, podes seguir o exemplo 3.
$params = @{
Type = 'Custom'
Subject = 'E=admin@contoso.com,CN=Contoso'
TextExtension = @(
'2.5.29.37={text}1.3.6.1.5.5.7.3.4',
'2.5.29.17={text}email=admin@contoso.com' )
KeyAlgorithm = 'RSA'
KeyLength = 2048
SmimeCapabilities = $true
CertStoreLocation = 'Cert:\CurrentUser\My'
}
New-SelfSignedCertificate @params
Nota
Codificação para {encodedTenantId}
- Converter GUID → Hex.
- Converta Hex → Base64URL (não Base64 padrão).
Hash autoassinado
- Calcular SHA-256 para o .cer. Se você tiver um .pfx, exporte um .cer primeiro:
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Ambientes de nuvem especializados do Azure
Defina Audiência, URL do Emissor e Prefixo do Assunto explicitamente ao implementar fora da nuvem pública, GCC e a primeira estação de lançamento no GCC:
| Nuvem | Audiência | URL do emissor | Prefixo do assunto |
|---|---|---|---|
| GCC High e DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Bolo da lua (China) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| Nacional dos EUA (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| Segurança dos EUA (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Nota
O valor Audiência é sensível às maiúsculas e minúsculas e deve corresponder exatamente.
Para nuvem pública, GCC e estação de primeira versão no GCC (e outras nuvens não listadas), os padrões são:
Público-alvo api://AzureADTokenExchange, Emissor https://login.microsoftonline.com, Prefixo /eid1/c/pubdo assunto .
Criar e registrar plug-ins ou pacotes de plug-ins Dataverse
Criar assemblagem de plug-in
Criar um plug-in com o Visual Studio. Ao criar o plug-in, use o ID do inquilino de Criar um novo registo de aplicação ou identidade gerida atribuída pelo utilizador e os âmbitos como o URL da organização, como
https://{OrgName}.crm*.dynamics.com/.defaultou até mesmo âmbitos mais granulares.Use IManagedIdentityService e adquira um método de token para pedir um token com determinado âmbito.
Assinatura do método:
string AcquireToken(IEnumerable<string> scopes);
Embalagem e assinatura
Assinar um pacote plug-in
Se estiveres a construir um pacote plug-in, usa a CLI NuGet Sign para gerar um pacote a partir de um ficheiro .nuspec ou .csproj. Depois de gerar o pacote, assine-o com o seu certificado.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Assinar uma assemblagem de plug-in
Se estiver a registar um plug-in (assembly), assine a DLL com um certificado usando o SignTool.exe (Sign Tool).
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
Pode, opcionalmente, adicionar carimbo temporal fornecendo o URL de um servidor de carimbo de hora compatível com a RFC 3161.
Nota
Use um certificado auto-assinado apenas para fins de desenvolvimento ou testes. Não uses certificados auto-assinados em ambientes de produção.
Registar o plug-in
Instale a ferramenta de registo do plug-in se ainda não a tiver no seu computador. Para mais informações, consulte Ferramentas de desenvolvimento do Dataverse.
Registar o plug-in. Para mais informações, consulte Registar plug-in.
Crie um registo de identidade gerida no Dataverse
Para provisionar um registo de identidade gerida no Dataverse, complete os seguintes passos.
Crie uma identidade gerida enviando um pedido HTTP POST com um cliente REST (como o Insomnia). Use um URL e o corpo do pedido no seguinte formato.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesCertifique-se de que substitui orgURL pelo URL da organização.
Verifique se credentialsource está definido como 2 na carga útil, subjectscope está definido como 1 para cenários específicos do ambiente e version está definido como 1 na payload.
Amostra de carga útil
{ "applicationid": "<<appId>>", //Application Id, or ClientId, or User Managed Identity "managedidentityid": "<<anyGuid>>", "credentialsource": 2, // Managed client "subjectscope": 1, //Environment Scope "tenantid": "<<tenantId>>", //Entra Tenant Id "version": 1 }Atualize o seu pacote de plug-ins ou registo de assemblagem de plug-ins emitindo um pedido HTTP PATCH para o associar à identidade gerida criada no passo 1.
Assemblagem de plug-in
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Pacote de plugins
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Amostra de carga útil
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }Certifique-se de substituir orgURL,PluginAssemblyId (ou PluginPackageId) e ManagedIdentityGuid pelos seus valores.
Conceda acesso aos recursos do Azure à aplicação ou à identidade gerida atribuída pelo utilizador
Se você precisar conceder acesso a uma ID de aplicativo para acessar recursos do Azure, como o Cofre da Chave do Azure, conceda acesso ao aplicativo ou à identidade gerenciada atribuída pelo usuário a esse recurso.
Valide a integração do plug-in
Verifique se o plug-in pode pedir acesso com segurança aos recursos do Azure que suportam a identidade gerida, eliminando a necessidade de credenciais separadas.
Perguntas mais frequentes (FAQ)
Como resolvo este erro?
Se você receber o seguinte erro:
Erro – Um problema de configuração está impedindo a autenticação.
AADSTS700213: Nenhum registro de identidade federada correspondente encontrado
Conclua as seguintes etapas para resolver o problema:
Verifique se o FIC está configurado e salvo corretamente.
Verifique se o emissor/sujeito corresponde ao formato especificado anteriormente.
Você também pode encontrar o formato esperado na pilha de erros.
Como resolvo o erro "Não é possível alcançar ou conectar-se à Power Platform"?
Consulte os URL e intervalos de endereços IP do Power Platform para garantir que os endpoints do Power Platform são acessíveis e estão nas listas de permissões.