Artefacto de definición de roles personalizada en Azure Managed Applications

La definición de roles personalizados es un artefacto opcional en las aplicaciones administradas. Se usa para determinar los permisos que necesita la aplicación administrada para realizar sus funciones.

En este artículo se proporciona información general sobre el artefacto de definición de roles personalizada y sus funciones.

Artefacto de definición de roles personalizada

Debe asignar un nombre al artefacto de definición de roles personalizada customRoleDefinition.json. Colóquelo en el mismo nivel que createUiDefinition.json y mainTemplate.json en el paquete .zip que crea una definición de aplicación administrada. Para obtener información sobre cómo crear el paquete .zip y publicar una definición de aplicación administrada, vea Publicación de una definición de aplicación administrada.

Esquema de definición de roles personalizada

El archivo customRoleDefinition.json tiene una propiedad roles de nivel superior que es una matriz de roles. Estos roles son los permisos que la aplicación administrada necesita para funcionar. Actualmente, solo se permiten roles integrados, pero se pueden especificar varios roles. El identificador de la definición de rol o el nombre de rol pueden hacer referencia a un rol.

Ejemplo de JSON para la definición de roles personalizada:

{
    "contentVersion": "0.0.0.1",
    "roles": [
        {
            "properties": {
                "roleName": "Contributor"
            }
        },
        {
            "id": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
        },
        {
            "id": "/providers/Microsoft.Authorization/roledefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c"
        }
    ]
}

Roles

Un rol se compone de un elemento $.properties.roleName o id:

{
    "id": null,
    "properties": {
        "roleName": "Contributor"
    }
}

Nota

Se puede usar el campo id o roleName. Solo es necesario uno. Estos campos se utilizan para buscar la definición de roles que se debe aplicar. Si se proporcionan ambos, se usará el campo id.

Propiedad ¿Necesario? Descripción
id Identificador del rol integrado. Se puede usar el identificador completo o simplemente el GUID.
roleName Nombre del rol integrado.