Tous les produits
Search
Centre de documentation

Resource Access Management:Provision users to Alibaba Cloud RAM using SCIM

Dernière mise à jour :Aug 09, 2026

Synchronisez les utilisateurs depuis vos systèmes d'identité sur site vers RAM via le protocole SCIM, sécurisé par une autorisation OAuth 2.0.

Prérequis

Nous recommandons qu'un administrateur RAM ou un utilisateur RAM disposant des autorisations de gestion OAuth effectue les opérations décrites dans cette rubrique.

Présentation

  • SCIM (System for Cross-domain Identity Management) normalise la gestion des identités entre les applications cloud. SCIM 2.0 utilise un modèle objet où tous les objets héritent de Resource avec les attributs id, externalId et meta. La spécification RFC 7643 étend ce modèle avec User, Group et EnterpriseUser. Cette rubrique utilise la ressource User.

  • OAuth (Open Authorization) permet aux applications tierces d'accéder aux ressources des utilisateurs sans exposer leurs identifiants. Alibaba Cloud prend en charge trois types d'applications OAuth : Web Application, Native Application et Server Application. Les applications Web Application et Native Application utilisent OAuth à trois étapes (3-legged), tandis qu'une Server Application utilise OAuth à deux étapes (2-legged). SCIM utilise OAuth à deux étapes pour la communication client-API, comme défini dans la spécification OAuth 2.0. Pour plus d'informations, consultez la page Présentation des applications OAuth.

  • Endpoint SCIM d'Alibaba Cloud : https://scim.aliyun.com.

  • Endpoint OAuth d'Alibaba Cloud pour obtenir un access_token : https://oauth.aliyun.com/v1/token.

Étape 1 : Créer et autoriser une application OAuth

  1. Connectez-vous à la console RAM avec votre compte Alibaba Cloud.

  2. Dans le volet de navigation de gauche, cliquez sur OAuth (Preview).

  3. Sous l'onglet Enterprise Applications, cliquez sur Create Application.

    Pour le champ Application Type, sélectionnez Server Application. Pour plus de détails, reportez-vous à la section Créer une application.

    Après la création, récupérez la valeur client_id depuis la page des détails de l'application.

  4. Cliquez sur le nom de l'application. Sous l'onglet OAuth Scope, cliquez sur Add OAuth Scopes.

    Pour le champ OAuth Scope, sélectionnez /acs/scim. Consultez la page Gérer les étendues OAuth pour plus d'informations.

  5. Autorisez l'application OAuth.

    1. Sous l'onglet OAuth Scope, cliquez sur Grants.

    2. Sur la page Third-party Application Authorization, sélectionnez Alibaba Cloud Cross-domain Identity Management Service puis cliquez sur Grants.

  6. Sous l'onglet App Secrets, cliquez sur Create Secret pour créer un secret d'application.

    Important

    La valeur AppSecretValue n'est affichée qu'une seule fois lors de la création et ne peut pas être récupérée ultérieurement. Enregistrez-la en toute sécurité.

Étape 2 : Synchroniser les données utilisateur

Vous pouvez synchroniser les données utilisateur via un client tel que One Identity, ou directement via les API SCIM.

  • Client : configurez les paramètres SCIM dans un client comme One Identity pour synchroniser les données utilisateur. Consultez la documentation One Identity.

  • API SCIM : mappez les utilisateurs sur site aux utilisateurs RAM. Vous pouvez créer, supprimer, interroger et mettre à jour les attributs suivants des utilisateurs RAM.

    • id : ID de l'utilisateur RAM, généré par le serveur et unique au niveau global.

    • externalId : ID unique spécifié par le client qui associe un utilisateur RAM à un utilisateur de votre système sur site.

      Remarque

      Les utilisateurs RAM créés via la console ne possèdent pas l'attribut externalId.

    • userName : nom unique spécifié par le client pour chaque utilisateur.

    • displayName : nom d'affichage de l'utilisateur RAM, tel que spécifié par le client.

Pour synchroniser les données utilisateur à l'aide des API SCIM :

  1. Récupérez l'ID (client_id) et la valeur du secret (AppSecretValue) de l'application serveur autorisée.

  2. Pour obtenir un access_token, envoyez une requête contenant le client_id et l'AppSecretValue à l'adresse https://oauth.aliyun.com/v1/token.

    L'en-tête Authorization doit utiliser le format suivant : "Authorization: Basic Base64Encode(client_id:AppSecretValue)". Par exemple, si client_id=cid et AppSecretValue=123456, l'en-tête Authorization doit être "Authorization: Basic Y2lkOjEyMzQ1Ng==".

    Exemple de requête :

    curl --location --request POST --header "Authorization: Basic Y2lkOjEyMzQ1Ng==" https://oauth.aliyun.com/v1/token?grant_type=client_credentials&client_id=463790568674183****

    Exemple de réponse :

    {
        "scope": "/acs/scim",
        "request_id": "8dc768e0-d6fe-4f52-a788-05631dd6c584",
        "access_token": "eyJ***hKg",
        "token_type": "Bearer",
        "expires_in": "3599"
    }
  3. Interrogez les valeurs ResourceType et Schema prises en charge par SCIM sur Alibaba Cloud.

    Pour interroger les valeurs ResourceType prises en charge :

    curl --location --request GET 'https://scim.aliyun.com/ResourceTypes'

    Pour interroger les valeurs Schema prises en charge :

    curl --location --request GET 'https://scim.aliyun.com/Schemas'
  4. Créez, interrogez, mettez à jour et supprimez des utilisateurs RAM.

    • Créez un utilisateur RAM.

      Spécifiez les champs userName, displayName et externalId qui correspondent à l'utilisateur dans votre système sur site.

      Exemple de requête :

      curl --location --request POST 'https://scim.aliyun.com/Users' \
      --header 'Authorization: Bearer  eyJ***hKg' \
      --header 'Content-Type: application/json' \
      --data-raw '{
          "displayName": "j2gg0s_****",
          "schemas": [
              "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "externalId": "6e74eec4-ddb5-4e74-bd12-5e7b99b2****",
          "userName": "j2gg0screatedbyscim_exa****"
      }'

      Exemple de réponse :

      {
          "displayName": "j2gg0s_****",
          "meta": {
              "created": "2020-02-14T03:58:59Z",
              "location": "https://scim.aliyun.com/Users/27648498165273****",
              "lastModified": "2020-02-14T03:58:59Z",
              "resourceType": "User"
          },
          "schemas": [
              "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "externalId": "6e74eec4-ddb5-4e74-bd12-5e7b99b2****",
          "id": "27648498165273****",
          "userName": "j2gg0screatedbyscim_exa****"
      }
    • Interrogez un utilisateur RAM spécifique.

      • Utilisez GET /Users/{id} pour interroger un utilisateur RAM par son id.

      • Utilisez GET /Users?filter=externalId eq xxx pour interroger un utilisateur RAM par son externalId.

      • Utilisez GET /Users?filter=userName eq xxx pour interroger un utilisateur RAM par son userName.

        Exemple de requête :

        curl --location --request GET 'https://scim.aliyun.com/Users?filter=userName%20eq%20%22j2gg0screatedbyscim****%22' \
        --header 'Authorization: Bearer  eyJ***hKg'

        Exemple de réponse :

        {
            "startIndex": 1,
            "totalResults": 1,
            "itemsPerPage": 30,
            "schemas": [
                "urn:ietf:params:scim:api:messages:2.0:ListResponse"
            ],
            "Resources": [
                {
                    "displayName": "j2gg0screatedbyscim****",
                    "meta": {
                        "created": "2019-12-11T01:53:19Z",
                        "location": "https://scim.aliyun.com/Users/27769827602919****",
                        "lastModified": "2019-12-11T02:10:39Z",
                        "resourceType": "User"
                    },
                    "schemas": [
                        "urn:ietf:params:scim:schemas:core:2.0:User"
                    ],
                    "externalId": "6e74eec4-ddb5-4e74-bd12-5e7b99b2****",
                    "id": "27769827602919****",
                    "userName": "j2gg0screatedbyscim****"
                }
            ]
        }
        Remarque

        Pour les filtres SCIM, Alibaba Cloud ne prend en charge que les opérations and et eq sur les attributs id, userName et externalId.

    • Mettez à jour les attributs d'un utilisateur RAM.

      Exemple de requête :

      curl --location --request PUT 'https://scim.aliyun.com/Users/27648498165273****' \
      --header 'Authorization: Bearer  eyJ***hKg' \
      --header 'Content-Type: application/json' \
      --data-raw '{
          "displayName": "j2gg0s_new_****",
          "schemas": [
              "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "externalId": "6e74eec4-ddb5-4e74-bd12-5e7b99b2****",
          "userName": "j2gg0screatedbyscim_new_exa****"
      }'

      Exemple de réponse :

      {
          "displayName": "j2gg0s_new_****",
          "meta": {
              "created": "2020-02-14T03:58:59Z",
              "location": "https://scim.aliyun.com/Users/27648498165273****",
              "lastModified": "2020-02-14T04:03:55Z",
              "resourceType": "User"
          },
          "schemas": [
              "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "externalId": "6e74eec4-ddb5-4e74-bd12-5e7b99b2****",
          "id": "27648498165273****",
          "userName": "j2gg0screatedbyscim_new_exa****"}
    • Supprimez un utilisateur RAM.

      Exemple de requête :

      curl --location --request DELETE 'https://scim.aliyun.com/Users/27648498165273****' \
      --header 'Authorization: Bearer  eyJ***hKg' \
      --header 'Content-Type: application/json'

      Un code d'état HTTP 204 confirme la réussite de la suppression.

      Remarque

      Alibaba Cloud ne prend pas en charge la suppression logique (soft delete). Mappez toutes les opérations de suppression logique vers une suppression définitive (hard delete) avant de synchroniser les données.