全部产品
Search
文档中心

Resource Access Management:Sinkronkan akun dari sistem internal perusahaan ke RAM berdasarkan SCIM

更新时间:Jun 27, 2025

Untuk mengurangi biaya pemeliharaan dan manajemen, perusahaan dapat menyinkronkan akun dari sistem internal mereka ke cloud menggunakan serangkaian aturan. Alibaba Cloud mendukung sinkronisasi informasi pengguna dari sistem internal perusahaan ke Resource Access Management (RAM) melalui System for Cross-domain Identity Management (SCIM) dan otorisasi keamanan aplikasi Open Authorization (OAuth).

Prasyarat

  • Disarankan untuk melakukan operasi di konsol RAM menggunakan pengguna RAM dengan hak administratif atau izin manajemen OAuth.

Informasi latar belakang

  • SCIM adalah protokol yang digunakan untuk mengelola identitas pengguna dalam aplikasi dan layanan berbasis cloud. SCIM 2.0 dibangun di atas model objek di mana sumber daya menjadi penyebut umum, dan semua objek SCIM diturunkan dari sumber daya tersebut. Sumber daya ini mencakup atribut id, externalId, dan meta. RFC 7643 mendefinisikan atribut umum seperti User, Group, dan EnterpriseUser. Dalam topik ini, atribut User digunakan untuk menyinkronkan informasi pengguna. Untuk detail lebih lanjut tentang RFC 7643, lihat RFC 7643.

  • OAuth mendefinisikan standar aman, terbuka, dan sederhana untuk otorisasi sumber daya pengguna. Pihak ketiga dapat memperoleh informasi otorisasi tanpa perlu nama pengguna dan kata sandi pengguna. OAuth mendukung tipe aplikasi berikut: Web Application, Native Application, dan Server Application. Web Application dan Native Application menggunakan OAuth 3-kaki, sedangkan Server Application menggunakan OAuth 2-kaki. SCIM menggunakan OAuth 2-kaki untuk menyelesaikan otorisasi antara aplikasi (konsumen) dan API (penyedia layanan). Setelah otorisasi selesai, aplikasi dapat memanggil API untuk menyinkronkan data. Untuk informasi lebih lanjut tentang OAuth, lihat OAuth 2.0 dan Ikhtisar.

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

  • Titik akhir untuk mendapatkan token akses (access_token) menggunakan OAuth: https://oauth.aliyun.com/v1/token.

Langkah 1: Buat dan otorisasi aplikasi OAuth

  1. Masuk ke konsol RAM menggunakan akun Alibaba Cloud.

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

  3. Pada tab Enterprise Application, klik Create Application untuk membuat aplikasi OAuth.

    Pada halaman yang muncul, atur Application Type menjadi Server Application. Untuk informasi lebih lanjut, lihat Buat aplikasi.

    Setelah aplikasi server dibuat, Anda dapat memperoleh ID aplikasi (client_id) pada halaman detail aplikasi.

  4. Klik nama aplikasi. Pada tab OAuth Scope, klik Add OAuth Scope untuk menambahkan ruang lingkup.

    Pada panel yang muncul, pilih /acs/scim di bagian All OAuth Scope. Untuk informasi lebih lanjut, lihat Tambah 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 dan klik Authorize.

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

    Penting
    • Rahasia aplikasi (AppSecretValue) hanya ditampilkan saat pembuatan. Kami menyarankan Anda menyimpan rahasia tersebut untuk digunakan selanjutnya.

Langkah 2: Sinkronkan data akun

Anda dapat menggunakan klien atau API SCIM untuk menyinkronkan data akun. Sebagai contoh, Anda dapat menggunakan One Identity sebagai klien.

  • Anda dapat mengonfigurasi informasi SCIM di One Identity dan kemudian menyinkronkan data akun menggunakan One Identity. Untuk informasi lebih lanjut tentang cara mengonfigurasi One Identity, lihat Panduan Pengguna One Identity.

  • Anda juga dapat menggunakan API SCIM untuk memetakan akun dalam sistem internal perusahaan Anda ke pengguna RAM. Kemudian, Anda dapat membuat, menghapus, menanyakan, atau memodifikasi bidang pengguna RAM. Bidang yang dapat dimanipulasi meliputi:

    • id: ID pengguna RAM, yang unik secara global dan dibuat oleh server.

    • externalId: Kunci asing pengguna RAM, yang unik pada tingkat pengguna dan ditentukan oleh klien. Digunakan untuk mengaitkan pengguna RAM dengan pengguna dalam sistem internal perusahaan Anda.

      Catatan

      Jika Anda membuat pengguna RAM di konsol RAM, pengguna tersebut tidak memiliki bidang externalId.

    • userName: Nama pengguna RAM, yang unik pada tingkat pengguna dan ditentukan oleh klien.

    • displayName: Nama tampilan pengguna RAM, yang ditentukan oleh klien.

Berikut adalah langkah-langkah untuk menyinkronkan data akun menggunakan API SCIM:

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

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

    Saat mengirim permintaan API, tentukan header Otorisasi dalam format "Authorization: Basic Base64Encode(client_id:AppSecretValue)". Sebagai contoh, jika client_id adalah cid dan AppSecretValue adalah 123456, header Otorisasi harus ditentukan sebagai "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. Tanyakan ResourceType dan Schema yang didukung oleh SCIM.

    Berikut adalah kode contoh untuk menanyakan ResourceType:

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

    Berikut adalah kode contoh untuk menanyakan Schema:

    curl --location --request GET 'https://scim.aliyun.com/Schemas'
  4. Buat, tanyakan, hapus, atau modifikasi bidang pengguna RAM.

    • Buat pengguna RAM.

      Tentukan nama pengguna (userName), nama tampilan (displayName), dan kunci asing (externalId) berdasarkan data akun dalam sistem internal perusahaan Anda. Kemudian, buat pengguna RAM.

      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****"
      }
    • Tanyakan pengguna RAM.

      • Gunakan GET /Users/{id} untuk menanyakan pengguna RAM berdasarkan id.

      • Gunakan GET /Users?filter=externalId eq xxx untuk menanyakan pengguna RAM berdasarkan externalId.

      • Gunakan GET /Users?filter=userName eq xxx untuk menanyakan pengguna RAM berdasarkan userName.

        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

        SCIM hanya mendukung filter and dan eq untuk menanyakan pengguna berdasarkan id, userName, serta externalId.

    • Modifikasi bidang 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'

      Jika kode status HTTP 204 dikembalikan, pengguna RAM berhasil dihapus.

      Catatan

      Alibaba Cloud tidak mendukung penghapusan lunak. Jika sistem internal perusahaan Anda mendukung penghapusan lunak, kami menyarankan Anda memetakan penghapusan lunak ke penghapusan keras sebelum menyinkronkan akun ke Alibaba Cloud.