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プロビジョニングの横にある>を選択します。

備考:SCIMを介して管理するワークスペースごとに、個別のSCIM APIトークンを生成する必要があります。
トークンの取り消し
ワークスペースオーナーがワークスペースから退出するか、ロールが変更されると、トークンは取り消されます。この場合、ワークスペースの残りのワークスペースオーナーに自動メッセージが送信され、取り消されたトークンを置き換えるように通知されます。
さらに、アクティブなトークンは、ワークスペース内のどのワークスペースオーナーでも取り消すことができます。トークンを取り消すには、それぞれのトークンの横にある 🗑 をクリックします。
既存トークンの置き換え
トークンが取り消された場合は、既存のインテグレーションでトークンを置き換える必要があります。
失効したトークンに依存するSCIMインテグレーションおよびユーザープロビジョニングは、有効なトークンに置き換えられるまで使用不可になります。

備考: 既存のインテグレーションに影響を与えないようにするには、プロビジョニングを解除する前に、管理者に関連付けられているトークンをすべて置き換えてください。
招待メールの停止
エンタープライズプランの組織オーナーは、SCIMによるプロビジョン設定時に、ワークスペースやグループへの招待をメールで送信するかどうかを次の手順で管理できます。
ワークスペース切り替えメニューを開き、
組織を管理するを選択します。ユーザーにメールを送信しない場合は、「
一般」タブで、「SCIMプロビジョニングからの招待メールを停止」をオンに切り替えます。
SCIM経由で制限付きメンバーをプロビジョニングする
SCIM経由で制限付きメンバーをプロビジョニングするには、SCIMの「role」属性を「restricted_member」に設定する必要があります。
"urn:ietf:params:scim:schemas:extension:notion:2.0:User": { role: string // "owner" | "membership_admin" | "member" | "restricted_member" }
SCIM経由でページゲストを制限付きメンバーに移行するには、POST /scim/v2/Usersを使用する必要があります。
GET /ServiceProviderConfigGET利用可能なSCIM仕様の機能の説明を取得します。
SCIMプロトコル仕様のセクション5で定義されています。
GET /ResourceTypesGET利用可能なSCIMリソースタイプのリストを取得します。
SCIMプロトコル仕様のセクション6で定義されています。
以下のテーブルは、SCIMユーザー属性とNotionユーザーのプロフィールフィールドの間のマッピングの概要を示しています。組織のオーナーは、Notionに送信する属性を選択し、いつでもその属性を更新できます。Notionは、Notion SCIM APIを介して送信された属性を処理し、ユーザーとグループのプロビジョニングと管理のエクスペリエンスを向上させます。
SCIM属性 | Notionユーザープロフィールフィールド |
|---|---|
userName | メールアドレス(このフィールドは必須です) |
name.formatted | 名前(推奨される名前のフィールド。Notionには単一の名前フィールドがあるため、Oktaで任意の名前フィールドを組み合わせる式を作成できます。) |
name.familyName | 名前(name.formattedの代わりにname.givenNameと組み合わせて使用できます。) |
name.givenName | 名前(name.formattedの代わりにname.familyNameと組み合わせて使用できます。) |
photos | プロフィール写真 |
title | タイトル |
enterprise.manager.value | マネージャー(これはメールアドレスである必要があります) |
enterprise.manager.displayName | マネージャー |
phoneNumbers | 電話番号 |
addresses | 住所 |
enterprise.division | 事業部 |
enterprise.department | 部署 |
enterprise.costCenter | コストセンター |
enterprise.organization | 組織 |
enterprise.employeeNumber | 従業員番号 |
roles | ロール |
timezone | タイムゾーン |
locale | 地域 |
preferredLanguage | 希望する言語 |
userType | UserType |
emails | メールアドレス |
active | 有効 |
GET /UsersGETワークスペースメンバーのページ分割されたリストを取得します。
StartIndexとcountパラメーターを使用して、ページ番号を付けることができます。StartIndexは1から起算され、countは最大100であることにご留意ください。filterパラメーターを使用して、結果を絞り込むことができます。絞り込みに有効な属性は、email、given_name、family_nameです。例:GETgiven_nameとfamily_nameでは、大文字と小文字が区別されることにご留意ください。メールアドレスは、小文字に変換されます。
GET /Users/GETNotionのユーザーIDにより、特定のワークスペースメンバーを取得します。これは
00000000-0000-0000-0000-000000000000の形式の32文字のUUIDとなります。meta.createdとmeta.lastModifiedは、意味のあるタイムスタンプ値を反映しないことにご留意ください。
POST /UsersPOST追加しようとしているユーザーが既に同じメールアドレスでNotionのユーザーアカウントを持っている場合、そのユーザーはワークスペースに追加されます。
ユーザーが存在しない場合にこれを呼び出すと、新しいNotionユーザーが作成され、作成されたユーザーがワークスペースに追加されます。作成されるNotionユーザープロフィールにマッピングされます。
SCIM APIは、ユーザーの作成時にプロフィール写真のプロパティを読み取りますが、今後の更新では読み取りません。
PATCH /Users/PATCHいくつかの操作を実行して更新し、更新されたユーザーレコードを返します。

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

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

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

詳しくはこちら
