For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tenancy dividida

Visão geral

O SCEPman pode ser configurado para funcionar a partir de um tenant do Azure separado do tenant do Azure/Intune para o qual emite certificados para utilizadores e/ou dispositivos. Esta configuração, conhecida como tenancy dividida, é especialmente útil para MSPs que gostariam de consolidar os custos da infraestrutura do Azure entre os seus clientes, mantendo um backend dedicado e uma CA única para cada um desses clientes.

A tenancy dividida vem com uma grande desvantagem: Identidades gerenciadas já não pode ser usado. Isto significa que a autenticação contra a Graph API (Azure AD e Intune) é feita usando um registo de app e um segredo de cliente, que tem de ser gerido (pelo MSP) à medida que expira.

A seguir, referimo-nos ao tenant de alojamento como home tenant, enquanto ao tenant do cliente como target tenant. Os recursos do SCEPman existirão no home tenant, e os dispositivos geridos no target tenant como no gráfico abaixo:

Passos de configuração

  1. Na home tenant, faça uma implementação padrão do SCEPman/Certificate Master conforme descrito no nosso Getting Started Guide.

No SCEPman (Home Tenant)

  1. Navegue até ao SCEPman App Service e depois para "Settings" --> "Environment variables". Localize os seguintes parâmetros e elimine os:

Variáveis de ambiente

AppConfig:AuthConfig:ManagedIdentityEnabledForWebsiteHostname

AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime

AppConfig:AuthConfig:ManagedIdentityPermissionLevel

  1. Renomeie as seguintes definições (não altere os respetivos valores):

Nome original
Novo nome

AppConfig:AuthConfig:ApplicationId

AppConfig:AuthConfig:HomeApplicationId

AppConfig:AuthConfig:TenantId

AppConfig:AuthConfig:HomeTenantId

  1. Crie um App registration no target tenant como descrito aqui: Azure App Registration. Isto App registration permitirá ao SCEPman aceder aos diretórios Azure AD e Intune no target tenant.

Criar as seguintes novas variáveis de ambiente, se ainda não o tiver feito durante a criação do registo da app:

Nome
Valor

AppConfig:AuthConfig:ApplicationId

GUID do App registration que foi criado antes (target tenant).

AppConfig:AuthConfig:TenantId

ID do Tenant do target tenant.

AppConfig:AuthConfig:ApplicationKey

Valor da Segredo de cliente que foi criado como parte do App registration no target tenant.

  1. Aplique as alterações.

  2. Reinicie o SCEPman App Service.

Certificate Master

  1. Navegue até ao Certificate Master App Service e depois para "Settings" > "Environment variables".

  2. Agora tem duas opções:

    1. Se quiser que utilizadores do seu home tenant façam início de sessão no Certificate Master e emitem certificados, o que inclui utilizadores convidados no seu home tenant, por exemplo, do seu target tenant.

Opção 1: Utilizadores do Home Tenant fazem início de sessão no Certificate Master

Se for esse o caso, renomeie as seguintes definições (não altere os respetivos valores):

Nome original
Novo nome

AppConfig:AuthConfig:TenantId

AppConfig:AuthConfig:HomeTenantId

AppConfig:AuthConfig:ApplicationId

AppConfig:AuthConfig:HomeApplicationId

b. Quer que utilizadores do seu target tenant façam início de sessão no Certificate Master e emitem certificados, o que inclui utilizadores convidados no seu target tenant, por exemplo, do seu home tenant.

Opção 2: Utilizadores do Target Tenant fazem início de sessão no Certificate Master

Se for esse o caso, faça o seguinte:

  • Abra uma sessão de PowerShell ou Azure Cloud Shell no seu target tenant e execute os seguintes comandos:

Substitua <url> com o URL do seu Certificate Master

  • O CMDlet irá produzir um Application Id e um Tenant Id (o do target tenant). Introduza estes dois valores como

    • AppConfig:AuthConfig:HomeApplicationId e

    • AppConfig:AuthConfig:HomeTenantId nas definições do seu Certificate Master.

  • Agora crie as seguintes novas definições de aplicação, possivelmente substituindo as existentes, com os mesmos valores que no SCEPman:

Nome
Valor

AppConfig:AuthConfig:ApplicationId

GUID do App registration que foi criado antes.

AppConfig:AuthConfig:TenantId

ID do Tenant do target tenant.

AppConfig:AuthConfig:ApplicationKey

Valor da Segredo de cliente que foi criado como parte do App registration antes. Pode criar um novo Client secret separado para o Certificate Master, se quiser.

  1. Guarde as alterações

  2. Reinicie o SCEPman Certificate Master App Service.

  3. Conceda os direitos para solicitar certificados através da Certificate Master aplicação web, veja aqui

Como visão geral, aqui estão as contas usadas por Certificate Master e para que são usadas:

Conta
Para que é usada?
Notas

Identidade Gerida

  • Autorizar CSRs submetidos ao SCEPman

  • Acesso ao Storage Account

N/A

Registo de app com App ID de ApplicationId

O Certificate Master acede ao Microsoft Graph neste contexto para ver que certificados foram inscritos via Intune

Se ApplicationKey não estiver presente, é usada em seu lugar a Identidade Gerida.

Registo de app com App ID de HomeApplicationId

Os utilizadores autenticam para esta aplicação. Deve estar no tenant onde residem os utilizadores que acedem ao Certificate Master (mas utilizadores convidados de outros tenants também podem ser autorizados)

Se HomeApplicationId não estiver presente, ApplicationId é usado em seu lugar.

Agora a configuração de Split-Tenancy está concluída; pode prosseguir e configurar os seus perfis SCEP com base no seu MDM, veja aqui

Considerações quando existem vários target tenants

Se quiser ter várias instâncias do SCEPman para emitir certificados para diferentes target tenants, terá de tomar medidas de configuração adicionais para isolar estas instâncias umas das outras.

Um conceito possível poderia incluir um grupo de recursos de gestão que contenha um único App Service Plan que fornecerá o recurso de computação para todos os seus SCEPman App Services. Os seguintes pontos devem ser tidos em consideração ao fazer isto para vários tenants:

  • Cada instância deve ter o seu próprio grupo de recursos para as distinguir

  • Deve criar App Registrations para cada instância para isolar as permissões

  • O App Service Plan deve ser criado num grupo de recursos de gestão independente, uma vez que serve várias instâncias

Neste diagrama, um tenant de gestão e as suas duas instâncias SCEPman fornecem certificados aos tenants da Contoso e da Tailwind:

Unexpected error with integration mermaid: Integration is not installed on this space

Adicionar uma nova instância SCEPman a um App Service Plan existente

Ao implementar uma nova instância SCEPman usando o método de implementação empresarial é-lhe oferecida a possibilidade de introduzir o ID do recurso de um App Service Plan existente ao qual esta instância deve ser adicionada.

Este ID do recurso pode ser encontrado nas propriedades do App Service Plan existente:

Criar App Registrations específicas para o cliente

Para isolar as permissões das apps, terá de ajustar o comando de pós-implementação para especificar App Registrations personalizadas:

Este comando resultará numa instância do SCEPman totalmente configurada que está isolada das instâncias anteriores. Pode agora continuar a configurar a tenancy dividida para esta instância.

A secção acima relativa ao Certificate Master pode agora ser aplicada opcionalmente se quiser que este serviço esteja acessível a partir do tenant do cliente.

Última atualização

Isto foi útil?