Incorporación de un cliente a Azure Lighthouse

En este artículo se explica cómo, como proveedor de servicios, puede incorporar un cliente a Azure Lighthouse. Cuando lo haga, los recursos delegados (suscripciones o grupos de recursos) del inquilino de Microsoft Entra del cliente se pueden administrar por los usuarios de su inquilino mediante la Administración de recursos delegados de Azure.

Sugerencia

Aunque en este tema nos referiremos a los proveedores de servicios y clientes, las empresas que administren varios inquilinos pueden usar el mismo proceso para configurar Azure Lighthouse y consolidar su experiencia de administración.

Puede repetir el proceso de incorporación de varios clientes. Cuando un usuario con permisos apropiados inicia sesión en el inquilino administrador, ese usuario está autorizado a realizar operaciones de administración en los ámbitos del inquilino del cliente sin tener que iniciar sesión en todos y cada uno de los inquilinos de cliente individuales.

Nota

Los clientes también se pueden incorporar a Azure Lighthouse cuando compran una oferta de servicios administrados (pública o privada) que haya publicado en Azure Marketplace. También puede usar el proceso de incorporación que se describe aquí junto con ofertas publicadas en Azure Marketplace.

El proceso de incorporación requiere que se tomen medidas desde el inquilino del proveedor de servicios y del inquilino del cliente. Todos estos pasos se describen en este artículo.

Recopilación de los detalles del inquilino y la suscripción

Para incorporar el inquilino de un cliente, este debe tener una suscripción activa a Azure. Al crear una plantilla manualmente, deberá saber lo siguiente:

  • El identificador del inquilino del proveedor de servicios (donde va a administrar los recursos del cliente).
  • El identificador del inquilino del cliente (cuyos recursos administrará el proveedor de servicios).
  • Los identificadores de suscripción de cada suscripción específica del inquilino del cliente que administrará el proveedor de servicios (o que contenga los grupos de recursos que administrará el proveedor de servicios).

Si no conoce el identificador de un inquilino, puede recuperarlo mediante Azure Portal, Azure PowerShell o la CLI de Azure.

Si crea la plantilla en Azure Portal, el id. de inquilino se proporciona automáticamente. No es necesario conocer los detalles del inquilino o de la suscripción del cliente para crear la plantilla en Azure Portal. Sin embargo, si tiene previsto incorporar uno o varios grupos de recursos en el inquilino del cliente (en lugar de toda la suscripción), deberá conocer los nombres de cada grupo de recursos.

Definir roles y permisos

Como proveedor de servicios, es posible que quiera realizar varias tareas para un solo cliente, lo que requiere un acceso diferente para distintos ámbitos. Puede definir tantas autorizaciones como necesite para asignar los roles integrados de Azure adecuados. Cada autorización incluye un valor principalId que hace referencia a un usuario, grupo o entidad de servicio de Microsoft Entra en el inquilino de administración.

Nota:

A menos que se especifique explícitamente, las referencias a un "usuario" en la documentación de Azure Lighthouse pueden referirse a un usuario, grupo o entidad de servicio de Microsoft Entra en una autorización.

Para definir las autorizaciones de la plantilla, tiene que incluir los valores de identificador de cada usuario, grupo de usuarios o entidad de servicio en el inquilino de administración al que quiere conceder acceso. También deberá incluir el identificador de definición de roles para cada rol integrado que quiera asignar. Al crear la plantilla en Azure Portal, puede seleccionar la cuenta de usuario y el rol, y estos valores de identificador se agregarán automáticamente. Si va a crear una plantilla manualmente, puede recuperar los identificadores de usuario mediante el uso de Azure Portal, Azure PowerShell o la CLI de Azure desde el inquilino de administración.

Sugerencia

Se recomienda asignar el rol de eliminación de asignación del registro de servicios administrados al incorporar un cliente, de modo que los usuarios del inquilino puedan quitar el acceso a la delegación más adelante si es necesario. Si este rol no está asignado, solo un usuario puede quitar los recursos delegados del inquilino del cliente.

Cuando sea posible, se recomienda usar grupos de usuarios de Microsoft Entra para cada asignación, en lugar de usuarios individuales. Esto le ofrece la flexibilidad para agregar o quitar usuarios individuales del grupo que tiene acceso, de modo que no tenga que repetir el proceso de incorporación para realizar cambios en el usuario. También puede asignar roles a una entidad de servicio, lo que puede ser útil para escenarios de automatización.

Importante

Para agregar permisos a un grupo de Microsoft Entra, la opción Tipo de grupo debe establecerse en Seguridad. Esta opción se selecciona cuando se crea el grupo. Para más información, consulte Creación de un grupo básico e incorporación de miembros con Microsoft Entra ID.

Al definir las autorizaciones, asegúrese de seguir el principio de privilegios mínimos para que los usuarios solo tengan los permisos necesarios para completar su trabajo. Para obtener información sobre los roles admitidos y los procedimientos recomendados, vea Inquilinos, usuarios y roles en escenarios de Azure Lighthouse.

Sugerencia

También puede crear autorizaciones aptas que permitan a los usuarios del inquilino de administración tener un rol superior temporalmente. Esta característica tiene requisitos específicos de concesión de licencia. Para obtener más información, vea Creación de autorizaciones aptas.

Para realizar el seguimiento del impacto en las involucraciones de los clientes y recibir el reconocimiento correspondiente, asocie el identificador de Microsoft Cloud Partner Program con al menos una cuenta de usuario con acceso a cada una de las suscripciones incorporadas. Tendrá que realizar esta asociación en el inquilino del proveedor de servicios. Se recomienda crear una cuenta de entidad de servicio en el inquilino que esté asociado a su identificador de partner y, a continuación, incluya esa entidad de servicio cada vez que incorpore un cliente. Para obtener más información, consulta Vincular un identificador de asociado.

Creación de una plantilla de Azure Resource Manager

Para incorporar el cliente, deberá crear una plantilla de Azure Resource Manager para la oferta con la información siguiente. Los valores mspOfferName y mspOfferDescription serán visibles para el cliente en la página de proveedores de servicios de Azure Portal una vez que la plantilla se implementa en el inquilino del cliente.

Campo Definición
mspOfferName Nombre que describe esta definición. Este valor se muestra al cliente como el título de la oferta y debe ser un valor único.
mspOfferDescription Breve descripción de la oferta (por ejemplo, "oferta de administración de VM de Contoso"). Este campo es opcional, pero se recomienda para que los clientes comprendan claramente su oferta.
managedByTenantId El identificador de inquilino.
authorizations Los valores de principalId para los usuarios/grupos/SPN del inquilino, cada uno de ellos con un valor de principalIdDisplayName para ayudar a su cliente a entender el propósito de la autorización y asignarla a un valor de roleDefinitionId integrado para especificar el nivel de acceso.

Puede crear esta plantilla en Azure Portal o modificando manualmente las plantillas proporcionadas en nuestro repositorio de ejemplos.

Importante

El proceso que se describe aquí requiere una implementación independiente para cada suscripción que se está incorporando, incluso si va a incorporar suscripciones en el mismo inquilino de cliente. También se necesitan implementaciones independientes si se incorporan varios grupos de recursos en distintas suscripciones del mismo inquilino del cliente. Sin embargo, la incorporación de varios grupos de recursos dentro de una sola suscripción puede realizarse en una implementación.

También se necesitan implementaciones independientes para varias ofertas que se aplican a la misma suscripción (o grupos de recursos dentro de una suscripción). Cada oferta aplicada debe usar un valor de mspOfferName diferente.

Creación de la plantilla en Azure Portal

Para crear la plantilla en Azure Portal, vaya a Mis clientes y seleccione Crear plantilla ARM en la página de información general.

En la página Crear oferta de plantilla ARM, proporcione su nombre y una descripción opcional. Estos valores se usarán para mspOfferName y mspOfferDescription de la plantilla, y pueden ser visibles para el cliente. El valor managedByTenantId se proporcionará automáticamente, en función del inquilino de Microsoft Entra en el que ha iniciado sesión.

A continuación, seleccione Suscripción o Grupo de recursos, en función del ámbito del cliente que desee incorporar. Si selecciona Grupo de recursos, tendrá que proporcionar el nombre del grupo de recursos para incorporarlo. Puede seleccionar el icono + para agregar grupos de recursos adicionales en la misma suscripción si es necesario. (Para incorporar grupos de recursos adicionales en otra suscripción, debe crear e implementar una plantilla independiente para esa suscripción).

Por último, para crear las autorizaciones, seleccione + Agregar autorización. Para cada una de las autorizaciones, proporcione los detalles siguientes:

  1. Seleccione Tipo de entidad de seguridad según el tipo de cuenta que desee incluir en la autorización. Este puede ser Usuario, Grupo o Entidad de servicio. En este ejemplo, elegiremos Usuario.
  2. Seleccione el enlace + Seleccionar usuario para abrir el panel de selección. Puede usar el campo de búsqueda para buscar el usuario que desea agregar. Una vez que lo haya hecho, haga clic en Seleccionar. El campo Id. de la entidad de seguridad del usuario se rellenará automáticamente.
  3. Revise el campo Nombre para mostrar (rellenado según el usuario que seleccionó) y haga los cambios que desee.
  4. Seleccione el rol que va a asignar al usuario.
  5. En tipo de Acceso, seleccione Permanente o Elegible. Si selecciona Elegible, deberá especificar opciones para la duración máxima, la autenticación multifactor y si se requiere o no aprobación. Para más información, consulte Creación de autorizaciones aptas. La característica de autorizaciones aptas no se puede usar con entidades de servicio.
  6. Seleccione Agregar para crear la autorización.

Screenshot of the Add authorization section in the Azure portal.

Después de seleccionar Agregar, volverá a la pantalla Crear oferta de plantilla ARM. Puede seleccionar + Agregar autorización de nuevo para agregar tantas autorizaciones como sea necesario.

Cuando haya agregado todas las autorizaciones, seleccione Ver plantilla. En esta pantalla, verá un archivo .json que corresponde a los valores especificados. Seleccione Descargar para guardar una copia de este archivo .json. Esta plantilla se puede implementar en el inquilino del cliente. También puede editarla manualmente si necesita realizar cambios.

Importante

El archivo de plantilla generado no se almacena en Azure Portal. Asegúrese de descargar una copia antes de salir de la pantalla Mostrar plantilla.

Creación manual de la plantilla

Puede crear la plantilla a partir de una plantilla de Azure Resource Manager (proporcionada en el repositorio de ejemplos) y un archivo de parámetros correspondiente que se modifica para que coincida con la configuración y para definir las autorizaciones. Si lo prefiere, puede incluir toda la información directamente en la plantilla, en lugar de usar un archivo de parámetros independiente.

La plantilla que elija dependerá de si se incorpora una suscripción completa, un grupo de recursos o varios grupos de recursos dentro de una suscripción. También proporcionamos una plantilla que se puede usar para los clientes que han adquirido una oferta de servicios administrados que ha publicado en Azure Marketplace, si prefiere incorporar sus suscripciones de esta manera.

Para incorporar esto Use esta plantilla de Azure Resource Manager Y modifique este archivo de parámetros
Suscripción subscription.json subscription.parameters.json
Resource group rg.json rg.parameters.json
Varios grupos de recursos de una suscripción multi-rg.json multiple-rg.parameters.json
Suscripción (al usar una oferta publicada en Azure Marketplace) marketplaceDelegatedResourceManagement.json marketplaceDelegatedResourceManagement.parameters.json

Si desea incluir autorizaciones elegibles, seleccione la plantilla correspondiente en la sección delegated-resource-management-eligible-authorizations de nuestro repositorio de ejemplos.

Sugerencia

Aunque no se puede incorporar un grupo de administración completo en una implementación, es posible implementar una directiva para incorporar cada suscripción en un grupo de administración. Tendrá acceso a todas las suscripciones del grupo de administración, aunque tendrá que trabajar en ellas como si fueran suscripciones individuales (en lugar de realizar acciones en el recurso del grupo de administración directamente).

En el ejemplo siguiente se muestra un archivo subscription.parameters.json modificado que se puede usar para incorporar una suscripción. Los archivos de parámetros del grupo de recursos (situados en la carpeta rg-delegated-resource-management) tienen un formato similar, pero también incluyen un parámetro rgName para identificar los grupos de recursos específicos que se incorporarán.

{
    "$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"
                    ]
                }
            ]
        }
    }
}

La última autorización del ejemplo anterior agrega un valor de principalId con el rol de administrador de acceso de usuario (18d7d88d-d35e-4fb5-a5c3-7773c20a72d9). Al asignar este rol, debe incluir la propiedad delegatedRoleDefinitionIds y uno o más roles integrados de Azure compatibles. El usuario creado en esta autorización podrá asignar estos roles a las identidades administradas en el inquilino del cliente, algo necesario para implementar directivas que pueden corregirse. El usuario también puede crear incidentes de soporte técnico. No se aplicará a este principalId ningún otro permiso asociado normalmente al rol Administrador de acceso de usuario.

Implementación de la plantilla de Azure Resource Manager

Una vez que haya creado la plantilla, un usuario del inquilino del cliente debe implementarla en su inquilino. Se necesita una implementación independiente para cada suscripción que quiera incorporar (o para cada suscripción que contenga grupos de recursos que quiera incorporar).

Al incorporar una suscripción (o uno o varios grupos de recursos dentro de una suscripción) mediante el proceso que se describe aquí, el proveedor de recursos Microsoft.ManagedServices se registrará para esa suscripción.

Importante

Esta implementación debe realizarse desde una cuenta que no sea de invitado en el inquilino del cliente, que tenga el rol con el permiso Microsoft.Authorization/roleAssignments/write, como Propietario, para la suscripción que se va a incorporar (o que contenga los grupos de recursos que se están incorporando). Para buscar usuarios que puedan delegar la suscripción, un usuario del inquilino del cliente puede seleccionar la suscripción en Azure Portal, abrir Control de acceso (IAM) y ver todos los usuarios con el rol Propietario.

Si la suscripción se creó con el programa Proveedor de soluciones en la nube (CSP), cualquier usuario que tenga el rol de agente de administración en el inquilino del proveedor de servicios puede realizar la implementación.

La implementación puede realizarse mediante PowerShell, la CLI de Azure o Azure Portal, como se muestra a continuación.

Implementación mediante PowerShell

Para implementar únicamente una plantilla:

# Log in first with Connect-AzAccount if you're not using Cloud Shell

# Deploy Azure Resource Manager template using template and parameter file locally
New-AzSubscriptionDeployment -Name <deploymentName> `
                 -Location <AzureRegion> `
                 -TemplateFile <pathToTemplateFile> `
                 -Verbose

# Deploy Azure Resource Manager template that is located externally
New-AzSubscriptionDeployment -Name <deploymentName> `
                 -Location <AzureRegion> `
                 -TemplateUri <templateUri> `
                 -Verbose

Para implementar una plantilla con un archivo de parámetros independiente:

# Log in first with Connect-AzAccount if you're not using Cloud Shell

# Deploy Azure Resource Manager template using template and parameter file locally
New-AzSubscriptionDeployment -Name <deploymentName> `
                 -Location <AzureRegion> `
                 -TemplateFile <pathToTemplateFile> `
                 -TemplateParameterFile <pathToParameterFile> `
                 -Verbose

# Deploy Azure Resource Manager template that is located externally
New-AzSubscriptionDeployment -Name <deploymentName> `
                 -Location <AzureRegion> `
                 -TemplateUri <templateUri> `
                 -TemplateParameterUri <parameterUri> `
                 -Verbose

Implementación con la CLI de Azure

Para implementar únicamente una plantilla:

# Log in first with az login if you're not using Cloud Shell

# Deploy Azure Resource Manager template using template and parameter file locally
az deployment sub create --name <deploymentName> \
                         --location <AzureRegion> \
                         --template-file <pathToTemplateFile> \
                         --verbose

# Deploy external Azure Resource Manager template, with local parameter file
az deployment sub create --name <deploymentName> \
                         --location <AzureRegion> \
                         --template-uri <templateUri> \
                         --verbose

Para implementar una plantilla con un archivo de parámetros independiente:

# Log in first with az login if you're not using Cloud Shell

# Deploy Azure Resource Manager template using template and parameter file locally
az deployment sub create --name <deploymentName> \
                         --location <AzureRegion> \
                         --template-file <pathToTemplateFile> \
                         --parameters <parameters/parameterFile> \
                         --verbose

# Deploy external Azure Resource Manager template, with local parameter file
az deployment sub create --name <deploymentName> \
                         --location <AzureRegion> \
                         --template-uri <templateUri> \
                         --parameters <parameterFile> \
                         --verbose

Implementación en Azure Portal

Para implementar una plantilla en Azure Portal, siga el proceso que se describe a continuación. Estos pasos los debe realizar un usuario del inquilino del cliente con el rol Propietario (u otro rol con el permiso Microsoft.Authorization/roleAssignments/write).

  1. En la página Proveedores de servicios de Azure Portal, seleccione Ofertas de proveedor de servidores.

  2. Cerca de la parte superior de la pantalla, seleccione la flecha situada junto a Agregar oferta y, a continuación, seleccione Agregar mediante plantilla.

    Screenshot showing the Add via template option in the Azure portal.

  3. Cargue la plantilla arrastrándola y soltándola, o bien seleccione Buscar archivos para localizar y cargar la plantilla.

  4. Si procede, seleccione el cuadro Tengo un archivo de parámetros independiente, y cargue el archivo de parámetros.

  5. Después de cargar la plantilla (y el archivo de parámetros si es necesario), seleccione Cargar.

  6. En la pantalla Implementación personalizada, revise los detalles que aparecen. Si es necesario, puede realizar cambios en estos valores en esta pantalla o seleccionando Editar parámetros.

  7. Seleccione Revisar y crear y, luego, Crear.

Transcurridos unos minutos, se mostrará una notificación indicando que la implementación se ha completado.

Sugerencia

De manera alternativa, en nuestro repositorio de GitHub, seleccione el botón Implementar en Azure que se muestra junto a la plantilla que quiera usar (en la columna Implementación automática). La plantilla de ejemplo se abrirá en Azure Portal. Si usa este proceso, debe actualizar los valores de Nombre de la oferta de Msp, Descripción de la oferta de Msp, Administrar por identificador de inquilino y Autorizaciones, antes de seleccionar Revisar y crear.

Confirmar la incorporación correcta

Cuando una suscripción de cliente se incorpora correctamente a Azure Lighthouse, los usuarios del inquilino del proveedor de servicios pueden ver la suscripción y sus recursos (si se les ha concedido acceso a ellos mediante el proceso anterior, ya sea individualmente o como miembro de un grupo de Microsoft Entra con los permisos adecuados). Para confirmarlo, compruebe que la suscripción aparece de una de las siguientes maneras.

Confirmar en Azure Portal

En el inquilino del proveedor de servicios:

  1. Vaya a la página Mis clientes.
  2. Seleccione Clientes.
  3. Confirme que puede ver las suscripciones con el nombre de la oferta que proporcionó en la plantilla de Resource Manager.

Importante

Para ver la suscripción delegada en Mis clientes. Se debe haber concedido a los usuarios del inquilino del proveedor de servicios el rol Lector (u otro rol integrado que incluya acceso de lectura) al incorporar la suscripción.

En el inquilino del cliente:

  1. Vaya a la página Proveedores de servicios.
  2. Seleccione Ofertas del proveedor de servicios.
  3. Confirme que puede ver las suscripciones con el nombre de la oferta que proporcionó en la plantilla de Resource Manager.

Nota

Una vez completada la implementación, las actualizaciones pueden tardar hasta 15 minutos en verse reflejadas en Azure Portal. Puede ver las actualizaciones antes si actualiza el token de Azure Resource Manager actualizando el explorador, iniciando y cerrando la sesión o solicitando un token nuevo.

Confirmación mediante PowerShell

# Log in first with Connect-AzAccount if you're not using Cloud Shell

Get-AzContext

# Confirm successful onboarding for Azure Lighthouse

Get-AzManagedServicesDefinition
Get-AzManagedServicesAssignment

Confirmación mediante la CLI de Azure

# Log in first with az login if you're not using Cloud Shell

az account list

# Confirm successful onboarding for Azure Lighthouse

az managedservices definition list
az managedservices assignment list

Si necesita realizar cambios una vez que el cliente se ha incorporado, puede actualizar la delegación. También puede retirar el acceso a la delegación completamente.

Solución de problemas

Si no puede incorporar correctamente el cliente, o si los usuarios tienen problemas para acceder a los recursos delegados, compruebe las siguientes sugerencias y requisitos e inténtelo de nuevo.

  • A los usuarios que necesiten ver los recursos del cliente en Azure Portal se les debe haber asignado el rol Lector (o cualquier otro rol integrado que incluya acceso de lectura) durante el proceso de incorporación.
  • El valor managedbyTenantId no debe ser el mismo que el identificador de inquilino de la suscripción que se va a incorporar.
  • No puede tener varias asignaciones en el mismo ámbito con el mismo mspOfferName.
  • El proveedor de recursos Microsoft.ManagedServices se debe registrar para la suscripción delegada. Esto se debería realizar automáticamente durante la implementación, pero si no es así, puede registrarlo manualmente.
  • Las autorizaciones no deben incluir ningún usuario con el rol Propietario, ningún rol con DataActions, ni ningún rol que incluya acciones restringidas.
  • Los grupos se deben crear con Tipo de grupo establecido en Security y no en Microsoft 365.
  • Si se concedió acceso a un grupo, compruebe que el usuario sea miembro de ese grupo. Si no, puede agregarlo al grupo mediante Microsoft Entra ID, sin tener que realizar otra implementación. Tenga en cuenta que los propietarios de grupos no son necesariamente miembros de los grupos que administran y es posible que deban agregarse para tener acceso.
  • Puede experimentarse un retraso adicional antes de que se habilite el acceso para grupos anidados.
  • Los roles integrados de Azure que se incluyen en las autorizaciones no deben incluir ningún rol en desuso. Si un rol integrado de Azure cae en desuso, los usuarios que se hayan incorporado con ese rol perderán el acceso, y usted no podrá incorporar delegaciones adicionales. Para solucionarlo, actualice la plantilla para usar solo roles integrados admitidos y, a continuación, realice una nueva implementación.

Pasos siguientes