Saltar al contenido principal
Auth0 ofrece dos formas de implementar el control de acceso basado en roles (RBAC), que puedes usar en lugar del sistema interno de control de acceso de tu API o en combinación con él:El conjunto de funcionalidades de Authorization Core equivale al de Authorization Extension, mejora el rendimiento y la escalabilidad, y proporciona un sistema de RBAC más flexible que Authorization Extension.Actualmente, ambos implementan las funcionalidades clave de RBAC y te permiten restringir los alcances personalizados definidos para una API a los que se hayan asignado al usuario como permisos.

Requisito previo

Antes de comenzar, asegúrate de tener una aplicación existente que pueda usarse con la extensión Authorization Extension. Puedes usar los siguientes tipos de aplicaciones:
  • Aplicaciones nativas
  • Aplicaciones web tradicionales
  • Aplicaciones de página única
Las aplicaciones sin un tipo asignado o las aplicaciones de máquina a máquina no pueden usarse con esta extensión.

Instalar extensión

  1. Vaya a Auth0 Dashboard > Extensions.
  2. Seleccione Auth0 Authorization y siga las indicaciones para instalarla.
  3. Elija dónde desea almacenar sus datos: Webtask Storage o un bucket de Amazon S3.
Una vez instalada la extensión, la verá en la lista de Installed Extensions.
Dashboard - Extensions - Installed Extensions - Authorization Extension
La instalación de esta extensión crea una aplicación auth0-authz para su cuenta. No edite ni elimine esta aplicación. Si desinstala la extensión más adelante, esta aplicación se eliminará automáticamente.
Cuando haga clic en el enlace para abrir la extensión por primera vez, se le pedirá que conceda permiso para que la extensión acceda a su cuenta de Auth0. Si lo hace, se le redirigirá al Authorization Dashboard.
Dashboard - Extensions - Authorization Dashboard - Users

Almacenamiento de Webtask

La extensión usará Webtask Storage de forma predeterminada y estará limitada a 500 KB de datos. Esto equivale a:
  • 1000 grupos y 3000 usuarios, donde cada usuario pertenece a 3 grupos
  • 20 grupos y 7000 usuarios, donde cada usuario pertenece a 3 grupos

Amazon S3

Como alternativa, puede usar Amazon S3 como proveedor de almacenamiento. Amazon S3 es una plataforma de almacenamiento basada en archivos, lo que significa que realiza escrituras en paralelo. Esto puede causar problemas, pero la lógica de almacenamiento de la extensión intenta tenerlo en cuenta. Sin embargo, si automatiza la creación de grupos, roles o permisos, Auth0 recomienda que use llamadas secuenciales a la API.
Esta extensión tiene limitaciones de rendimiento y no está pensada para usarse con grandes conjuntos de datos. Antes de elegir Amazon S3 para almacenar datos, le recomendamos que realice pruebas para ver cómo funciona en su caso. También puede producirse una degradación del rendimiento a medida que se agregan más datos a S3.
Para usar Amazon S3, necesita:
  1. Crear un bucket de S3.
  2. Crear un usuario de IAM y obtener el ID de la clave de ese usuario.
  3. Crear una política para el usuario de IAM que le permita realizar cambios en el bucket.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::{nameOfYourBucket}/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{nameOfYourBucket}"
            ],
            "Condition": {}
        }
    ]
}

Más información