5.4. Red Hat Single Sign-On による認証の有効化および無効化

注記

この機能は、Enterprise プランでのみ利用可能です。

Red Hat Single Sign-On (RH-SSO) は、統合サインオンソリューション (SSO) です。3scale と組み合わせて使用すると、利用可能な任意の RH-SSO アイデンティティーブローカー機能とユーザーフェデレーションオプションを使用して、開発者を認証することができます。

3scale との互換性がある Red Hat Single Sign-On のバージョンについての情報は、サポートされる構成 に関するページを参照してください。

5.4.1. 操作を始める前に

Red Hat Single Sign-On を 3scale と統合する前に、動作状態にある Red Hat Single Sign-On インスタンスが必要です。RH-SSO 7.2 のインストール に関する手順については、Red Hat Single Sign-On のドキュメントを参照してください。

5.4.2. RH SSO の設定

Red Hat Single Sign-On を設定するには、以下の手順を実施します。

  1. Red Hat Single Sign-On のドキュメント に記載の手順に従って、レルムを作成します。
  2. Clients に移動して Create をクリックし、クライアントを追加します。
  3. 以下のフィールドと値を考慮してフォームに入力します。

    • Client ID: クライアントの希望の名前を入力します。
    • Enabled: ON に切り替えます。
    • Consent Required: OFF に切り替えます。
    • Client Protocol: openid-connect を選択します。
    • Access Type: confidential を選択します。
    • Standard Flow Enabled: ON に切り替えます。
    • Root URL: 3scale 管理ポータルの URL を入力します。これは、デベロッパーポータルへのログインに使用する URL アドレスでなければなりません (例: https://yourdomain.3scale.net またはカスタムの URL)。
    • Valid Redirect URLs: /* を付けて再度デベロッパーポータルを入力します (例: https://yourdomain.3scale.net/*)。

      その他のパラメーターはすべて空のままにするか、OFF に切り替える必要があります。

  4. 以下の手順によりクライアントシークレットを取得します。

    • 前のステップで作成したクライアントに移動します。
    • Credentials タブをクリックします。
    • Client Authenticator フィールドで、Client Id and Secret を選択します。

      RH-SSO
  5. email_verified マッパーを設定します。3scale では、ユーザーデータの email_verified 要求が true に設定されている必要があります。「Email Verified」ユーザー属性を email_verified 要求にマッピングするには、以下の手順を実施します。

    • クライアントの Mappers タブに移動します。
    • Add Builtin をクリックします。

      RH-SSO
    • email verified オプションのチェックボックスを選択し、Add selected をクリックして変更を保存します。

      RH-SSO

      Red Hat Single Sign-On ローカルデータベースでユーザーを管理する場合は、必ずユーザーの Email Verified 属性を ONに設定してください。

      ユーザーフェデレーション を使用する場合は、3scale SSO インテグレーション用に前のステップで作成したクライアントで、トークン名を email_verified とし要求の値を true に設定して、ハードコーディングされた要求を設定することができます。

  6. オプションとして、org_name マッパーを設定します。
    ユーザーは 3scale にサインアップするとき、サインアップフォームに組織名の値を入力するよう求められます。デベロッパーポータルでのサインアップフォームの入力を不要にして、ユーザーが Red Hat Single Sign-On によるサインアップを意識しないようにするには、さらに org_name マッパーを設定する必要があります。

    • クライアントの Mappers タブに移動します。
    • Create をクリックします。
    • 以下のようにマッパーのパラメーターを入力します。

      • Name: 希望する任意の名前を入力します (例: org_name)。
      • Consent Required: OFF に切り替えます。
      • Mapper Type: User Attribute を選択します。
      • User Attribute: org_name を入力します。
      • Token Claim Name: org_name を入力します。
      • Claim JSON Type: String を選択します。
      • Add to ID token: ON に切り替えます。
      • Add to access token: ON に切り替えます。
      • Add to userinfo: ON に切り替えます。
      • Multivalued: OFF に切り替えます。
    • Save をクリックします。

      RH-SSO

      Red Hat Single Sign-On のユーザーに org_name 属性のあれば、3scale は自動的にアカウントを作成することができます。属性がないユーザーについては、アカウント作成の前に組織名を指定するよう求められます。あるいは、Red Hat Single Sign-On アカウントでサインインするすべてのユーザーについて、Hardcoded claim タイプのマッパーを作成して、組織名をハードコーディング値に設定することもできます。

  7. インテグレーションをテストするには、ユーザーを追加する必要があります。そのためには、Users に移動し、Add user をクリックして必須フィールドに入力します。Red Hat Single Sign-On でユーザーを作成する場合、Email Verified 属性 (email_verified) が ON に設定されている必要があることに留意してください。設定されていないと、ユーザーが 3scale でアクティブ化されません。

Red Hat Single Sign-On のアイデンティティーブローカーとしての使用

Red Hat Single Sign-On をアイデンティティーブローカーとして使用することや、外部データベースをフェデレーションするように設定することができます。これらの設定方法については、Red Hat Single Sign-On のドキュメントで、アイデンティティーブローカー設定 および ユーザーフェデレーション に関する章を参照してください。

アイデンティティーブローカーとして Red Hat Single Sign-On の使用を選択し、さらに開発者が RH-SSO と 3scale のアカウント作成手順の両方をスキップできるようにすることを希望する場合は、下記の設定を行うことを推奨します。以下の例では、アイデンティティープロバイダーとして GitHub を使用しています。

  1. Red Hat Single Sign-On で、アイデンティティープロバイダー に GitHub を設定してから、Mappers というタブに移動し、Create をクリックします。

    RH-SSO
  2. 名前を付けて、識別できるようにします。
  3. Mapper TypeAttribute Importer を選択します。
  4. Social Profile JSON Field Path に company を追加します。これは GitHub での属性の名前です。
  5. User Attribute Name に org_name を追加します。これは Red Hat Single Sign-On での属性の呼び方です。

    注記

    Red Hat Single Sign-On では、必須フィールドとして姓および名に加えてメールアドレスの入力が必要です。3scale では、メールアドレス、ユーザー名、および組織名が必要です。したがって、組織名のマッパーを設定することに加え、ユーザーが両方のサインアップフォームをスキップできるよう、以下のことを確認してください。

    • IdP アカウントで、姓と名が設定されている。
    • IdP アカウントで、メールアドレスにアクセスできる。つまり、GitHub で、メールアドレスがプライベートに設定されている場合、共有されません。

5.4.3. 3scale の設定

Red Hat Single Sign-On による認証をデフォルトで有効にすることはできません。デベロッパーポータルへのアクセスを管理するために 3scale と Red Hat Single Sign-On アカウントを組み合わせて使用する場合は、以下の手順に従ってその設定を行うことができます。

3scale 管理ポータルで Audience > Developer Portal > SSO Integrations の順に移動し、Red Hat Single Sign-On をクリックします。(備考: これはエンタープライズ専用の機能なので、この機能を有効にするようアカウントマネージャーに依頼しなければならない場合があります。)

以下の設定画面で、前の手順で設定した Red Hat Single Sign-On クライアントの詳細情報を追加する必要があります。

  • Client: Red Hat Single Sign-On でのクライアントの名前
  • Client Secret: Red Hat Single Sign-On でのクライアントシークレット
  • Realm: レルム名および Red Hat Single Sign-On への URL アドレス

これらを入力したら、「Published」チェックボックスを選択し、Create RH-SSO をクリックしてデベロッパーポータルで利用できるようにします。

RH-SSO