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

SCIMでのユーザーとグループのプロビジョニング: Hero
この記事の内容

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


ユーザープロビジョニングと管理

  • ワークスペースのメンバー作成、削除

  • メンバーのプロフィール情報更新

  • ワークスペースのメンバー取得

    • メールアドレスまたは名前でメンバーを検索します。

グループプロビジョニングと管理

  • ワークスペースのグループ作成、削除

  • グループメンバーの追加、削除

  • ワークスペースのグループ取得

    • 名前でグループを検索します。

サポート対象外

  • ワークスペースのゲスト管理

現在、Okta、OneLogin、Rippling、カスタムSCIMアプリケーションがサポートされています。他のIDプロバイダーをご利用の場合は、お問い合わせください。

NotionでのSCIMの前提条件

SCIM APIトークンの生成

エンタープライズプランのワークスペースオーナーは、設定セキュリティと認証SCIM設定 にアクセスして、SCIM APIトークンを生成して表示できます。

  • 新しいトークンを生成するには、右隅にある +新しいトークン ボタンをクリックします。

  • ワークスペースオーナーのみが表示できる一意のトークンがワークスペースオーナーごとに生成されます。

トークンの取り消し

ワークスペースオーナーがワークスペースから退出するか、ロールが変更されると、トークンは取り消されます。この場合、ワークスペースの残りのワークスペースオーナーに自動メッセージが送信され、取り消されたトークンを置き換えるように通知されます。

さらに、アクティブなトークンは、ワークスペース内のどのワークスペースオーナーでも取り消すことができます。トークンを取り消すには、それぞれのトークンの横にある 🗑 をクリックします。

既存トークンの置き換え

トークンが取り消された場合は、既存のインテグレーションでトークンを置き換える必要があります。

失効したトークンに依存するSCIMインテグレーションおよびユーザープロビジョニングは、有効なトークンに置き換えられるまで使用不可になります。

備考: 既存のインテグレーションに影響を与えないようにするには、プロビジョニングを解除する前に、管理者に関連付けられているトークンをすべて置き換えてください。

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アプリを削除すると、プロビジョニングされたすべてのユーザーがワークスペースから削除されます。

Oktaでのプロビジョニング設定で問題が生じた場合は、team@makenotion.comまでご連絡ください。

OneLogin

以下のOneLoginのウェブサイトのドキュメントでも手順をご覧いただけます。

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)URLConsumer 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(保存)ボタンをクリックします。

以下のテーブルは、SCIMユーザー属性とNotionユーザーのプロフィールフィールドの間のマッピングの概要を示しています。他のユーザー属性は無視されます。

  • GET /Users

    • GET <https://api.notion.com/scim/v2/Users>

    • ワークスペースメンバーのページ分割されたリストを取得します。

    • startIndexcount パラメーターを使用して、ページ分割ができます。 startIndex は1-indexedであることにご留意ください。

    • filter パラメーターを使用して、結果を絞り込むことができます。絞り込みに有効な属性は、 emailgiven_namefamily_name などです。例: GET <https://api.notion.com/scim/v2/Users?startIndex=1&count=50&filter=email> eq employee@acmecorp.com

    • given_namefamily_name では、大文字と小文字が区別されることにご留意ください。メールアドレスは、小文字に変換されます。

  • GET /Users/<id>

    • GET <https://api.notion.com/scim/v2/Users/><id>

    • NotionのユーザーIDにより、特定のワークスペースメンバーを取得します。これは 00000000-0000-0000-0000-000000000000 の形式の32文字のUUIDとなります。

    • meta.createdmeta.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を通しての削除はできません。アカウントの削除は手動で行ってください。

  • GET /Groups

    • GET <https://api.notion.com/scim/v2/Groups>

    • ワークスペースグループのページ分割されたリストを取得します。

    • startIndexcountパラメーターを使用して、ページ分割ができます。startIndex は1-indexedであることにご留意ください。例: GET <https://api.notion.com/scim/v2/Groups?startIndex=1&count=5>

    • 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>

    • ワークスペースグループを削除します。

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


フィードバックを送信

このコンテンツは役に立ちましたか?