5.4. Red Hat Single Sign-On による認証の有効化および無効化
この機能は、Enterprise プランでのみ利用可能です。
Red Hat Single Sign-On (RH-SSO) は、統合サインオンソリューション (SSO) です。3scale と組み合わせて使用すると、利用可能な任意の Red Hat Single Sign-On アイデンティティーブローカー機能とユーザーフェデレーションオプションを使用して、開発者を認証できます。
3scale との互換性がある Red Hat Single Sign-On のバージョンの情報は、サポートされる設定 に関するページを参照してください。
5.4.1. 操作を始める前に リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Single Sign-On を 3scale と統合する前に、動作状態にある Red Hat Single Sign-On インスタンスが必要です。インストール手順は、Red Hat Single Sign-On ドキュメントの Red Hat Single Sign-On 7.2 のインストール を参照してください。
5.4.2. 開発者ポータルを認証するための RH SSO の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Single Sign-On を設定するには、以下の手順を実施します。
- Red Hat Single Sign-On のドキュメント に記載の手順に従って、レルムを作成します。
- Clients に移動して Create をクリックし、クライアントを追加します。
以下のフィールドと値を考慮してフォームに入力します。
- 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に切り替える必要があります。
以下の手順によりクライアントシークレットを取得します。
- 前のステップで作成したクライアントに移動します。
- Credentials タブをクリックします。
Client Authenticator フィールドで、Client Id and Secret を選択します。
email_verifiedマッパーを設定します。3scale では、ユーザーデータのemail_verified要求がtrueに設定されている必要があります。"Email Verified" ユーザー属性をemail_verified要求にマッピングするには、以下の手順を実施します。- クライアントの Mappers タブに移動します。
Add Builtin をクリックします。
email verified オプションのチェックボックスを選択し、Add selected をクリックして変更を保存します。
Red Hat Single Sign-On ローカルデータベースでユーザーを管理する場合は、必ずユーザーの Email Verified 属性を
ONに設定してください。ユーザーフェデレーション を使用する場合は、3scale SSO インテグレーション用に前のステップで作成したクライアントで、トークン名を
email_verifiedとし要求の値をtrueに設定して、ハードコーディングされた要求を設定することができます。
オプションとして、
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に切り替えます。
-
Name: 希望する任意の名前を入力します (例:
Save をクリックします。
Red Hat Single Sign-On のユーザーに
org_name属性があれば、3scale は自動的にアカウントを作成することができます。属性がないユーザーについては、アカウント作成の前に組織名を指定するよう求められます。あるいは、Red Hat Single Sign-On アカウントでサインインするすべてのユーザーについて、Hardcoded claim タイプのマッパーを作成して、組織名をハードコーディング値に設定することもできます。
-
インテグレーションをテストするには、ユーザーを追加する必要があります。そのためには、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 を使用しています。
Red Hat Single Sign-On で、アイデンティティープロバイダー に GitHub を設定してから、Mappers というタブに移動し、Create をクリックします。
- 名前を付けて、識別できるようにします。
- Mapper Type で Attribute Importer を選択します。
- Social Profile JSON Field Path に company を追加します。これは GitHub での属性の名前です。
User Attribute Name に org_name を追加します。これは Red Hat Single Sign-On での属性の呼び方です。
注記Red Hat Single Sign-On では、必須フィールドとして姓および名に加えてメールアドレスの入力が必要です。3scale では、メールアドレス、ユーザー名、および組織名が必要です。したがって、組織名のマッパーを設定することに加え、ユーザーが両方のサインアップフォームをスキップできるよう、以下のことを確認してください。
- IdP アカウントで、姓と名が設定されている。
- IdP アカウントで、メールアドレスにアクセスできる。たとえば GitHub では、メールアドレスをプライベートとして設定すると共有されません。
5.4.3. 開発者ポータルを認証するための 3scale API Management の設定 リンクのコピーリンクがクリップボードにコピーされました!
API プロバイダーは、Red Hat Single Sign-On を使用した開発者ポータルの認証が可能になるように 3scale を設定します。
デフォルトでは、Red Hat Single Sign-On による認証は有効になっていません。Red Hat Single Sign-On は、エンタープライズ 3scale アカウントでのみ利用可能です。したがって、アカウントマネージャーに Red Hat Single Sign-On による認証を有効にするように依頼する必要があります。
前提条件
- エンタープライズ 3scale アカウントが、Red Hat Single Sign-On を有効にするように設定されている。
開発者ポータルを認証するために Red Hat Single Sign-On を設定 し、以下の詳細情報を取得した。
クライアント
Red Hat Single Sign-On でのクライアントの名前。
クライアントシークレット
Red Hat Single Sign-On でのクライアントシークレット。
レルム
レルム名および Red Hat Single Sign-On アカウントへの URL アドレス。
手順
- 3scale 管理ポータルで Audience > Developer Portal > SSO Integrations の順に選択します。
- Red Hat Single Sign-On をクリックします。
- 開発者ポータルを認証するように Red Hat Single Sign-On を設定する で設定した Red Hat Single Sign-On クライアントの詳細 (クライアント、クライアントシークレット、レルム) を指定します。
- 変更を保存するには、Create Red Hat Single Sign-On をクリックします。