SSO

すでに利用しているサービスでサインインします。

すべてのクラウド・アカウントでデフォルトでGoogle SSOがサポートされていますが、オンプレミス・デプロイメントでは、Google、Okta、Active Directory、またはその他のSAML SSOプロバイダーに接続できます。

🚧

BASE_DOMAIN環境変数の設定

BASE_DOMAIN変数は、新しいユーザーの招待や忘れたパスワードのリセットなどの場合に、ユーザー用のリンクを作成するのに役立ちます。バックエンドではこのリンクの推定が行われますが、実際のWebサイトの手前にプロキシがある場合はそれが正しくないことがあります。

これらのリンクが正しく作成されるようにするには、BASE_DOMAIN=https://retool.yourwebsite.comを設定してください。SSOの場合は、BASE_DOMAINを設定すると、正しいリダイレクトURIを作成するのに役立ちます。

Google

まず、Google OAuthクライアントを作成します(https://developers.google.com/identity/sign-in/web/devconsole-project)。

以下のフォームが表示されるまでウィザードを進めます。フォームが表示されたら、次のように入力します。

Google Client IDとGoogle Client Secretが表示されますが、これらの値を気にする必要はありません。

次に、Google開発者コンソールに移動して、左側のナビゲーション・バーでcredentialsに移動します。自動生成されたWeb client (Auto-created for Google Sign-in)をクリックします。

次に、画面を次のように設定します。

このページ内のGoogle Client IDとClient Secretを、次のように、自分のdocker.envファイルに追加します。

📘

RESTRICTED_DOMAIN環境変数

サインインをSSOのみに限定する場合は(つまり、ユーザーがユーザ名とパスワードでサインインするオプションを無効にするには)、RESTRICTED_DOMAIN環境変数を追加します。ユーザーがどちらの方法でもサインインできるようにする場合は、この環境変数を追加しないでください。

注意: RESTRICTED_DOMAINの値を設定するときには、Retoolのデプロイに使用したプロトコルまたはサブドメインを含めないでください。yourcompany.comのみを使用します。これは、ユーザーがサインインに使用する電子メール・アドレスと一致している必要があります。詳細については、環境変数ページを参照してください。

CLIENT_ID={YOUR_GOOGLE_CLIENT_ID}
CLIENT_SECRET={YOUR_GOOGLE_CLIENT_SECRET}
RESTRICTED_DOMAIN=yourcompany.com

サーバーを再起動すると、Google SSOが機能します。

Kubernetesでは、これらの文字列をBase64でエンコードしたものを、docker.envファイルではなく、Kubernetesシークレット・ファイル内に配置します。

Okta

  1. Okta管理ダッシュボードで「Add Application」に移動します。
  2. Retoolを検索します。
  3. ウィザードに従ってRetoolの設定を完了します。

🚧

Retool Oktaアプリケーションが見つからない場合

Oktaにサインインした後、右上の「Admin」ボタンをクリックすることで、Adminモードであることを確認します。

  1. 作成したOktaアプリケーションに移動します。Sign Onタブをクリックして、Identity Provider Metadataリンクをクリックします。このリンクが見つからない場合は、ページがDeveloper ConsoleではなくClassic UIで表示されていることを確認します。この設定は、上部のナビゲーション・バーの左側にあります。
  1. 「Identity Provider metadata」リンクをクリックするか、それに「Save Link As」を実行します。このリンクを別のタブで開くと、以下の図のようなXMLファイルが表示されます。(Firefoxでは、画面にXMLタグがレンダリングされない場合があります。)
  1. XMLファイル全体をクリップボードにコピーし、管理者としてRetoolにログインします。Settings -> Advancedに移動し、コピーしたXMLファイルをIdP Metadata XMLフィールドに追加します。

Active Directory Federation Service

もう1つの一般的なアイデンティティ・プロバイダーはActive Directory Federation Serviceです。以下に、RetoolとADFS 3.0を統合する手順を説明します。

  1. シングル・サインオンURL: ステップ7(Configure URL)で、Retoolのシングル・サインオンURLが必要になります。これは通常は https://retool.yourcompany.com/saml/login です。

  2. Welcome: AD FS Managerを開き、Add Relying Party Trust Wizardを起動します。

  1. Select Data Source: 「Enter data about the relying party manually」を選択します。
  1. Specify Display Name: 次の画面にRetoolの次のステップの説明を入力します。
  1. Choose Profile: RetoolではSAML 2.0がサポートされているので、AD FS Profileを選択します。
  1. Configure Certificate: 次のステップはスキップします(オプションのトークン暗号化証明書は指定しないでください)。
  1. Configure URL: 「Enable support for SAML 2.0 WebSSO Protocol」を選択します。「Relying party SAML 2.0 SSO service URL」の入力ボックスでは、https://domain.of.onprem.retool/saml/login のパターンを使用します。このURLは、Retoolの設定ページに表示されている場合があります。このページで、Retoolのサービス・プロバイダー・メタデータをエクスポートできます(ステップ1を参照してください)。
  1. Configure Identifiers: 証明書利用者信頼の識別子はretool.yourcompany.comという書式である必要があります。

🚧

信頼の識別子ではプロトコル書式を除外する必要があります

誤り: https://subdomain.domain.com/
正しい: subdomain.domain.com

  1. ウィザードの終了: ウィザードの以降すべてのステップでは、続けてnextを押します。

  2. 要求規則の編集: Issuance Transform Rulesセクションで、2つの規則を作成します。

  3. 1つ目の要求: 「Send LDAP Attributes as Claims」を選択します。以下のスクリーンショットを参考にしてください。

  1. 2つ目の要求: 「Transform an Incoming Claim」を選択します。以下のスクリーンショットを参考にしてください。
  1. すべての設定内容を保存します。

  2. アイデンティティ・プロバイダー・メタデータを使用した**Retoolの構成:** 自分のアイデンティティ・プロバイダーからメタデータをXMLファイルにエクスポートします。通常は、自分のアイデンティティ・プロバイダーのダッシュボードからこのデータをダウンロードするためのボタンが表示されます。また、多くの場合、 https://your.identityprovider.com/federationmetadata/2007-06/federationmetadata.xml にアクセスするとこのデータが見つかります。

XMLファイル全体をクリップボードにコピーし、管理者ユーザーとしてRetoolにログインします。Settings > Advancedページに移動し、コピーしたXMLファイルをIdP Metadata XMLフィールドに追加します。

その他のSAMLアイデンティティ・プロバイダー

OktaやADFSを使用しない場合は、以下の手順で、自分のSAMLアイデンティティ・プロバイダー・サービスを構成してください。

1. RetoolでエンティティIDをカスタマイズします

Retoolでは、デフォルトで、エンティティIDとしてhttps://tryretool.comが使用されます。この値を、Retoolをホストしているドメインと一致するようにカスタマイズする必要があります。

次の環境変数docker.envファイルに追加し、retool.yourcompany.comを自分のドメインに置き換えます。注意: 新しい環境変数を追加したときには、それを有効にするためにコンテナーを再起動する必要があります。

DOMAINS=retool.yourcomany.com

2. アイデンティティ・プロバイダーを構成します

設定を行うには、アイデンティティ・プロバイダーから提供されているドキュメントを参照してください。ただし、Sign on URLフィールドとReply URLフィールドの値を指定するよう求められる場合があります。以下のパターンを使用し、retool.yourcompany.comを、ステップ1で指定したエンティティIDに置き換えます。

  • Sign on URL: https://retool.yourcompany.com/saml/login
  • Reply URL: https://retool.yourcompany.com/saml/login

3. ユーザー属性と要求を照合します

Retoolでは、ログイン時に各ユーザーの以下の属性を正確に示す必要があります。

  • email: ユーザーのID
  • firstName: ユーザーの名
  • lastName: ユーザーの姓

4. ユーザーにRetoolへのアクセス権を割り当てます

アイデンティティ・プロバイダーを使用して、ユーザーに、Retoolにログインするためのアクセス権を割り当てます。

5. アイデンティティ・プロバイダー・メタデータを使用してRetoolを構成します

アイデンティティ・プロバイダーからメタデータをXMLファイルにエクスポートします。通常は、アイデンティティ・プロバイダーのダッシュボードからダウンロードするためのボタンが表示されます。また、多くの場合、 https://your.identityprovider.com/federationmetadata/2007-06/federationmetadata.xml にアクセスするとこのデータが見つかります。

XMLファイル全体をクリップボードにコピーし、管理者ユーザーとしてRetoolにログインします。Settings > Advancedページに移動し、そのXMLデータをIdP Metadata XMLフィールドに貼り付けます。

6. (オプションですが推奨)JITユーザー・プロビジョニングを有効にします

ジャストインタイム(JIT)ユーザー・プロビジョニングを使用すると、Retoolで、ユーザーが初めてSAMLを介してサインインしたときにユーザー・アカウントがプロビジョニングされるようにすることができます。これは、事前に手動で各ユーザーをRetoolに招待する必要がないということです。これを有効にするには、Settings > Advancedページでスイッチを切り替えます。