Passer au contenu principal
Auth0 offre deux façons d’implémenter le contrôle d’accès basé sur les rôles (RBAC), que vous pouvez utiliser à la place du système interne de contrôle d’accès de votre API ou en complément de celui-ci :L’ensemble des fonctionnalités d’Authorization Core correspond à celui d’Authorization Extension, tout en améliorant les performances et l’évolutivité, et en offrant un système RBAC plus souple.À l’heure actuelle, les deux implémentent les principales fonctionnalités du RBAC et vous permettent de restreindre les scopes personnalisés définis pour une API à ceux qui ont été attribués à l’utilisateur comme autorisations.

Prérequis

Avant de commencer, assurez-vous d’avoir une application existante pouvant être utilisée avec l’Authorization Extension. Vous pouvez utiliser les types d’applications suivants :
  • Applications natives
  • Applications Web classiques
  • Applications monopage
Les applications sans type défini ou les applications machine à machine ne peuvent pas être utilisées avec cette extension.

Installer l’extension

  1. Accédez à Auth0 Dashboard > Extensions.
  2. Sélectionnez Auth0 Authorization et suivez l’invite pour l’installer.
  3. Choisissez où vous souhaitez stocker vos données : Webtask Storage ou un compartiment Amazon S3.
Une fois l’extension installée, elle apparaîtra dans Installed Extensions.
Auth0 Dashboard - Extensions - Installed Extensions - Authorization Extension
L’installation de cette extension crée une application auth0-authz pour votre compte. Ne modifiez pas et ne supprimez pas cette application ! Si vous désinstallez l’extension plus tard, cette application sera automatiquement supprimée.
Lorsque vous cliquez sur le lien pour ouvrir l’extension pour la première fois, on vous demandera d’autoriser l’extension à accéder à votre compte Auth0. Si vous accordez cette autorisation, vous serez redirigé vers le tableau de bord Authorization.
Auth0 Dashboard - Extensions - Tableau de bord Authorization - Utilisateurs

Stockage Webtask

Par défaut, l’extension utilise Webtask Storage, et vous êtes limité à 500 Ko de données. Cela correspond à :
  • 1 000 groupes et 3 000 utilisateurs, où chaque utilisateur est membre de 3 groupes
  • 20 groupes et 7 000 utilisateurs, où chaque utilisateur est membre de 3 groupes

Amazon S3

Vous pouvez aussi utiliser Amazon S3 comme fournisseur de stockage. Amazon S3 est une plateforme de stockage de fichiers, ce qui signifie qu’elle effectue des écritures en parallèle. Cela peut entraîner certains problèmes, mais la logique de stockage de l’extension tente d’en tenir compte. Cependant, si vous automatisez la création de groupes, de rôles ou de permissions, Auth0 recommande d’utiliser des appels séquentiels à l’API.
Cette extension présente des limites de performance et n’est pas conçue pour être utilisée avec de grands ensembles de données. Avant de choisir Amazon S3 pour le stockage des données, nous vous recommandons d’effectuer des tests afin de vérifier son rendement dans votre cas. Une baisse des performances est également possible à mesure que davantage de données sont ajoutées à S3.
Pour utiliser Amazon S3, vous devez :
  1. Créer un compartiment S3.
  2. Créer un utilisateur IAM et obtenir l’ID de clé pour cet utilisateur.
  3. Créer une stratégie pour l’utilisateur IAM qui lui permet d’apporter des modifications au compartiment.
{
    "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": {}
        }
    ]
}

En savoir plus