Migrar aplicativos multicliente para o modelo de perfis da entidade de serviço
Este artigo descreve como você pode obter melhor escalabilidade migrando seus aplicativos multicliente de análise incorporada do Power BI para o modelo de perfis de entidade de serviço.
Os perfis da entidade de serviço facilitam o gerenciamento de conteúdo organizacional no Power BI e o uso de suas capacidades com mais eficiência.
Nota
Este artigo destina-se a organizações que já têm uma aplicação que suporta vários clientes de um único inquilino do Power BI.
Nem todos os aplicativos se beneficiam do modelo de entidade de serviço. Por exemplo, os seguintes aplicativos não devem migrar:
- Pequenos aplicativos que mantêm uma entidade de serviço com um pequeno número de objetos.
- Aplicativos que usam uma entidade de serviço múltipla por cliente
Pré-requisitos
É importante ler sobre os perfis da entidade de serviço antes de iniciar a migração.
Você também precisa fazer as seguintes etapas:
- Configure a entidade de serviço seguindo as três primeiras etapas de Incorporar conteúdo do Power BI com a entidade de serviço.
- A partir de uma conta de administrador de locatário do Power BI, habilite a criação de perfis no locatário.
Migrar para perfis de entidade de serviço
A migração para perfis de entidade de serviço envolve as seguintes etapas:
- Crie perfis, um perfil por cliente.
- Organize seus espaços de trabalho.
- Altere o código do aplicativo para usar perfis.
- Teste seu aplicativo com o modelo de perfis.
- Limpe permissões redundantes.
Criar perfis (obrigatório)
Use a API REST de perfis com a entidade de serviço criada para criar um perfil para cada cliente.
É uma boa ideia salvar um mapeamento de cada ID de cliente de dados com seu ID de perfil correspondente em seu banco de dados. Você precisará desse mapeamento mais tarde para fazer chamadas de API com o perfil do locatário.
Organize seus espaços de trabalho
A maneira mais fácil de gerenciar seus dados é mantendo um espaço de trabalho por cliente. Se seu aplicativo já usa esse modelo, você não precisa criar novos espaços de trabalho. No entanto, você ainda precisa fornecer a cada perfil acesso de administrador ao espaço de trabalho correspondente usando a API Adicionar Usuário de Grupo.
Se você não tiver um espaço de trabalho por cliente, use o perfil correspondente para chamar Criar API de Usuário de Grupo para criar um novo espaço de trabalho para cada cliente.
Organizar itens em espaços de trabalho
Agora você deve ter um perfil e um espaço de trabalho para cada cliente. Se você criou novos espaços de trabalho na etapa anterior, precisará importar itens (como relatórios e modelos semânticos) para esses espaços de trabalho. Os modelos semânticos importados dependem da sua solução atual:
Se seu aplicativo usa um modelo semântico separado para cada cliente, o design do modelo semântico pode funcionar como está.
Se seu aplicativo usa um modelo semântico com RLS (segurança em nível de linha) para fornecer dados diferentes a clientes diferentes, você pode obter melhor escalabilidade criando um modelo semântico separado para cada cliente e usando perfis conforme descrito neste artigo.
Depois de superar as limitações de escalabilidade usando perfis e fontes de dados separadas, você pode obter ainda mais separação de dados usando RLS com perfis.
- Se você confiar no Dynamic RLS, o nome do perfil será retornado na função
UserName()
DAX. - Se você usar RLS estática e substituir funções ao gerar o token de incorporação, poderá continuar fazendo isso.
- Se você confiar no Dynamic RLS, o nome do perfil será retornado na função
Quando os itens estiverem prontos, importe-os para os espaços de trabalho relevantes. Para automatizar o processo, considere usar a API de importação.
Alterar os códigos de aplicativo para usar perfis
Depois de ter perfis com acesso de administrador aos espaços de trabalho relevantes e um banco de dados com mapeamento que mostra qual perfil representa qual cliente, você pode fazer as alterações de código necessárias. Recomendamos que você mantenha dois fluxos de código lado a lado e exponha gradualmente o fluxo de código de perfis para seus clientes.
Faça as seguintes alterações de código:
Alteração do código de autorização
- Se você estiver usando um usuário mestre no aplicativo Microsoft Entra ID, altere o código do token de aquisição. Leia incorporar com entidade de serviço para saber como criar um token Microsoft Entra somente para aplicativo.
- Se você estiver usando uma entidade de serviço e tiver criado uma nova para perfis, ajuste o código para usar a ID da entidade de serviço e os segredos corretos.
Alteração do código de gerenciamento
Alguns aplicativos têm código de gerenciamento que automatiza a integração de um novo cliente após o registro. Muitas vezes, o código de gerenciamento usa APIs REST do Power BI para criar espaços de trabalho e importar conteúdo. A maior parte desse código deve permanecer a mesma, mas talvez seja necessário adaptar os seguintes detalhes:
- Cada vez que você criar um novo locatário cliente, crie um novo perfil de serviço para ser o criador e administrador do espaço de trabalho para esse locatário.
- Se você decidir reorganizar seu conteúdo do Power BI, edite o código para refletir as alterações.
Incorporar alteração de código de token
Substitua o chamador da API. Certifique-se de que um perfil chame a API GenerateToken porque, no modelo de perfis, apenas o perfil específico tem acesso ao conteúdo do cliente.
Validar
É uma prática recomendada testar seu aplicativo completamente antes de movê-lo para o modelo de perfis. Os relatórios podem ser carregados mesmo se houver bugs no código do aplicativo SaaS porque você não excluiu as permissões mais antigas nos espaços de trabalho.
Efetuar a limpeza após a migração
Agora que você concluiu a migração e validou os resultados, remova o que não precisa mais.
- Limpar código: talvez você queira desabilitar caminhos de código antigos para garantir que esteja executando apenas um novo código que depende de perfis.
- Limpar espaços de trabalho e permissões no Power BI: se você criou novos espaços de trabalho, poderá excluir os espaços de trabalho antigos que não estão mais em uso. Se você reutilizou os mesmos espaços de trabalho, convém excluir as permissões mais antigas (como permissões de usuário mestre) no espaço de trabalho.
Conteúdos relacionados
Gerenciar perfis da entidade de serviço
Tem dúvidas? Tente perguntar à Comunidade do Power BI