Todos los productos
Search
Centro de documentos

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

Última actualización: Sep 03, 2026

Sincronice usuarios desde sus sistemas de identidad locales hacia RAM a través del protocolo SCIM, protegido mediante autorización OAuth 2.0.

Requisitos previos

Se recomienda que un administrador de RAM o un usuario de RAM con permisos de gestión de OAuth realice las operaciones descritas en este tema.

Descripción general

  • SCIM (System for Cross-domain Identity Management) estandariza la gestión de identidades en aplicaciones en la nube. SCIM 2.0 utiliza un modelo de objetos donde todos heredan de Resource con los atributos id, externalId y meta. RFC 7643 extiende estos conceptos con User, Group y EnterpriseUser. Este tema se centra en el recurso User.

  • OAuth (Open Authorization) permite que aplicaciones de terceros accedan a recursos de usuario sin exponer credenciales. Alibaba Cloud admite tres tipos de aplicaciones OAuth: Web Application, Native Application y Server Application. Tanto Web Application como Native Application usan OAuth de 3 patas, mientras que Server Application emplea OAuth de 2 patas. SCIM utiliza OAuth de 2 patas para la comunicación entre cliente y API, según lo define la especificación OAuth 2.0. Overview of OAuth applications.

  • Endpoint de SCIM de Alibaba Cloud: https://scim.alibabacloud.com.

  • Endpoint de OAuth de Alibaba Cloud para obtener un access_token: https://oauth.aliyun.com/v1/token.

Paso 1: Crear y autorizar una aplicación OAuth

  1. Inicie sesión en la consola de RAM con su cuenta de Alibaba Cloud.

  2. En el panel de navegación izquierdo, haga clic en OAuth (Preview).

  3. En la pestaña Enterprise Applications, haga clic en Create Application.

    En Application Type, seleccione Server Application. Create an application.

    Una vez creada la aplicación, obtenga el client_id desde la página de detalles de la aplicación.

  4. Haga clic en el nombre de la aplicación. En la pestaña OAuth Scope, haga clic en Add OAuth Scopes.

    En OAuth Scope, seleccione /acs/scim. Manage OAuth scopes.

  5. Autorice la aplicación OAuth.

    1. En la pestaña OAuth Scope, haga clic en Grants.

    2. En la página Third-party Application Authorization, seleccione Alibaba Cloud Cross-domain Identity Management Service y luego haga clic en Grants.

  6. En la pestaña App Secrets, haga clic en Create Secret para crear un secreto de aplicación.

    Importante

    El valor AppSecretValue se muestra únicamente durante la creación y no puede recuperarse posteriormente. Guárdelo de forma segura.

Paso 2: Sincronizar datos de usuarios

Puede sincronizar los datos de usuarios mediante un cliente como One Identity o directamente a través de las API de SCIM.

  • Cliente: Configure los parámetros de SCIM en un cliente como One Identity para sincronizar los datos de usuarios. Consulte la documentación de One Identity.

  • API de SCIM: Asigne usuarios locales a usuarios de RAM. Puede crear, eliminar, consultar y actualizar los siguientes atributos de usuario de RAM.

    • id: Identificador del usuario de RAM, único a nivel global y generado por el servidor.

    • externalId: Identificador único especificado por el cliente que vincula al usuario de RAM con un usuario en su sistema local.

      Nota

      Los usuarios de RAM creados desde la consola no incluyen el atributo externalId.

    • userName: Nombre único especificado por el cliente para cada usuario.

    • displayName: Nombre para mostrar del usuario de RAM, definido por el cliente.

Para sincronizar datos de usuarios mediante las API de SCIM:

  1. Obtenga el ID (client_id) y el valor del secreto (AppSecretValue) de la aplicación de servidor autorizada.

  2. Para obtener un access_token, envíe una solicitud que incluya client_id y AppSecretValue a https://oauth.aliyun.com/v1/token.

    El encabezado Authorization debe seguir el formato "Authorization: Basic Base64Encode(client_id:AppSecretValue)". Por ejemplo, si client_id=cid y AppSecretValue=123456, el encabezado Authorization debe ser "Authorization: Basic Y2lkOjEyMzQ1Ng==".

    Ejemplo de solicitud:

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

    Ejemplo de respuesta:

    {
        "scope": "/acs/scim",
        "request_id": "8dc768e0-d6fe-4f52-a788-05631dd6c584",
        "access_token": "eyJ***hKg",
        "token_type": "Bearer",
        "expires_in": "3599"
    }
  3. Consulte los valores de ResourceType y Schema compatibles con SCIM de Alibaba Cloud.

    Para consultar los valores de ResourceType admitidos:

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

    Para consultar los valores de Schema admitidos:

    curl --location --request GET 'https://scim.alibabacloud.com/Schemas'
  4. Cree, consulte, actualice y elimine usuarios de RAM.

    • Crear un usuario de RAM.

      Especifique userName, displayName y externalId que correspondan al usuario en su sistema local.

      Ejemplo de solicitud:

      curl --location --request POST 'https://scim.alibabacloud.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****"
      }'

      Ejemplo de respuesta:

      {
          "displayName": "j2gg0s_****",
          "meta": {
              "created": "2020-02-14T03:58:59Z",
              "location": "https://scim.alibabacloud.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****"
      }
    • Consultar un usuario específico de RAM.

      • Utilice GET /Users/{id} para consultar un usuario de RAM por id.

      • Utilice GET /Users?filter=externalId eq xxx para consultar un usuario de RAM por externalId.

      • Utilice GET /Users?filter=userName eq xxx para consultar un usuario de RAM por userName.

        Ejemplo de solicitud:

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

        Ejemplo de respuesta:

        {
            "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.alibabacloud.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****"
                }
            ]
        }
        Nota

        Para filtros SCIM, Alibaba Cloud solo admite las operaciones and y eq sobre los atributos id, userName y externalId.

    • Actualizar atributos de un usuario de RAM.

      Ejemplo de solicitud:

      curl --location --request PUT 'https://scim.alibabacloud.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****"
      }'

      Ejemplo de respuesta:

      {
          "displayName": "j2gg0s_new_****",
          "meta": {
              "created": "2020-02-14T03:58:59Z",
              "location": "https://scim.alibabacloud.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****"}
    • Eliminar un usuario de RAM.

      Ejemplo de solicitud:

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

      Un código de estado HTTP 204 confirma que la eliminación se realizó correctamente.

      Nota

      Alibaba Cloud no admite eliminación lógica. Antes de sincronizar datos, convierta cualquier operación de eliminación lógica en una eliminación definitiva.