メインコンテンツへスキップ

はじめに

System for Cross-domain Identity Management(SCIM)は、システムがIDの管理に使用できるAPIエンドポイントを定義する規格です。SSO統合では、Domoは新規または更新されたユーザーに関する情報を、これらのユーザーがDomoにログインしたときにのみ受け取ります。ただし、SCIMを使用すると、アイデンティティープロバイダー(IdP)でユーザーとグループが作成および変更されたときに、Domoでユーザーとグループを作成または更新するようにIdPを設定できます。
注記: SCIMの詳細については、 IETFプロトコルドキュメント を参照してください。
この記事では、DomoでSCIMの利用を開始する方法を説明します。
ヒント: SSOの実装の詳細については こちら 、Domoやその他のセキュリティに関するナレッジベースのトピックについては こちら を参照してください。


必要条件

DomoのSCIMエンドポイントは、Domoアクセストークンを使用したヘッダーベースの認証を使用します。 DomoのSCIMエンドポイントは、以下の2つの認証ヘッダーのいずれかを受け入れます。どちらもアクセストークンを必要とします。
  • Authorization: Bearer < Domoアクセストークン > * X-Domo-Developer-Token: < Domoアクセストークン > アクセストークンを生成する方法については、 こちら を参照してください。

必要な許可とSCIM統合ユーザー

SCIM統合のカスタマイズされた権限とユーザーの作成を推奨します。
  1. Domoインスタンスのカスタマイズされた権限として「SCIM統合権限」を作成します。 この 権限は、SCIM統合の使用目的をサポートするために必要な許可のみに割り当てられます(以下の「必要な許可」を参照)。カスタマイズされた権限の作成および定義については こちら を参照してください。
  2. Domoインスタンスに「SCIM統合ユーザー」を作成し、それをSCIM統合権限に割り当てます。 DomoのSCIMエンドポイントでは、Domoアクセストークンを使用した認証が必要であり、アクセストークンは特定のDomoユーザーに関連付けられています。このアプローチを使用すると、SCIM統合で使用されるアクセストークンをSCIM統合ユーザーに割り当てられます。
この推奨ユーザーと権限を作成するかどうかにかかわらず、SCIM統合で使用されるアクセストークンの所有者は、以下の許可を有効にする必要があります。
  • [全てのユーザーを管理] — この許可の所有者は、ユーザーを作成、編集、削除し、パスワードをリセットできます。
  • [全ての権限を管理] — この許可の所有者は、カスタマイズされた権限を作成、編集、削除でき、すべてのユーザーにあらゆる権限をアサインできます。
  • [全てのグループを管理] この許可の所有者は、グループ設定の管理、特別なDomoグループの変更、SCIM経由でのディレクトリグループの作成と管理を行えます。 注記: SCIMグループエンドポイントまたはSCIMユーザーエンドポイントのグループ関連属性を使用しない場合は、この許可は必要ありません。
    注記: これらの管理者レベルの許可は自動的に「管理者」のシステム権限に含まれ、権限の設定やパスワードの変更など、ユーザーのあらゆる側面を追加および管理できます。
カスタマイズされた権限にこれらの許可を追加する方法については、 こちら を参照してください。 このページのトップへ

IdP設定

IdPとDomoの間のSCIM統合は、IdP側で設定されています。開始するには、IdPのドキュメントを参照してください。 設定の間、IdPからDomoに同期するユーザー属性を設定する必要があります。DomoのSCIMエンドポイントは、以下の6つのSCIMスキーマの要素をマップします。

ユーザーエンドポイント

  • コア(urn:ietf:params:scim:schemas:core:2.0:User)
  • エンタープライズ(urn:ietf:params:scim:schemas:extension:enterprise:2.0:User)
  • カスタム(urn:ietf:params:scim:schemas:extension:custom:2.0:User)

グループエンドポイント

  • Domo (urn:ietf:params:scim:schemas:extension:domo:2.0:User)
  • グループ(urn:ietf:params:scim:schemas:core:2.0:Group)
  • Domoグループ(urn:ietf:params:scim:schemas:extension:domo:2.0:Group)
これらのスキーマとその要素は、Domoの様々なユーザー属性とグループ属性にマップされます。以下の表は、Domoのユーザーとグループの属性名と対応するSCIMスキーマと属性を示しています。

Domo属性とSCIMユーザーエンドポイント

SCIMスキーマと要素

ユーザー名

これはユーザーのメールアドレスで、Domoのユーザーの固有の識別子です。

Core / userName

名前

Core / displayName

メール

Core / emails / {emails (required), type [primary | alternate]}

代替メール

Core / emails / {email (required), type [primary | alternate]}

権限

Domoは、ユーザーごとに1つの権限をサポートします。

Core / roles / {id(required), name}

社員ID

Enterprise / employeeNumber

雇用日

Domo / hireDate

タイトル

Core / title

部署

Enterprise / department

場所

Domo / employeeLocation

携帯電話

Core / phoneNumbers / {phoneNumber, type [cell | desk]}

固定電話

Core / phoneNumbers / {phoneNumber, type [cell | desk]}

ロケール

Core / locale

タイムゾーン

Core / timezone

グループ

Core / groups / { value , display }

value はDomoのグループIDで、 display はIdPで定義されたグループ名です。

組織

Enterprise / organization

マネージャー

Enterprise / manager

value は管理者のDomoユーザーIDです。

すべてのカスタム属性

注記: カスタム属性は、SCIMで入力する前にDomoで定義する必要があります。SCIMのキーは、Domoの属性キーと完全に一致する必要があります(大文字と小文字が区別されます)。

サポートされている値のタイプは、以下のDomoのカスタムユーザー属性と同じです。

  • 文字列
  • 文字列のリスト
  • 大きな小数
  • 大きな小数のリスト
  • 整数
  • 整数のリスト
  • プラスの整数
  • 日付
  • 日付のリスト
  • 日時
  • 日時のリスト
  • 長い数字

Domoのカスタム属性の詳細については、 こちら を参照してください。

Custom / customAttributes [{ key , values }]

key は、Domoおよびで定義されている属性キー、 values はユーザー属性値です。

注記: valuesは、属性のデータ型、または属性が単一値かリストかに関係なく、文字列のリストとして指定する必要があります。

ディレクトリ名

IdPで定義されているグループ名です。

Group / displayName

Domoグループ表示名

Domoユーザーが最も簡単にアクセスできるDomoのグループ名です。コンテンツの共有やカード所有権の表示の際などに、製品全体のユーザーに表示されます。

Domo Group / domoDisplayName

説明

Domo Group / description

グループメンバーシップ

Group / members / [{ value , display }]

value は、グループメンバーのDomoユーザーIDで、 display はユーザー名です。

このページのトップへ

サポートされるエンドポイント

DomoのSCIM実装は、多くの標準的なエンドポイントをサポートしています。以下のセクションのエンドポイント情報は、IdPの設定に役立ちます。 各アクションで何が必要かについての詳細は、 SCIM仕様 を参照してください。 エンドポイント
 {YourDomoSubdomain}.domo.com/api/identity/v1/scim

設定とスキーマ

Domoでは、以下の設定とスキーマのエンドポイントがサポートされています。

エンドポイント名

説明

エンドポイント

サービスプロバイダー設定を取得する

DomoがサポートするSCIM機能を取得します。

GET /ServiceProviderConfig

スキーマを取得する

サポートされているSCIMスキーマの詳細なリストを取得します。

GET /Schemas

ユーザースキーマを取得する

ユーザースキーマを取得します。

GET /Schemas/User
このページのトップへ

ユーザー

Domoでは、以下のユーザーエンドポイントがサポートされています。

エンドポイント名

説明

エンドポイント

ユーザーを取得する

ユーザーをフィルターするための様々なリクエストパラメーターを持つすべてのユーザーを取得します。以下のリクエストパラメーターとフィルターパラメーターがサポートされています。

  • Filter
  • requestedAttributes(文字列のカンマ区切りリスト)
  • startIndex(オフセット)
  • count(制限)
  • sortBy(並べ替えの基準となるユーザー属性を選択する)
  • sortOrder(「昇順」または「降順」)
GET /Users

ユーザーを取得する

Domo userIdで指定されたユーザーを取得します。リクエストされた属性は、「attributes」という名前のクエリパラメーターを使用して、カンマ区切りリストとして渡すことができます。一部の属性は常に返されることに注意してください。

GET /Users/

例:

  • phoneNumber属性を持つユーザーを返します。
    /Users/?

    attributes=phoneNumbers
  • カスタム属性を含むすべてのDomo属性を持つユーザーを返します。
    /scim/Users/?

    attributes= _all

ユーザーをPUTする

Domo userIdでユーザーを更新します。ユーザーの既存の属性は、PUTリクエストで指定された属性に完全に置き換えられます。部分的に既存のユーザーを更新する必要がある場合は、PATCHユーザーエンドポイントを使用します。

PUT /Users/

ユーザーをPatch する(ベータ版)

リクエスト本文で指定されているように、ユーザーの属性を部分的に更新します。ほとんどのユーザー属性は、追加、置換、削除できます。

PATCH /Users/

ユーザーを削除する

指定したDomoユーザーを削除します。

注記: Domo DataSetまたはDataFlowを所有しているユーザーをSCIMで削除することはできません。これは、DomoではすべてのDataSetとDataFlowに所有者がいる必要があり、所有者を削除する前に、これらのオブジェクトの管理者権限を再割り当てする必要があるためです。

DELETE /Users/

ユーザーをPOSTする

Domoでユーザーを作成します。

POST /Users
このページのトップへ

グループ(ベータ版)

Domoディレクトリグループ(IdPで定義され、SSOまたはSCIM統合経由でDomoで作成および管理されるグループ) は、SSOおよびSCIMを介して作成、管理、および削除できます。SCIM APIは、ディレクトリグループでのみ機能します。つまり、SCIM経由で作成されたグループは常にディレクトリグループであり、グループを取得するエンドポイントはディレクトリグループに関する情報のみを返します。Domoのディレクトリグループとその他のグループタイプについては こちら を参照してください。 DomoのSCIM統合は、SCIM統合で使用されるDomoアクセストークンを所有するDomoユーザーのコンテキストで機能します。( 前述の SCIM統合ユーザーの推奨事項を参照してください)DomoディレクトリグループをSCIM経由で管理できるようにするには、ディレクトリグループの管理を許可するユーザーとして、グループ設定でDomo SCIM統合ユーザーを指定する必要があります。 グループ設定でSCIM統合ユーザーを指定するには、次の手順を実行します。
  1. [管理者][ガバナンス][グループ] の順に移動します。
  2. [グループ設定] (歯車のアイコン)を選択します。
  3. 表示されるモーダルでドロップダウンを使用してSCIM統合ユーザーを選択し、変更を保存します。
Domoでは、以下のグループエンドポイントがサポートされています。
エンドポイント名 説明 エンドポイント
グループを取得する IDでグループを取得します。
GET /Groups/
グループをPOSTする Domoでグループを作成します。
POST /Groups
グループをPUTする グループを更新します。Domoのグループ定義は、新しいグループ定義に完全に置き換えられます。
PUT /Groups
グループをPatchする グループを更新します。
PATCH /Groups/
グループを削除する グループを削除します。
DELETE /Groups/

SCIMステータス

以下の表に、使用可能な各アクションのステータスを示します。
タイプ アクション 仕様準拠のAPI Oktaでテスト済み Entraでテスト済み その他
設定とスキーマ サービスプロバイダー設定を取得する
設定とスキーマ スキーマを取得する
設定とスキーマ ユーザースキーマを取得する
ユーザー ユーザーを取得する
ユーザー ユーザーを取得する
ユーザー ユーザーをPUTする
ユーザー ユーザーをPATCHする ベータ版
ユーザー ユーザーを削除する
ユーザー ユーザーをPOSTする
グループ グループを取得する ベータ版
グループ グループをPOSTする ベータ版
グループ グループをPUTする ベータ版
グループ グループをPatchする ベータ版
グループ グループを削除する ベータ版
このページのトップへ 日本語