SCIMでのユーザーやグループのプロビジョニング

System for Cross-domain Identity Management(SCIM)API標準規格により、Notionワークスペースのユーザーやグループのプロビジョニングや管理ができます 🔑

注:この機能は、ビジネスプランまたはエンタープライズプランのユーザーのみが利用できます。
NotionのSCIM APIを使用すると、次の操作が可能になります:
ユーザープロビジョニングと管理
ワークスペースのメンバー作成、削除
メンバーのプロフィール情報更新
ワークスペースのメンバー取得
メールアドレスまたは名前でメンバーを検索します。
グループプロビジョニングと管理
ワークスペースのグループ作成、削除
グループメンバーの追加、削除
ワークスペースのグループ取得
名前でグループを検索します。

注:現時点では、NotionのSCIM APIを使用してワークスペースゲストを管理することはできません。
現在、OneLogin、Okta、Rippling、カスタムSCIMアプリケーションがサポートされています。他のIDプロバイダーをご利用の場合は、お問い合わせください。特定のアプリのIDプロバイダー設定の手順はこちら →
NotionでのSCIMの前提条件
NotionでSCIMを使用する方法:
エンタープライズプランのワークスペースであること。
IDプロバイダー(IdP)がSAML 2.0プロトコルをサポートしていること。特定のアプリのIDプロバイダー設定の手順はこちら →
ワークスペースオーナーが、NotionワークスペースのSAML SSOを設定すること。
SCIMを使用してユーザーの名前またはメールアドレスを変更する場合は、メールドメインの所有権が検証済みである必要があります。ドメイン検証について詳しくはこちら →
SCIM APIトークンの生成
エンタープライズプランの組織オーナーのみが、SCIM APIトークンを生成して表示できます。SCIM APIトークンを作成する方法:
ワークスペース切り替えメニューを開き、
組織を管理する
を選択します。まだの場合は、まず組織の設定
が必要になる場合があります。詳しくはこちら →組織レベルのコントロールの「
一般
」タブで、SCIMプロビジョニング
の横にある>
を選択します。

Note: For each workspace you want to manage via SCIM, you must generate a separate SCIM API token.
トークンの取り消し
ワークスペースオーナーがワークスペースから退出するか、ロールが変更されると、トークンは取り消されます。この場合、ワークスペースの残りのワークスペースオーナーに自動メッセージが送信され、取り消されたトークンを置き換えるように通知されます。
さらに、アクティブなトークンは、ワークスペース内のどのワークスペースオーナーでも取り消すことができます。トークンを取り消すには、それぞれのトークンの横にある 🗑
をクリックします。
既存トークンの置き換え
トークンが取り消された場合は、既存のインテグレーションでトークンを置き換える必要があります。
失効したトークンに依存するSCIMインテグレーションおよびユーザープロビジョニングは、有効なトークンに置き換えられるまで使用不可になります。

備考: 既存のインテグレーションに影響を与えないようにするには、プロビジョニングを解除する前に、管理者に関連付けられているトークンをすべて置き換えてください。
招待メールの停止
エンタープライズプランの組織オーナーは、SCIMによるプロビジョン設定時に、ワークスペースやグループへの招待をメールで送信するかどうかを次の手順で管理できます。
ワークスペース切り替えメニューを開き、
組織を管理する
を選択します。ユーザーにメールを送信しない場合は、「
一般
」タブで、「SCIMプロビジョニングからの招待メールを停止
」をオンに切り替えます。
GET /ServiceProviderConfig
GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=serviceproviderconfig>
利用可能なSCIM仕様の機能の説明を取得します。
SCIMプロトコル仕様のセクション5で定義されています。
GET /ResourceTypes
GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=resourcetypes>
利用可能なSCIMリソースタイプのリストを取得します。
SCIMプロトコル仕様のセクション6で定義されています。
以下のテーブルは、SCIMユーザー属性とNotionユーザーのプロフィールフィールドの間のマッピングの概要を示しています。当社では、製品の使用体験を改善する目的で、他の属性値を追加で保存する場合があります。

GET /Users
GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=users>
ワークスペースメンバーのページ分割されたリストを取得します。
StartIndex
とcount
パラメーターを使用して、ページ番号を付けることができます。StartIndex
は1から起算され、countは最大100であることにご留意ください。filter
パラメーターを使用して、結果を絞り込むことができます。絞り込みに有効な属性は、email
、given_name
、family_name
です。例:GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 users?startindex="1&count=50&filter=email">
eq employee@acmecorp.comgiven_name
とfamily_name
では、大文字と小文字が区別されることにご留意ください。メールアドレスは、小文字に変換されます。
GET /Users/<id>
GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=users/><id>
NotionのユーザーIDにより、特定のワークスペースメンバーを取得します。これは
00000000-0000-0000-0000-000000000000
の形式の32文字のUUIDとなります。meta.created
とmeta.lastModified
は、意味のあるタイムスタンプ値を反映しないことにご留意ください。
POST /Users
POST <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=users>
追加しようとしているユーザーが既に同じメールアドレスでNotionのユーザーアカウントを持っている場合、そのユーザーはワークスペースに追加されます。
ユーザーが存在しない場合にこれを呼び出すと、新しいNotionユーザーが作成され、作成されたユーザーがワークスペースに追加されます。作成されるNotionユーザープロフィールにマッピングされます。
SCIM APIは、ユーザーの作成時にプロフィール写真のプロパティを読み取りますが、今後の更新では読み取りません。
PATCH /Users/<id>
PATCH <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=users/><id>
いくつかの操作を実行して更新し、更新されたユーザーレコードを返します。

備考: ユーザーのメールドメイン(通常、NotionへのSAMLシングルサインオン用に設定したメールドメインと同じ)の所有権が検証されている場合のみ、メンバーのプロフィール情報を更新できます。ドメインを検証はこちらの手順に沿って実施してください →
PUT /Users/<id>
PUT <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=users/><id>
更新し、更新されたユーザーレコードを返します。
DELETE /Users/<id>
DELETE <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=users/><id>
ワークスペースからユーザーを削除します。ユーザーは、アクティブなセッションすべてからログアウトされます。
ユーザーアカウント自体は、SCIMを通して削除できません。アカウントの削除は手動で行ってください。
PATCH /Users/
またはPUT /Users/
リクエストを送信して、アクティブ<id>
なユーザー属性をfalse<id>
に設定することで、ワークスペースからユーザーを削除することもできます。SCIMボットトークンを作成したワークスペースオーナーは、APIを介して削除することはできません。SCIM APIを介してワークスペースオーナーが削除されると、このワークスペースオーナーが作成したトークンはすべて取り消され、そのボットを使用するインテグレーションがすべて機能しなくなります。

備考: 既存のユーザースキーマの拡張機能である ロール
の属性を使用することで、ワークスペースレベルを ユーザー
に割り当てることができます。形式は以下の通りです。
"urn:ietf:params:scim:schemas:extension:notion:2.0:User": { role: string // "owner" | "membership_admin" | "member" }
GET /Groups
GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=groups>
ワークスペースグループのページ分割されたリストを取得します。
StartIndex
とcount
パラメーターを使用して、ページ番号を付けることができます。StartIndex
は1から起算されること、またcountは最大100であることにご留意ください。例:GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 groups?startindex="1&count=5">
ページ分割を使用しない場合は、リクエストあたり最大100のワークスペースグループが返されます。
filter
パラメーターを使用して、結果を絞り込むことができます。グループは、displayName
属性で絞り込めます。例:GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 groups?filter="displayName">
eq Designers
GET /Groups/<id>
GET <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=groups/><id>
NotionのグループIDにより、特定のワークスペースグループを取得します。これは
00000000-0000-0000-0000-000000000000
の形式の32文字のUUIDとなります。
POST /Groups
POST <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=groups>
新しいワークスペースグループを作成します。
PATCH /Groups/<id>
PATCH <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=groups/><id>
いくつかの操作を実行してワークスペースグループを更新します。
PUT /Groups/<id>
PUT <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=groups/><id>
ワークスペースグループを更新します。
DELETE /Groups/<id>
DELETE <https: mem-invalid-attributes-holder=api.notion.com mem-invalid-attributes-holder=scim mem-invalid-attributes-holder=v2 mem-invalid-attributes-holder=groups/><id>
ワークスペースグループを削除します。

備考: ページへのフルアクセス権を持つユーザーがいなくなる場合は、グループを削除できません。

詳しくはこちら