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

クロスドメイン・アイデンティティ管理システム(SCIM)は、ユーザー・アカウントの自動プロビジョニングの業界標準です。これは、Retoolなどの他のアプリケーションでユーザー・アカウントを自動的に作成、更新、または非アクティブにできるため、会社でOktaやActive DirectoryなどのサードパーティSSOプロバイダーを使用して従業員の認証を管理している場合に役立ちます。

この機能を使用するには、Retoolがバージョン2.32.1以上である必要があります。

SCIMでのサーバー認証

SCIMの動作を説明します。例えば、アプリケーションとしてRetoolを自分のSSOプロバイダーに追加したとします。そのアプリケーションをユーザーに割り当てると、Retool内のアカウントが自動的に作成されます。これは、SSOプロバイダーがRetoolに対してAPIリクエストを実行し、Johnの新規アカウントを作成するようRetoolに指示するためです。

アカウントを誰も作成できないようにするには、RetoolでBearer Token認証スキームが使用されている必要があります。つまり、Retoolと自分のSSOプロバイダーのみが知っているシークレットを定義する必要があるということです。これを行うには、以下の新しい環境変数を自分のRetool環境に追加します。

SCIM_AUTH_TOKEN=A_SECRET_TOKEN

🚧

シークレットは10文字以上である必要があります

Retoolによって使用可能になるSCIM APIエンドポイントは非常に機密性が高いため、慎重に保護する必要があります。誰も推測できない長いセキュアなシークレット・トークンを使用してください。

その環境変数を定義した後は、 https://yourRetoolAppDomain/api/scim/v2/Schemas を開いてそれをテストできます。そこでは、次のような特殊なエラーが表示されます。

{"detail":"Not Found","schemas":["urn:ietf:params:scim:api:messages:2.0:Error"]}

その設定が完了すると、ヘッダーAuthorization: Bearer YOUR_SECRET_TOKENがあるRetoolのSCIM APIへのリクエストのみが受け入れられるようになります。

Okta固有のガイド

サポートされている機能

  • Create Users: Okta内の新規ユーザーまたは既存ユーザーがRetoolに新規ユーザーとしてプッシュされます。
  • Update User Attributes: Okta内のユーザー・プロファイルに対する更新がRetoolにプッシュされます。
  • Deactivate Users: Okta内で非アクティブにされたユーザーがRetool内で自動的に無効にされます。それらのユーザーは直ちにログアウトされ、請求可能なユーザーの数にカウントされることもなくなります。ユーザーは再度アクティブにされると、Retoolへのアクセス権を再び与えられ、以前に指定されていたすべてのアクセス制御が維持されます。
  • Importing Users: Retoolで手動で作成したユーザーを、OktaにOktaユーザーとしてインポートできます。
  • Group Push: Group Pushを使用すると、既存のOktaグループとそれらのメンバーシップを取得し、それらをRetoolにプッシュできます。

要件

この機能を有効にするには、Retoolアプリケーションの環境変数を構成できる必要があります。次のような新しい環境変数を作成します。

SCIM_AUTH_TOKEN=A_SECRET_TOKEN

シークレット・トークンは10文字以上である必要があります。この環境変数を変更した後は、Retoolコンテナーを再起動します。

構成手順

  • Retoolアプリケーションを自分のOktaアカウントに追加します。
  • 自分のRetoolドメインをYOUR.RETOOL.INSTANCE.COMという書式で入力してください。例えば、 https://YOUR.RETOOL.INSTANCE.COM/ にログインする場合は、「YOUR.RETOOL.INSTANCE.COM」のように入力します。

📘

Retoolドメインに https:// という接頭辞を含めないでください

Okta統合では、自動的にURLにhttpsという接頭辞が付けられます。

  • 追加したら、Provisioningタブに移動し、「Configure API Integration」をクリックします。
  • 「Enable API integration」ボックスをオンにし、APIトークンとして「{your scim auth token}」を入力します。
  • 「Test API credentials」をクリックして、接続が機能していることを確認します。

📘

Auth TokenにBearerという接頭辞を含めないでください

Okta統合では、自動的にトークンにBearerという接頭辞が付けられます。

  • 「Save」をクリックしてRetoolアプリケーションに対してプロビジョニングを有効にします。
  • これで、目的のプロビジョニング機能がアクティブになります。アプリケーションのプロビジョニング設定で、「To App」の下にある「Edit」をクリックし、「Create Users」、「Update User Attributes」、および「Deactivate Users」を有効にします。「Save」をクリックして、設定内容を保存します。

以上です。これで、Retoolアプリケーションへのユーザーの割り当てを開始できるようになりました。ユーザーはRetool内で自動的に作成されます。

Group Pushの有効化

Oktaを初めて設定する場合は、Group Push、およびOktaのSCIMの残りの機能にアクセスできます。このガイドの残りの部分は読まなくても問題ありません。すでにRetoolとOktaの連携を設定してある場合、Group Pushを有効にするには、自分のアカウントを再認証する必要があります。これを行うには、以下の手順を実行します。

  1. 管理者として自分のOkta組織にログインします。
  2. Admin UIを開きます。
  3. 自分のRetoolアプリケーション・インスタンスを開きます。
  4. Provisioningタブに移動します。
  5. Settingsサイドバーで、Integrationをクリックします。
  6. Editをクリックし、Test API Credentialsをクリックします。次に、Saveをクリックします。このガイドの「構成手順」に従った場合は、自分の資格情報がすでにIntegrationセクションに含まれています。

これで、SCIMが自分のRetoolインスタンスに対して有効になりました。

既知の問題とトラブルシューティング

Retoolインスタンスがファイアウォールの後ろにある場合は、OktaのIPアドレスをホワイトリストに登録する必要があります。それにより、Oktaが、必要なAPIリクエストをRetoolに対して実行してユーザーのプロビジョニングとグループの同期を行うことができるようになります。