Implementaciones de inquilino con plantillas de Resource Manager
Article
A medida que crece la organización, es posible que necesite definir y asignar directivas o el control de acceso basado en rol (RBAC de Azure) en el inquilino de Microsoft Entra. Con las plantillas de nivel de inquilino, puede aplicar directivas y asignar roles a nivel global de forma declarativa.
Propina
Se recomienda Bicep porque ofrece las mismas funcionalidades que las plantillas de ARM y la sintaxis es más fácil de usar. Para más información, consulte Implementaciones de inquilinos.
Recursos compatibles
No todos los tipos de recursos se pueden implementar a nivel de inquilino. En esta sección se enumeran los tipos de recursos que se admiten.
Para el control de acceso basado en rol de Azure (Azure RBAC), use:
Las definiciones de directiva integradas son recursos de nivel de inquilino, pero no se pueden implementar definiciones de directiva personalizadas en un inquilino. Para obtener un ejemplo de asignación de una definición de directiva integrada a un recurso, consulte el ejemplo tenantResourceId.
Schema
El esquema que se usa para las implementaciones de nivel de inquilino es diferente del esquema de las implementaciones de grupo de recursos.
La entidad de seguridad que implementa la plantilla debe tener permisos para crear recursos en el ámbito del inquilino. La entidad de seguridad debe tener permiso para ejecutar las acciones de implementación (Microsoft.Resources/deployments/*) y para crear los recursos definidos en la plantilla. Por ejemplo, para crear un grupo de administración, la entidad de seguridad debe tener permiso de colaborador en el ámbito del inquilino. Para crear asignaciones de roles, la entidad de seguridad debe tener permiso de propietario.
El administrador global de Microsoft Entra ID no tiene permiso para asignar roles de forma automática. Para habilitar las implementaciones de plantilla en el ámbito del inquilino, el administrador global debe realizar los siguientes pasos:
En el caso de las implementaciones de nivel de inquilino, debe proporcionar una ubicación para la implementación. La ubicación de la implementación es independiente de la ubicación de los recursos que se implementan. La ubicación de implementación especifica dónde se almacenarán los datos de la implementación. Las implementaciones de suscripción y grupo de administración también requieren una ubicación. En las implementaciones de grupo de recursos, la ubicación del grupo de recursos se usa para almacenar los datos de implementación.
Puede proporcionar un nombre para la implementación o usar el nombre de implementación predeterminado. El nombre predeterminado es el nombre del archivo de plantilla. Por ejemplo, al implementar una plantilla llamada azuredeploy.json, se crea un nombre de predeterminado azuredeploy.
Para cada nombre de implementación, la ubicación es inmutable. No se puede crear una implementación en una ubicación si ya existe una implementación con el mismo nombre en otra ubicación. Por ejemplo, si crea una implementación de inquilino con el nombre deployment1 en centralus, no podrá crear otra implementación con el nombre deployment1, sino una ubicación de westus. Si recibe el código de error InvalidDeploymentLocation, use un nombre diferente o utilice la ubicación de la implementación anterior que tenía ese mismo nombre.
Ámbitos de implementación
Al implementar en un inquilino, puede implementar los recursos en:
el inquilino
grupos de administración dentro del inquilino
subscriptions
grupos de recursos
Las únicas transiciones de ámbito prohibidas se producen desde el grupo de recursos al grupo de administración o desde la suscripción al grupo de administración.
Un recurso de extensión se puede limitar a un destino distinto del destino de implementación.
El usuario que implementa la plantilla debe tener acceso al ámbito especificado.
En esta sección se muestra cómo especificar distintos ámbitos. Puede combinar estos distintos ámbitos en una sola plantilla.
Ámbito del inquilino
Los recursos definidos en la sección de recursos de la plantilla se aplican al inquilino.
También puede dirigirse a los grupos de recursos dentro del inquilino. El usuario que implementa la plantilla debe tener acceso al ámbito especificado.
Para establecer como destino un grupo de recursos dentro del inquilino, use una implementación anidada. Establezca las propiedades subscriptionId y resourceGroup. No establezca una ubicación para la implementación anidada porque se implementa en la ubicación del grupo de recursos.
Si su cuenta no tiene permiso para la implementación en el inquilino, puede crear grupos de administración mediante la implementación en otro ámbito. Para más información, consulte Grupo de administración.
Asignación de un rol
La siguiente plantilla asigna un rol en el ámbito del inquilino.
JSON
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "17107802581699825924"
}
},
"parameters": {
"principalId": {
"type": "string",
"metadata": {
"description": "principalId if the user that will be given contributor access to the tenant"
}
},
"roleDefinitionId": {
"type": "string",
"defaultValue": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"metadata": {
"description": "roleDefinition for the assignment - default is owner"
}
}
},
"variables": {
"roleAssignmentName": "[guid('/', parameters('principalId'), parameters('roleDefinitionId'))]"
},
"resources": [
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2020-03-01-preview",
"name": "[variables('roleAssignmentName')]",
"properties": {
"roleDefinitionId": "[tenantResourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionId'))]",
"principalId": "[parameters('principalId')]"
}
}
]
}
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.
Obtenga información sobre las consideraciones y recomendaciones para implementar el control de identidad y acceso en las zonas de aterrizaje de aplicaciones y plataformas de Azure.
En la sección de preguntas frecuentes sobre la zona de aterrizaje de Azure encontrará respuestas a las preguntas que se plantean con mayor frecuencia sobre la arquitectura de la zona de aterrizaje de Azure.