All Products
Search
Document Center

Resource Access Management:Provision akun on-premises ke RAM menggunakan SCIM

Last Updated:Mar 26, 2026

Saat perusahaan bermigrasi ke cloud, sinkronisasi akun on-premises sangat penting untuk mengurangi biaya pemeliharaan. Alibaba Cloud memungkinkan Anda menyinkronkan data akun dari sistem on-premises ke Resource Access Management (RAM) menggunakan protokol System for Cross-domain Identity Management (SCIM), yang diamankan dengan Open Authorization (OAuth).

Prasyarat

Kami menyarankan agar semua operasi di Konsol RAM yang dijelaskan dalam topik ini dilakukan oleh administrator RAM atau Pengguna RAM dengan izin manajemen OAuth.

Informasi latar belakang

  • System for Cross-domain Identity Management (SCIM) adalah protokol untuk mengelola identitas pengguna dalam aplikasi cloud multi-tenant. SCIM 2.0 dibangun berdasarkan model objek di mana semua objek SCIM didasarkan pada Resource inti. Resource ini memiliki atribut id, externalId, dan meta. RFC 7643 mendefinisikan ekstensi seperti User, Group, dan EnterpriseUser. Topik ini menggunakan objek User untuk menyinkronkan informasi pengguna.

  • Open Authorization (OAuth) adalah standar terbuka untuk delegasi akses. Protokol ini memungkinkan aplikasi pihak ketiga mengakses resource pengguna tanpa mengekspos kredensial pengguna. Alibaba Cloud mendukung tiga jenis aplikasi OAuth: web application, native application, dan server application. Baik web application maupun native application menggunakan OAuth 3-legged, sedangkan server application menggunakan OAuth 2-legged. SCIM terutama menggunakan mekanisme OAuth 2-legged untuk mengotorisasi komunikasi antara aplikasi client dan penyedia layanan API guna mengaktifkan sinkronisasi data. Untuk informasi lebih lanjut tentang OAuth, lihat OAuth 2.0 dan OAuth application overview.

  • Titik akhir SCIM Alibaba Cloud: https://scim.aliyun.com.

  • Titik akhir OAuth Alibaba Cloud untuk mendapatkan token akses: https://oauth.aliyun.com/v1/token.

Langkah 1: Buat dan otorisasi aplikasi OAuth

  1. Masuk ke Konsol RAM dengan Akun Alibaba Cloud Anda.

  2. Di panel navigasi sebelah kiri, klik OAuth Preview.

  3. Pada tab Enterprise Application, klik Create Application.

    Atur Application Type menjadi Server Application. Untuk informasi selengkapnya, lihat Create an OAuth application.

    Setelah membuat server application, temukan ID aplikasi (client_id) di halaman detail aplikasi tersebut.

  4. Klik nama aplikasi. Pada tab OAuth Scope, klik Add OAuth Scope.

    Untuk OAuth Scope, pilih /acs/scim. Untuk informasi selengkapnya, lihat Manage OAuth scopes.

  5. Otorisasi aplikasi OAuth.

    1. Pada tab OAuth Scope, klik Authorize.

    2. Pada halaman Third-party Application Authorization, pilih Accesses Cross-Domain Identity Management, lalu klik Authorize.

  6. Pada tab Application Secret, klik Create Secret untuk membuat rahasia aplikasi.

    Penting

    Rahasia aplikasi (AppSecretValue) hanya terlihat saat pembuatan. Simpan di lokasi yang aman.

Langkah 2: Sinkronisasi data akun

Anda dapat menyinkronkan data akun dengan menggunakan client, seperti One Identity, atau dengan menggunakan API SCIM.

  • Client: Anda dapat mengonfigurasi pengaturan SCIM di client Anda (misalnya, One Identity), lalu menggunakannya untuk menyinkronkan data akun. Untuk informasi cara mengonfigurasi One Identity, lihat dokumentasi One Identity.

  • SCIM API: Gunakan API SCIM untuk memetakan akun on-premises ke Pengguna RAM. API ini mendukung operasi create, query, modify, dan delete pada atribut Pengguna RAM berikut:

    • id: ID Pengguna RAM. ID ini bersifat unik secara global dan dihasilkan oleh server.

    • externalId: Kunci asing untuk Pengguna RAM. Client menentukan ID ini untuk menghubungkan Pengguna RAM di Alibaba Cloud dengan pengguna di sistem on-premises Anda.

      Catatan

      Pengguna RAM yang dibuat di Konsol RAM tidak memiliki atribut externalId.

    • userName: Username RAM. Nama ini unik di tingkat pengguna dan ditentukan oleh client.

    • displayName: Nama tampilan Pengguna RAM. Nama ini ditentukan oleh client.

Langkah-langkah berikut menjelaskan cara menyinkronkan data akun menggunakan API SCIM Alibaba Cloud.

  1. Dapatkan ID aplikasi (client_id) dan rahasia aplikasi (AppSecretValue) dari server application yang telah diotorisasi.

  2. Akses https://oauth.aliyun.com/v1/token dengan menggunakan client_id dan AppSecretValue untuk mendapatkan access token.

    Header Authorization harus dalam format "Authorization: Basic Base64Encode(client_id:AppSecretValue)". Misalnya, jika client_id adalah cid dan AppSecretValue adalah 123456, header-nya adalah "Authorization: Basic Y2lkOjEyMzQ1Ng==".

    Contoh permintaan:

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

    Contoh respons:

    {
        "scope": "/acs/scim",
        "request_id": "8dc768e0-d6fe-4f52-a788-05631dd6c584",
        "access_token": "eyJ***hKg",
        "token_type": "Bearer",
        "expires_in": "3599"
    }
  3. Kueri ResourceType dan Schema yang didukung oleh SCIM Alibaba Cloud.

    Kueri ResourceType yang didukung:

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

    Kueri Schema yang didukung:

    curl --location --request GET 'https://scim.aliyun.com/Schemas'
  4. Buat, kueri, modifikasi, dan hapus Pengguna RAM.

    • Buat Pengguna RAM.

      Untuk membuat Pengguna RAM, tentukan username RAM (userName), nama tampilan (displayName), dan kunci asing (externalId) menggunakan informasi akun dari sistem on-premises Anda.

      Contoh permintaan:

      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****"
      }'

      Contoh respons:

      {
          "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****"
      }
    • Mencari pengguna RAM tertentu.

      • Gunakan GET /Users/{id} untuk mengkueri Pengguna RAM berdasarkan id.

      • Gunakan GET /Users?filter=externalId eq xxx untuk mengkueri Pengguna RAM berdasarkan externalId.

      • Gunakan GET /Users?filter=userName eq xxx untuk mengkueri Pengguna RAM berdasarkan userName. Kode berikut memberikan contoh permintaan dan respons.

        Contoh permintaan:

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

        Contoh respons:

        {
            "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****"
                }
            ]
        }
        Catatan

        Untuk filter SCIM, Alibaba Cloud hanya mendukung operator and dan eq untuk atribut id, userName, dan externalId.

    • Modifikasi atribut Pengguna RAM.

      Contoh permintaan:

      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****"
      }'

      Contoh respons:

      {
          "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****"}
    • Hapus Pengguna RAM.

      Contoh permintaan:

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

      Kode status HTTP 204 menunjukkan bahwa Pengguna RAM berhasil dihapus.

      Catatan

      Alibaba Cloud saat ini tidak mendukung soft deletion. Jika sistem Anda mendukung soft deletion, petakan soft deletion ke hard deletion sebelum menyinkronkan data ke Alibaba Cloud.