すべてのプロダクト
Search
ドキュメントセンター

Resource Access Management:SCIM による Alibaba Cloud RAM へのユーザープロビジョニング

最終更新日:May 28, 2026

オンプレミスのアイデンティティシステムから SCIM プロトコルを通じてユーザーを Resource Access Management (RAM) に同期し、OAuth 2.0 の認可によってセキュリティを確保します。

前提条件

このトピックの操作は、RAM 管理者または OAuth 管理権限を持つ RAM ユーザーが実行することを推奨します。

概要

  • SCIM (System for Cross-domain Identity Management) は、クラウドアプリケーション間のアイデンティティ管理を標準化します。SCIM 2.0 は、すべてのオブジェクトが idexternalIdmeta 属性を持つリソースから継承するオブジェクトモデルを使用します。RFC 7643 は、これらを UserGroup、および EnterpriseUser で拡張します。このトピックでは、User リソースを使用します。

  • OAuth (Open Authorization) を使用すると、サードパーティアプリケーションは認証情報を公開することなくユーザーリソースにアクセスできます。Alibaba Cloud は、[ Web アプリケーション ]、[ ネイティブアプリケーション ]、[ サーバーアプリケーション ]の 3 種類の OAuth アプリケーションをサポートしています。[ Web アプリケーション ]と[ ネイティブアプリケーション ]はどちらも 3-legged OAuth を使用しますが、[ サーバーアプリケーション ]は 2-legged OAuth を使用します。SCIM は、OAuth 2.0 仕様で定義されているように、クライアントと API 間の通信に 2-legged OAuth を使用します。詳細については、「OAuth アプリケーションの概要」をご参照ください。

  • Alibaba Cloud SCIM エンドポイント:https://scim.aliyun.com

  • access_token を取得するための Alibaba Cloud OAuth エンドポイント:https://oauth.aliyun.com/v1/token

ステップ1:OAuthアプリケーションの作成と認可

  1. Alibaba Cloud アカウントを使用してRAM コンソールにログインします。

  2. 左側のナビゲーションペインで、OAuth Preview をクリックします。

  3. エンタープライズアプリケーション タブで、アプリケーションの作成 をクリックします。

    アプリケーションタイプ サーバーアプリケーション を選択します。詳細については、「アプリケーションの作成」をご参照ください。

    作成後、アプリケーション詳細ページから client_id を取得します。

  4. アプリケーション名をクリックします。OAuth スコープ タブで、OAuth スコープの追加 をクリックします。

    OAuth スコープ[/acs/scim] を選択します。詳細については、「OAuthスコープの管理」をご参照ください。

  5. OAuth アプリケーションを認可します。

    1. OAuth スコープ タブで、許可 をクリックします。

    2. [サードパーティアプリケーションの認可] ページで、[Alibaba CloudクロスドメインID管理サービス] を選択し、許可 をクリックします。

  6. App Secret タブで、Secret の作成 をクリックしてアプリケーションシークレットを作成します。

    重要

    AppSecretValue は作成時に一度しか表示されず、再取得はできません。安全な場所に保管してください。

ステップ2:ユーザーデータの同期

One Identity などのクライアント経由、または SCIM API を通じて直接ユーザーデータを同期できます。

  • クライアント:One Identity などのクライアントで SCIM 設定を行い、ユーザーデータを同期します。詳細については、「One Identity ドキュメント」をご参照ください。

  • SCIM API:オンプレミスユーザーを RAM ユーザーにマッピングします。次の RAM ユーザー属性を作成、削除、クエリ、更新できます。

    • id:RAM ユーザーの ID。グローバルに一意で、サーバーによって生成されます。

    • externalId:RAM ユーザーをオンプレミスシステムのユーザーに関連付ける、クライアント指定の一意の ID。

      説明

      コンソールで作成された RAM ユーザーにはexternalId 属性がありません。

    • userName:各ユーザーに対してクライアントが指定する一意の名前。

    • displayName:クライアントによって指定される RAM ユーザーの表示名。

SCIM API を使用してユーザーデータを同期するには:

  1. 認可済みのサーバーアプリケーションの ID (client_id) とシークレット値 (AppSecretValue) を取得します。

  2. access_token を取得するには、client_idAppSecretValue を含むリクエストを https://oauth.aliyun.com/v1/token に送信します。

    Authorization ヘッダーは "Authorization: Basic Base64Encode(client_id:AppSecretValue)" の形式を使用します。たとえば、client_id=cidAppSecretValue=123456 の場合、Authorization ヘッダーは "Authorization: Basic Y2lkOjEyMzQ1Ng==" となります。

    リクエストの例:

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

    レスポンスの例:

    {
        "scope": "/acs/scim",
        "request_id": "8dc768e0-d6fe-4f52-a788-05631dd6c584",
        "access_token": "eyJ***hKg",
        "token_type": "Bearer",
        "expires_in": "3599"
    }
  3. Alibaba Cloud SCIM がサポートする ResourceTypeSchema の値をクエリします。

    サポートされている ResourceType をクエリするには:

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

    サポートされている Schema をクエリするには:

    curl --location --request GET 'https://scim.aliyun.com/Schemas'
  4. RAM ユーザーを作成、クエリ、更新、削除します。

    • RAM ユーザーの作成

      オンプレミスシステムのユーザーにマッピングする userNamedisplayNameexternalId を指定します。

      リクエストの例:

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

      レスポンスの例:

      {
          "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****"
      }
    • 特定の RAM ユーザーのクエリ

      • GET /Users/{id} を使用して、id で RAM ユーザーをクエリします。

      • GET /Users?filter=externalId eq xxx を使用して、externalId で RAM ユーザーをクエリします。

      • GET /Users?filter=userName eq xxx を使用して、userName で RAM ユーザーをクエリします。

        リクエストの例:

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

        レスポンスの例:

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

        SCIM フィルターでは、Alibaba Cloud は iduserNameexternalId 属性に対する andeq 演算のみをサポートしています。

    • RAM ユーザー属性の更新

      リクエストの例:

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

      レスポンスの例:

      {
          "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****"}
    • RAM ユーザーの削除

      リクエストの例:

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

      HTTP ステータスコード 204 は、削除が成功したことを示します。

      説明

      Alibaba Cloud は論理削除をサポートしていません。データを同期する前に、すべての論理削除操作を物理削除にマッピングしてください。