Integrar um cliente para Azure Lighthouse

Este artigo explica como você, como provedor de serviços, pode integrar um cliente para Azure Lighthouse. Quando você faz isso, os recursos delegados (assinaturas e/ou grupos de recursos) no locatário Microsoft Entra do cliente podem ser gerenciados pelos usuários no seu locatário por meio do gerenciamento de recursos delegados do Azure.

Dica

Embora nos refiramos a provedores de serviços e clientes neste tópico, enterprises gerenciando vários locatários podem usar o mesmo processo para configurar Azure Lighthouse e consolidar sua experiência de gerenciamento.

Você pode repetir o processo de integração para vários clientes. Quando um usuário autorizado entra no seu locatário de gerenciamento, ele é autorizado a executar operações de gerenciamento nos escopos de locação do cliente sem precisar entrar em cada locatário individual.

Observação

Como alternativa, os clientes podem ser incorporados ao Azure Lighthouse quando compram uma oferta de Serviço Gerenciado (pública ou privada) que você publicar no Microsoft Marketplace. Você também pode usar o processo de integração descrito aqui em conjunto com ofertas publicadas no Microsoft Marketplace.

O processo de integração requer que as ações sejam executadas dentro do locatário do provedor de serviços e do locatário do cliente. Todas essas etapas são descritas neste artigo.

Reunir detalhes do locatário e da assinatura

Para integrar o locatário de um cliente, ele deve ter uma assinatura ativa do Azure. Ao criar um modelo manualmente, você precisará saber o seguinte:

  • A ID do locatário do provedor de serviços (em que você gerenciará os recursos do cliente).
  • A ID do locatário do cliente (cujos recursos serão gerenciados pelo provedor de serviços).
  • As IDs de cada assinatura específica no locatário do cliente que serão gerenciadas pelo provedor de serviços (ou que contém os grupos de recursos que o provedor de serviços vai gerenciar).

Se você não souber a ID de um locatário, poderá recuperá-la usando o portal Azure, Azure PowerShell ou CLI do Azure.

Se você criar seu modelo no portal Azure, sua ID de locatário será fornecida automaticamente. Você não precisa saber os detalhes do locatário ou da assinatura do cliente para criar seu modelo no portal do Azure. No entanto, se você planeja integrar um ou mais grupos de recursos no locatário do cliente (em vez de toda a assinatura), precisará saber os nomes de cada grupo de recursos.

Definir funções e permissões do administrador

Como provedor de serviços, talvez você queira executar várias tarefas para um único cliente, o que exige acesso diferente para escopos diferentes. Você pode definir quantas autorizações forem necessárias para atribuir as funções internas Azure apropriadas. Cada autorização inclui um principalId que se refere a um usuário, grupo ou entidade de serviço do Microsoft Entra no locatário de gerenciamento.

Observação

A menos que especificado explicitamente, as referências a um "usuário" na documentação do Azure Lighthouse podem ser aplicadas a um usuário, grupo ou principal de serviço do Microsoft Entra em uma autorização.

Para definir autorizações no modelo, você precisará incluir os valores de ID de cada usuário, grupo de usuários ou entidade de serviço no locatário de gerenciamento para o qual você quer conceder acesso. Você também precisará incluir a ID de definição de função para cada função interna que deseja atribuir. Quando você criar seu modelo no portal Azure, você pode selecionar a conta de usuário e a função e esses valores de ID serão adicionados automaticamente. Se você estiver criando um modelo manualmente, poderá recuperar IDs de usuário usando o portal Azure, Azure PowerShell ou CLI do Azure de dentro do locatário de gerenciamento.

Dica

É recomendável atribuir a Função de Exclusão da Atribuição de Registro de Serviços Gerenciados ao integrar um cliente, assim os usuários em seu locatário podem remover o acesso à delegação mais tarde, se necessário. Se essa função não for atribuída, os recursos delegados só poderão ser removidos por um usuário no locatário do cliente.

Sempre que possível, recomendamos usar Microsoft Entra grupos de usuários para cada atribuição sempre que possível, em vez de usuários individuais. Isso oferece a flexibilidade de adicionar ou remover usuários individuais do grupo que tem acesso, para que não seja preciso repetir o processo de integração ao fazer alterações de usuário. Você também pode atribuir funções a uma entidade de serviço, o que pode ser útil para cenários de automação.

Importante

Para adicionar permissões para um grupo de Microsoft Entra, o tipo Group deve ser definido como Security. Essa opção é selecionada quando o grupo é criado. Para obter mais informações, consulte Saiba mais sobre tipos de grupo, tipos de associação e gerenciamento de acesso.

Ao definir suas autorizações, siga o princípio de privilégios mínimos para que os usuários tenham apenas as permissões necessárias para concluir seu trabalho. Para saber mais e obter recomendações sobre as funções compatíveis, consulte Locatários, usuários e funções em cenários do Azure Lighthouse.

Dica

Você também pode criar autorizações qualificadas que permitem que os usuários no locatário de gerenciamento elevem temporariamente a função. Este recurso possui requisitos de licenciamento específicos. Para obter mais informações, confira Criar as autorizações qualificadas.

Para acompanhar seu impacto em seus envolvimentos com os clientes e receber reconhecimento, associe seu ID do Microsoft Cloud Partner Program a pelo menos uma conta de usuário que tenha acesso a cada uma de suas assinaturas que você integrou. Essa associação deve ser feita locatário de seu provedor de serviços. Recomenda-se criar uma conta de entidade de serviço no locatário associada ao ID do parceiro e, em seguida, incluir essa entidade a cada integração de cliente. Para obter mais informações, consulte Vincular uma ID de parceiro.

Criar um modelo de Azure Resource Manager

Para integrar seu cliente, você precisará criar um modelo Azure Resource Manager para sua oferta com as informações a seguir. Os valores mspOfferName e mspOfferDescription estarão visíveis para o cliente na página Service providers do portal Azure depois que o modelo for implantado no locatário do cliente.

Campo Definição
mspOfferName Um nome que descreve essa definição. Esse valor é exibido ao cliente como o título da oferta e deve ser exclusivo.
mspOfferDescription Uma breve descrição da sua oferta (por exemplo, "oferta de gerenciamento de VM da Contoso"). Esse campo é opcional, mas recomendado para que os clientes tenham uma compreensão clara da sua oferta.
managedByTenantId ID do locatário.
authorizations Os valores de principalId dos usuários/grupos/SPNs do seu locatário, cada um com um principalIdDisplayName para ajudar seu cliente a entender a finalidade da autorização, mapeados no valor interno de roleDefinitionId para especificar o nível de acesso.

Você pode criar esse modelo no portal Azure ou modificando manualmente os modelos fornecidos em nosso repositório samples.

Importante

O processo descrito aqui requer uma implantação distinta para cada assinatura integrada, mesmo quando elas estão sendo integradas ao mesmo locatário do cliente. Também serão necessárias implantações separadas se você estiver integrando vários grupos de recursos em assinaturas diferentes no mesmo locatário do cliente. No entanto, a integração de múltiplos grupos de recursos em uma única assinatura pode ser feita em uma implantação.

Implantações separadas também são necessárias para várias ofertas que estão sendo aplicadas à mesma assinatura (ou grupos de recursos dentro de uma assinatura). Cada oferta aplicada deve usar um mspOfferName diferente.

Criar seu modelo no portal Azure

Para criar seu modelo no portal Azure, acesse My customers e selecione Create ARM Template na página de visão geral.

Na página Criar oferta de modelo ARM, forneça seu Nome e uma Descriçãoopcional. Esses valores serão usados para mspOfferName e mspOfferDescription em seu modelo e podem estar visíveis para o cliente. O valor managedByTenantId será fornecido automaticamente, com base no locatário do Microsoft Entra no qual você está conectado.

Em seguida, selecione Assinatura ou Grupo de recursos, dependendo do escopo do cliente que você deseja integrar. Se você selecionar Grupo de recursos, precisará fornecer o nome do grupo de recursos para integração. Você pode selecionar o ícone + para adicionar grupos de recursos adicionais na mesma assinatura, se necessário. (Para integrar grupos de recursos adicionais em uma assinatura diferente, você deve criar e implantar um modelo separado para essa assinatura.)

Por fim, crie suas autorizações selecionando + Adicionar autorização. Para cada uma de suas autorizações, forneça os seguintes detalhes:

  1. Selecione o Tipo de entidade de segurança dependendo do tipo de conta que você deseja incluir na autorização. Pode serUsuário, Grupo ou Entidade de serviço. Neste exemplo, escolheremos Usuário.
  2. Selecione o link + Selecionar usuário para abrir o painel de seleção. Você pode usar o campo de pesquisa para localizar o usuário que deseja adicionar. Depois de fazer isso, clique em Selecionar. A ID da entidade de segurança do usuário será populada automaticamente.
  3. Examine o campo Nome de exibição (populado com base no usuário selecionado) e faça as alterações, se desejar.
  4. Selecione a Função para atribuir ao usuário.
  5. Para tipo de acesso, selecione permanente ou qualificado. Se você escolher qualificado, será necessário especificar as opções de duração máxima, autenticação multifator e se a aprovação é necessária ou não. Para obter mais informações sobre essas opções, confira Criar autorizações qualificadas. O recurso de autorizações qualificadas não pode ser usado com entidades de serviço.
  6. Selecione Adicionar para criar sua autorização.

Captura de tela da seção Adicionar autorização no portal Azure.

Depois de selecionar Adicionar, você retornará à tela Criar modelo do ARM. Você pode selecionar + Adicionar autorização novamente para adicionar quantas autorizações forem necessárias.

Quando tiver adicionado todas as suas autorizações, selecione Exibir modelo. Nesta tela, você verá um arquivo .json que corresponde aos valores inseridos. Selecione Baixar para salvar uma cópia desse arquivo .json. Esse modelo pode ser implantado no locatário do cliente. Você também poderá editá-lo manualmente se precisar fazer alterações.

Importante

O arquivo de modelo gerado não é armazenado no portal do Azure. Certifique-se de baixar uma cópia antes de navegar para longe da tela Mostrar modelo.

Criar seu modelo manualmente

Você pode criar seu modelo usando um modelo de Azure Resource Manager (fornecido em nosso repositório samples) e um arquivo de parâmetro correspondente que você modifica para corresponder à sua configuração e definir suas autorizações. Se preferir, você poderá incluir todas as informações diretamente no modelo, em vez de usar um arquivo de parâmetro separado.

O modelo escolhido dependerá se você está integrando uma assinatura inteira, um grupo de recursos ou múltiplos grupos de recursos em uma assinatura. Também fornecemos um modelo que pode ser usado para clientes que compraram uma oferta de serviço gerenciado que você publicou no Microsoft Marketplace, se preferir integrar suas assinaturas dessa maneira.

Para fazer essa integração Usar este modelo de Azure Resource Manager e altere esse arquivo de parâmetros
Subscrição subscription.json subscription.parameters.json
Grupo de recursos rg.json rg.parameters.json
Múltiplos grupos de recursos em uma assinatura multi-rg.json multiple-rg.parameters.json
Assinatura (ao usar uma oferta publicada no Microsoft Marketplace) marketplaceDelegatedResourceManagement.json marketplaceDelegatedResourceManagement.parameters.json

Se você quiser incluir autorizações elegíveis, selecione o modelo correspondente na seção autorização-elegível-para-gerenciamento-de-recurso-delegado do nosso repositório de amostras.

Dica

Embora não seja possível integrar um grupo de gerenciamento inteiro em uma implantação, você pode implantar uma política para integrar cada assinatura em grupo de gerenciamento. Em seguida, você terá acesso a todas as assinaturas no grupo de gerenciamento, embora precise trabalhar nelas como assinaturas individuais (em vez de realizar diretamente ações no grupo de gerenciamento como um todo).

O exemplo a seguir mostra um arquivo subscription.parameters.json modificado que pode ser usado para integrar uma assinatura. Os arquivos de parâmetro do grupo de recursos (localizados na pasta rg-delegated-resource-management) têm um formato semelhante, mas também incluem um parâmetro rgName para identificar os grupos de recursos específicos a serem integrados.

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "mspOfferName": {
            "value": "Fabrikam Managed Services - Interstellar"
        },
        "mspOfferDescription": {
            "value": "Fabrikam Managed Services - Interstellar"
        },
        "managedByTenantId": {
            "value": "00000000-0000-0000-0000-000000000000"
        },
        "authorizations": {
            "value": [
                {
                    "principalId": "00000000-0000-0000-0000-000000000000",
                    "principalIdDisplayName": "Tier 1 Support",
                    "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
                },
                {
                    "principalId": "00000000-0000-0000-0000-000000000000",
                    "principalIdDisplayName": "Tier 1 Support",
                    "roleDefinitionId": "36243c78-bf99-498c-9df9-86d9f8d28608"
                },
                {
                    "principalId": "00000000-0000-0000-0000-000000000000",
                    "principalIdDisplayName": "Tier 2 Support",
                    "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
                },
                {
                    "principalId": "00000000-0000-0000-0000-000000000000",
                    "principalIdDisplayName": "Service Automation Account",
                    "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
                },
                {
                    "principalId": "00000000-0000-0000-0000-000000000000",
                    "principalIdDisplayName": "Policy Automation Account",
                    "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9",
                    "delegatedRoleDefinitionIds": [
                        "b24988ac-6180-42a0-ab88-20f7382dd24c",
                        "92aaf0da-9dab-42b6-94a3-d43ce8d16293"
                    ]
                }
            ]
        }
    }
}

A última autorização no exemplo acima adiciona um principalId com a função Administrador de Acesso de Usuário (18d7d88d-d35e-4fb5-a5c3-7773c20a72d9). Ao atribuir essa função, você deve incluir a propriedade delegatedRoleDefinitionIds e uma ou mais funções internas Azure com suporte. O usuário criado nessa autorização pode atribuir essas funções internas às identidades gerenciadas no locatário do cliente, o que é necessário para implantar políticas que possam ser corrigidas. O usuário também pode criar incidentes de suporte. Nenhuma outra permissão normalmente associada à função Administrador de Acesso de Usuário será aplicada a esse principalId.

Implantar o modelo de Azure Resource Manager

Depois que você tiver criado o seu modelo, um usuário no locatário do cliente deve implantá-lo no locatário dele. Uma implantação distinta é necessária para cada assinatura que será integrada (ou que contém grupos de recursos que serão).

Ao integrar uma assinatura (ou um ou mais grupos de recursos em uma assinatura) usando o processo descrito aqui, o provedor de recursos Microsoft.ManagedServices será registrado nessa assinatura.

Importante

Essa implantação deve ser feita por uma conta no locatário do cliente que tenha uma função com as permissões Microsoft.Authorization/roleAssignments/write, Microsoft.Authorization/roleAssignments/delete, e Microsoft.Authorization/roleAssignments/read, como Proprietário, para a assinatura que está sendo integrada (ou que contém os grupos de recursos que estão sendo integrados). Para localizar os usuários que podem delegar a assinatura, um usuário no tenant do cliente pode selecionar a assinatura no portal do Azure, abrir Controle de acesso (IAM) e ver todos os usuários com a função proprietário.

Se a assinatura foi criada por meio do programa Provedor de Soluções na Nuvem (CSP, qualquer usuário que tenha a função Admin Agent no locatário do provedor de serviços poderá executar a implantação.

A implantação pode ser feita no portal Azure, usando CLI do Azure ou usando o PowerShell.

Para implantar um modelo no portal Azure, siga o processo descrito abaixo. Essas etapas devem ser feitas por um usuário no locatário do cliente com a função Owner (ou outra função com as permissões Microsoft.Authorization/roleAssignments/write, Microsoft.Authorization/roleAssignments/delete e Microsoft.Authorization/roleAssignments/read).

  1. Na página Provedores de serviço no portal do Azure, selecione Ofertas do provedor de servidor.

  2. Perto da parte superior da tela, selecione a seta ao lado de Adicionar oferta e selecione Adicionar por meio do modelo.

    Screenshot mostrando a opção Adicionar via modelo no portal Azure.

  3. Carregue o modelo arrastando e soltando-o ou selecione Procurar arquivos para localizar e carregar o modelo.

  4. Se aplicável, selecione a caixa Tenho um arquivo de parâmetro separado e carregue o arquivo de parâmetro.

  5. Depois de carregar o modelo (e o arquivo de parâmetro, se necessário), selecione Carregar.

  6. Na tela Implantação personalizada, examine os detalhes que aparecem. Se necessário, você pode fazer alterações nesses valores nesta tela ou selecionando Editar parâmetros.

  7. Selecione Examinar e criar e depois Criar.

Após alguns minutos, você deve ver uma notificação indicando que a implantação foi concluída.

Dica

Como alternativa, em nosso repositório GitHub, selecione o botão Deploy para Azure mostrado ao lado do modelo que você deseja usar (na coluna Auto-deploy). O modelo de exemplo será aberto no portal Azure. Se você usar esse processo, deverá atualizar os valores para Nome da Oferta Msp, Descrição da Oferta do Msp, Gerenciado por ID do Locatário e Autorizações antes de selecionar Examinar e criar.

Confirmar integração bem-sucedida

Quando uma assinatura de cliente tiver sido integrada com êxito ao Azure Lighthouse, os usuários no locatário do provedor de serviços poderão ver a assinatura e seus recursos se tiverem recebido acesso a ela por meio do processo acima, individualmente ou como membro de um grupo de Microsoft Entra com as permissões apropriadas. Você pode confirmar se os recursos foram delegados com êxito usando o portal Azure, Azure PowerShell ou CLI do Azure.

No locatário do provedor de serviços:

  1. Navegue até a página Meus clientes.
  2. Selecione Clientes.
  3. Confirme se você pode ver as assinaturas com o nome da oferta fornecido no modelo de Resource Manager.

Importante

Para ver a assinatura delegada em Meus clientes, os usuários no locatário do provedor de serviços devem ter recebido a função de Leitor (ou outra função interna que inclua o acesso de Leitor) quando a assinatura foi integrada.

No locatário do cliente:

  1. Navegue até a página Provedores de serviços.
  2. Selecione Ofertas do provedor de serviços.
  3. Confirme se você pode ver as assinaturas com o nome da oferta fornecido no modelo de Resource Manager.

Observação

Pode levar até 15 minutos após a conclusão da implantação antes que as atualizações sejam refletidas no portal Azure. Você poderá ver as atualizações mais cedo se atualizar seu token Azure Resource Manager atualizando o navegador, entrando e saindo ou solicitando um novo token.

Para fazer alterações depois da integração do cliente, atualize a delegação. Você também pode remover o acesso à delegação completamente.

Solução de problemas

Se você não conseguir integrar seu cliente com êxito ou se os usuários tiverem problemas para acessar os recursos delegados, verifique as dicas e os requisitos a seguir e tente novamente.

  • Os usuários que precisam exibir os recursos do cliente no portal do Azure devem ter recebido a função de Leitor (ou outra função interna que inclua acesso de Leitor) durante o processo de integração.
  • O valor managedbyTenantId não deve ser igual ao ID de locatário da assinatura que está sendo integrada.
  • Não é possível ter várias atribuições no mesmo escopo com o mesmo mspOfferName.
  • O Microsoft. ManagedServices provedor de recursos deve ser registrado para a assinatura delegada. Isso deve acontecer automaticamente durante a implantação, mas você também pode registrá-la manualmente.
  • As autorizações não devem incluir nenhum usuário com a função Proprietário, quaisquer funções com DataActions ou quaisquer funções que incluam ações restritas.
  • Os grupos devem ser criados com Group type definido como Security e não Microsoft 365.
  • Se o acesso foi concedido a um grupo, confira se o usuário é membro desse grupo. Se não estiverem, você poderá add-los ao grupo usando Microsoft Entra ID, sem precisar executar outra implantação. Observe que os proprietários do grupo não são necessariamente membros dos grupos que gerenciam e talvez precisem ser adicionados para ter acesso.
  • Pode haver um atraso adicional antes da habilitação do acesso para grupos aninhados.
  • As funções internas do Azure que você inclui em autorizações não devem conter nenhuma função obsoleta. Se uma função interna Azure for preterida, todos os usuários que foram integrados com essa função perderão o acesso e você não poderá integrar delegações adicionais. Para corrigir isso, atualize seu modelo para usar apenas funções internas com suporte e execute uma nova implantação.

Próximas etapas