SCIMでのユーザーやグループのプロビジョニング
System for Cross-domain Identity Management (SCIM) API標準規格により、Notionワークスペースのユーザーやグループのプロビジョニングや管理ができます 🔑
ユーザープロビジョニングと管理
ワークスペースのメンバー作成、削除
メンバーのプロフィール情報更新
ワークスペースのメンバー取得
メールアドレスまたは名前でメンバーを検索します。
グループプロビジョニングと管理
ワークスペースのグループ作成、削除
グループメンバーの追加、削除
ワークスペースのグループ取得
名前でグループを検索します。
サポート対象外
ワークスペースのゲスト管理
現在、Okta、OneLogin、Rippling、Gusto、カスタムSCIMアプリケーションがサポートされています。他のIDプロバイダーをご利用の場合は、お問い合わせください。
NotionでのSCIMの前提条件
エンタープライズプランのワークスペースであること
IDプロバイダー(IdP)がSAML 2.0プロトコルをサポートしていること
ワークスペースオーナーのみが、NotionワークスペースのSCIMを設定可能であること
SCIMを使用してユーザーの名前またはメール アドレスを変更する場合は、メールドメインの所有権を検証済みである必要があります。 ドメイン検証について詳しくはこちら →
SCIM APIトークンの生成
エンタープライズプランのワークスペースオーナーは、設定
→ セキュリティと認証
→ SCIM設定
にアクセスして、SCIM APIトークンを生成して表示できます。
新しいトークンを生成するには、右隅にある
+新しいトークン
ボタンをクリックします。ワークスペースオーナーのみが表示できる一意のトークンがワークスペースオーナーごとに生成されます。
トークンの取り消し
ワークスペースオーナーがワークスペースから退出するか、ロールが変更されると、トークンは取り消されます。この場合、ワークスペースの残りのワークスペースオーナーに自動メッセージが送信され、取り消されたトークンを置き換えるように通知されます。
さらに、アクティブなトークンは、ワークスペース内のどのワークスペースオーナーでも取り消すことができます。トークンを取り消すには、それぞれのトークンの横にある 🗑
をクリックします。
既存トークンの置き換え
トークンが取り消された場合は、既存のインテグレーションでトークンを置き換える必要があります。
失効したトークンに依存するSCIMインテグレーションおよびユーザープロビジョニングは、有効なトークンに置き換えられるまで使用不可になります。
備考: 既存のインテグレーションに影響を与えないようにするには、プロビジョニングを解除する前に、管理者に関連付けられているトークンをすべて置き換えてください。
招待メールの停止
プロビジョニングがSCIMによって行われた場合に、ユーザーがワークスペースおよびグループへの招待をメールで受信するかどうかの設定は、エンタープライズプランのワークスペースオーナーが実施できます。設定
→ 認証とプロビジョン
→ SCIMプロビジョニング
→ SCIMプロビジョニングからの招待メールを停止する
の設定をオンに切り替えると、ユーザーにメールを送信しないよう設定されます。
GET /ServiceProviderConfig
GET <https://api.notion.com/scim/v2/ServiceProviderConfig>
利用可能なSCIM仕様の機能の説明を取得します。
SCIMプロトコル仕様のセクション5で定義されています。
GET /ResourceTypes
GET <https://api.notion.com/scim/v2/ResourceTypes>
利用可能なSCIMリソースタイプのリストを取得します。
SCIMプロトコル仕様のセクション6で定義されています。
Azure
Azure Active Directoryヘルプセンターのドキュメントでも手順をご覧いただけます。
NotionのAzure SCIM統合は、以下のプロビジョニング機能をサポートしています。
ユーザーを作成する
ユーザーを削除する
Azure ADとNotionの間でユーザー属性の同期を維持する
Notionのグループとグループメンバーシップをプロビジョニングする
Notionへのシングルサインオン(推奨)
備考: プロビジョニングのデプロイ計画の詳細については、Azureのドキュメントを参照してください。
ステップ1: Azure ADでのプロビジョニングをサポートするようにNotionを設定する
Notionワークスペースにログインして、
設定
→認証とプロビジョン
タブを開き、SCIMプロビジョニング
セクションまで下にスクロールします。トークンが生成されていない場合は、
+トークンを追加
をクリックして、トークンをコピーします。このトークンは、ステップ5.5でシークレットトークンとして入力します。NotionのSCIMテナントURLは https://www.notion.so/scim/v2 です。これはステップ5.5で使用します。
ステップ2: Azure ADのアプリケーションギャラリーからNotionを追加する
こちらの手順に沿って、ギャラリーからアプリケーションを追加します。
Azure ADプロビジョニングサービスでは、アプリケーションへの割り当てに基づいて、またはユーザーやグループの属性に基づいて、プロビジョニングされるユーザーの範囲を設定することができます。
ステップ3: Notionへの自動ユーザープロビジョニングを設定する
Azure portalにサインインし、
エンタープライズアプリケーション
に移動し、すべてのアプリケーション
を選択します。アプリケーションの一覧から
Notion
を選択します。プロビジョニング
タブを選択します。プロビジョニングモード
を自動
に設定します。管理者資格情報
セクションで、NotionのテナントURLとシークレットトークンを入力します。テスト接続
をクリックして、Azure ADがNotionに接続できることを確認します。接続に失敗した場合は、ご自身のNotionアカウントに管理者権限があることを確認してから再試行してください。保存
を選択します。マッピング
セクションで、Azure Active DirectoryのユーザーをNotionに同期する
を選択します。属性マッピング
セクションで、Azure ADからNotionに同期されるユーザー属性を確認します。保存
ボタンを選択して変更を確定します。
マッピング
セクションで、Azure Active DirectoryのグループをNotionに同期する
を選択します。属性マッピング
セクションで、Azure ADからNotionに同期されるグループ属性を確認します。保存
ボタンを選択して変更を確定します。
Notionに対するAzure ADプロビジョニングサービスを有効にするには、
設定
セクションでプロビジョニングの状態
をオン
に変更します。Notionにプロビジョニングするユーザーやグループを定義するには、
設定
セクションのスコープ
で、目的の値を選択します。プロビジョニングの準備ができたら、
保存
をクリックします。
備考: この操作により、設定
セクションの スコープ
で定義されているすべてのユーザーとグループの初期同期サイクルが開始されます。
初期サイクルは通常のサイクルよりも実行に時間がかかります。後続のサイクルは、Azure ADのプロビジョニングサービスが実行されている間、約40分間隔で実行されます。
Google Workspace管理者ヘルプセンターのドキュメントでも手順をご覧いただけます。
NotionのGoogle SCIMインテグレーションは、以下のプロビジョニング機能をサポートしています。
ユーザーを作成する
ユーザー属性を更新する(ユーザーが組織に属するメールドメインを持っている場合)
ユーザーを非アクティブにする(ユーザーをNotionワークスペースから削除します)
備考: Google SCIMインテグレーションは、グループのプロビジョニングおよびプロビジョニング解除には対応していません。
ステップ1: Notionでユーザープロビジョニングを有効にする
設定
メニューから認証とプロビジョン
タブを選択します。SCIM設定
セクションまで下にスクロールすると、使用可能なSCIMトークンが一覧表示されます。SCIMトークンテーブルで既存のトークンの隣にある
コピー
をクリックするか、右隅のトークンを追加
をクリックして新しくトークンを作成します。
ステップ2: Googleでプロビジョニングを設定する
適切なアクセス許可を持つユーザーアカウントが必要なため、管理者アカウントにサインインしてください。
Google Workspace管理者ヘルプに記載されているNotionアプリケーションの自動プロビジョニングを設定する手順から操作を続けます。
Gusto
設定プロセスの詳細については、以下をご覧ください。
ステップ1: 「コネクト」をクリックし、手順に沿ってアカウントの認証情報を検証します。
Notionのサイドバーで、
設定
->認証とプロビジョン
に移動します。SCIMプロビジョニングで、
トークンを追加
をクリックし、トークンをコピーします。Gustoで、SCIM APIキーの入力欄にトークンを貼り付け、Notionアカウントに使用しているメールアドレスを入力します。
ステップ2: Notionのユーザーアカウントと、Gustoのチームメンバーを一致させます。
Okta
NotionのOktaインテグレーションは、以下のプロビジョニング機能をサポートしています。
ユーザーを作成する
ユーザー属性を更新する(ユーザーが組織に属するメールドメインを持っている場合)
ユーザーを非アクティブにする(ユーザーをNotionワークスペースから削除します)
グループをプッシュする
ステップ1: Notionでプロビジョニングを有効にする
設定タブにアクセスし、認証とプロビジョンタブを選択します。
SAMLシングルサインオン(SSO) セクションまで下にスクロールします。
SAML SSOの設定を編集ボタンを開きます。
アサーションコンシューマーサービス(ACS)URLの隣にある「コピー」をクリックします。後で利用できるように、どこかに貼り付けておきます。
設定 → 認証とプロビジョンに戻り、SCIMプロビジョニングセクションまで下にスクロールします。
トークンが生成されていない場合は、+トークンを追加をクリックして、トークンをコピーします。後で利用できるように、どこかに貼り付けておきます。
ステップ2: Okraでプロビジョニングを設定する
OktaのアプリカタログディレクトリからNotionアプリを追加します。
Sign-on Options(サインオンオプション)画面で、Sign On application(サインオンアプリケーション)タブのApplication username(アプリケーションユーザーネーム)の形式にEmailを選択します。
Provisioning(プロビジョニング)タブで、Configure API integration(APIインテグレーションの設定)を選択し、Enable API integration(APIインテグレーションを有効にする)チェックボックスをオンにします。
ステップ1でコピーしておいた Notion SCIM APIトークンをAPI Token(APIトークン)テキストボックスに入力して、Save(保存)を選択します。
Provisioning to App(アプリへのプロビジョニング)という見出しの隣にあるEdit(編集)ボタンをクリックして、ユーザーの作成、ユーザー属性の更新、ユーザーの非アクティブ化などの機能を必要に応じて有効にします。Save(保存)をクリックします。
APIインテグレーション設定後は、Push Groups(グループをプッシュ)タブを開き、Push Groups(グループをプッシュ)ボタンから、Notionと同期させたいOktaグループを追加します。
備考: 既存のSCIM設定を介してユーザーやグループを更新する場合は、OktaからNotionアプリを削除しないでください。Notionアプリを削除すると、プロビジョニングされたすべてのユーザーがワークスペースから削除されます。
OneLogin
以下のOneLoginのWebサイトのドキュメントでも手順をご覧いただけます。
NotionのOneLoginインテグレーションは、以下のプロビジョニング機能をサポートしています。
ユーザーを作成する
ユーザー属性を更新する(ユーザーが組織に属するメールドメインを持っている場合)
ユーザーを非アクティブにする(ユーザーをNotionワークスペースから削除します)
Notionの権限グループにOneLoginのロールをマッピングするルールを作成する
備考: OneLoginを通してNotionにユーザーをプロビジョニングする場合、SSOを設定する前にSCIMを設定することが重要です。
ステップ1: Notionでプロビジョニングを有効にする
設定メニューにアクセスし、認証とプロビジョンタブを選択します。
SAMLシングルサインオン(SSO)セクションまで下にスクロールします。
SAML SSOの設定を編集ボタンをクリックします。
アサーションコンシューマーサービス(ACS)URLの隣にある「コピー」をクリックします。後で利用できるように、どこかに貼り付けておきます。
設定 → 認証とプロビジョンに戻り、SCIMプロビジョニングセクションまで下にスクロールします。
トークンが生成されていない場合は、+トークンを追加をクリックして、トークンをコピーします。後で利用できるように、どこかに貼り付けておきます。
備考: ワークスペースオーナーは、自分が生成したトークンのみをコピーして使用できます。トークンが別のワークスペースオーナーによって既に生成されている場合は、別のトークンが必要かどうかを判断して調整してください。トークンを生成したワークスペースオーナーがワークスペースを退出したり、メンバーにダウングレードした場合、トークンはすべて失効します。
ステップ2: OneLoginでプロビジョニングを設定する
Administration(管理) → Applications(アプリケーション) → Applications(アプリケーション)にアクセスします。
「アプリの追加」ボタンをクリックし、検索ボックスで「Notion」を検索し、NotionのSAML 2.0バージョンを選択します。
Save(保存)をクリックします。
Configurations(構成)タブに移動します。
アサーションコンシューマーサービス(ACL)URLをConsumer URL(コンシューマーURL)テキストボックスに貼り付けます。
SCIM API token(SCIM API トークン)をSCIM Bearer Token(SCIM Bearerトークン)テキストボックスにペーストします。
Enable(有効化)をクリックします。
Provisioning(プロビジョニング)タブに移動します。
Workflow(ワークフロー)の下のEnable provisioning(プロビジョニングを有効にする)をオンにします。
右上にある Save(保存)ボタンをクリックします。
(任意) Require admin approval before this this action is performed(このアクションが実行される前に管理者の承認を必要とする)を使用して、ユーザーが作成、削除、更新される時に管理者の承認を必要とするかどうかを選択できます。
(任意)OneLoginでユーザーが削除された場合に、Notionでそのユーザーをどのように扱うかを選択します。「Delete」(Notionワークスペースからそのユーザーを削除)か、「Do Nothing」(何もしない)を選択します。
右上にある Save(保存)ボタンをクリックします。
Rippling
以下のRipplingのWebサイトで、詳細なドキュメントをご覧いただけます。
以下のテーブルは、SCIMユーザー属性とNotionユーザーのプロフィールフィールドの間のマッピングの概要を示しています。他のユーザー属性は無視されます。
GET /Users
GET <https://api.notion.com/scim/v2/Users>
ワークスペースメンバーのページ分割されたリストを取得します。
startIndex
とcount
パラメーターを使用して、ページ分割ができます。startIndex
は1-indexedであることにご留意ください。filter
パラメーターを使用して、結果を絞り込むことができます。絞り込みに有効な属性は、email
、given_name
、family_name
などです。例:GET <https://api.notion.com/scim/v2/Users?startIndex=1&count=50&filter=email> eq employee@acmecorp.com
given_name
とfamily_name
では、大文字と小文字が区別されることにご留意ください。メールアドレスは、小文字に変換されます。
GET /Users/<id>
GET <https://api.notion.com/scim/v2/Users/><id>
NotionのユーザーIDにより、特定のワークスペースメンバーを取得します。これは
00000000-0000-0000-0000-000000000000
の形式の32文字のUUIDとなります。meta.created
とmeta.lastModified
は、意味のあるタイムスタンプ値を反映しないことにご留意ください。
POST /Users
POST <https://api.notion.com/scim/v2/Users>
追加しようとしているユーザーが既に同じメールアドレスでNotionのユーザーアカウントを持っている場合、そのユーザーはワークスペースに追加されます。
ユーザーが存在しない場合にこれを呼び出すと、新しいNotionユーザーが作成され、作成されたユーザーがワークスペースに追加されます。作成されるNotionユーザープロフィールにマッピングされます。
PATCH /Users/<id>
PATCH <https://api.notion.com/scim/v2/Users/><id>
いくつかの操作を実行して更新し、更新されたユーザーレコードを返します。
備考: ユーザーのメールドメイン(通常、NotionへのSAMLシングルサインオン用に設定したメールドメインと同じ)の所有権が検証されている場合のみ、メンバーのプロフィール情報を更新できます。ドメインを検証はこちらの手順に沿って実施してください →
PUT /Users/<id>
PUT <https://api.notion.com/scim/v2/Users/><id>
更新し、更新されたユーザーレコードを返します。
DELETE /Users/<id>
DELETE <https://api.notion.com/scim/v2/Users/><id>
ワークスペースからユーザーを削除します。ユーザーは、アクティブなセッションすべてからログアウトされます。
ユーザーアカウント自体は、SCIMを通して削除できません。アカウントの削除は手動で行ってください。
PATCH /Users/<id>
またはPUT /Users/<id>
リクエストを送信して、アクティブ
なユーザー属性をfalse
に設定することで、ワークスペースからユーザーを削除することもできます。
備考: SCIMボットトークンを作成したワークスペースオーナーは、APIを介して削除することはできません。SCIM APIを介してワークスペースオーナーが削除されると、その方が作成したトークンはすべて取り消され、そのボットを使用するインテグレーションがすべて機能しなくなります。
GET /Groups
GET <https://api.notion.com/scim/v2/Groups>
ワークスペースグループのページ分割されたリストを取得します。
startIndex
とcount
パラメーターを使用して、ページ分割ができます。startIndex
は1から起算されること、またcountは最大100であることにご留意ください。
例:GET <https://api.notion.com/scim/v2/Groups?startIndex=1&count=5>
ページ分割を使用しない場合は、リクエストあたり最大100のワークスペースグループが返されます。
filter
パラメーターを使用して、結果を絞り込むことができます。グループは、displayName
属性で絞り込みできます。例:GET <https://api.notion.com/scim/v2/Groups?filter=displayName> eq Designers
GET /Groups/<id>
GET <https://api.notion.com/scim/v2/Groups/><id>
NotionのグループIDにより、特定のワークスペースグループを取得します。これは
00000000-0000-0000-0000-000000000000
の形式の32文字のUUIDとなります。
POST /Groups
POST <https://api.notion.com/scim/v2/Groups>
新しいワークスペースグループを作成します。
PATCH /Groups/<id>
PATCH <https://api.notion.com/scim/v2/Groups/><id>
いくつかの操作を実行してワークスペースグループを更新します。
PUT /Groups/<id>
PUT <https://api.notion.com/scim/v2/Groups/><id>
ワークスペースグループを更新します。
DELETE /Groups/<id>
DELETE <https://api.notion.com/scim/v2/Groups/><id>
ワークスペースグループを削除します。
備考: ページへのフルアクセス権を持つユーザーがいなくなる場合は、グループを削除できません。