メインコンテンツにスキップ
すべてのコレクションRippleRipple - AWSRipple − 設定
SAMLベースのフェデレーション認証
SAMLベースのフェデレーション認証

Ripple version 2.7.0

Hajime Hirose avatar
対応者:Hajime Hirose
3年以上前に更新

機能概要

SAMLベースのフェデレーション認証がサポートされ、RippleやWaveへログインする際にSSO(Single Sign on)を使ってログインをすることができるようになりました。

この機能により従来のパスワード認証によるアクセスに比べ、管理者側での集権的な管理が可能になり、セキュリティを高めることができます。


設定手順

今回はAuth0を例に説明しますが、Okta, Auth0, Google Workspace など

のSAML 2.0 ベースIdP (ID プロバイダ) に対応しています。

SP (サービスプロバイダー) とは、ここではRipple/Waveを指します。 先ずはRipple の設定を順を追って説明していきます。 Wave の設定も順序は殆ど同じですがValueが違ってきますので、最後にWave 版のValue も記載しておきます。



1. Auth0でRippleをSPとしてSAMLアプリケーションを作成

1.1 [Applications]を選択し、[+ CREATE APPLICATIONS] をクリック。

1.2 [Single Page Web Applications] を選択し、[CREATE] をクリック。


1.3 [Addons] を選択し、[SAML2 WEB APP] を有効化。


1.4 SAML2 Web Appを有効化すると、下記のページがポップアップしますので

先に[Settings]をクリックして

[Applicaatioin Callback URL] に

https://login.alphaus.cloud/ripple/saml  

を入力してください。

その直ぐ下にある 黒い画面のSAML settings はディフォルトのまま変更は必要ありません。

最後に [ENABLE] をクリックしてください。

1.5 [Usage] タブに戻りIdentity Provider Metadata をダウンロードします。

2. Ripple 側でIdP ID を生成

2.1 Ripple に戻り [環境設定] 内にある[IdP設定]を選択し、[+IdP追加]をクリックします。

2.2 下記のフォームを入力。


名前: お好きな名前をつけてください。
SAMLメタデータ: 上記ステップ1.5でダウンロードしたメタデータをアップロード

2.3 後ほどこの IdP IDが必要になりますのでコピーしておきます。

3. Auth0側でユーザーを設定

3.1 Auth0 に戻り、[Users & Roles] - [Users] から任意のユーザーを選び[View Details]をクリック。

3.2 [View Details]をクリックし下記のページに移行します。

3.3  上のスクリーンショット黒い部分に入力する用に 下記のuser_metada サンプルをベースに生成します。

{
"rippleIdpId": "db4e02b5-91fa-4109-9b90-648750405ce0",
"rippleProfiles": "MSP-5aa311904d5d6:ripple/RIPPLE_ADMIN,user/USER_ADMIN,rbac/RBAC_ADMIN"
}


3.3.1 ステップ2.2 でコピーしておいた Auth0 のIdP IDを

上記user_metadata サンプルにペーストします。

"rippleIdpId": "<  この箇所にペースト   >",

3.3.2 Ripple のユーザー設定から MSP IDをコピーします。

そのMSP IDを上記user_metadata サンプルの下記にペーストします。

"rippleProfiles": "< この箇所にペースト >:

3.3.3 許可を与えるロールを設定します。

このサンプルでは赤線で囲われた3つのロールに許可するよう設定されています。

ripple/RIPPLE_ADMIN,user/USER_ADMIN,rbac/RBAC_ADMIN"

3.3.4 サンプルを元に生成されたuser_metadataを下記の様にペーストし[Save]します。


4. Auth0でルールを設定

4.1 IdP Auth0に戻り左メニューから[Rules] を選択し、[+CREATE RULE]をクリックします。

4.2 [Empty rule] を選択。

4.2 [Name] はなんでもいいのですが、ここでは Alphaus-Rippleとします。

4.3 このサンプルRULE Script をそのまま

function (user, context, callback) {
context.samlConfiguration.mappings = {
'https://app.alphaus.cloud/ripple/SAML/Attributes/IDPID': 'user_metadata.rippleIdpId',
'https://app.alphaus.cloud/ripple/SAML/Attributes/Profiles': 'user_metadata.rippleProfiles',
'https://app.alphaus.cloud/ripple/SAML/Attributes/SessionName': 'email'
};
callback(null, user, context);
}

こちらの黒い箇所にコピー・ペーストし [SAVE CHANGES] をクリックしてください。

5 Login を試す

5.1 Auth0 の 先程作ったSAML2 Web App に戻り、Identify Provider Login URL からLogin ページに飛びます。

5.2 下記の様な画面がでてきたら設定完了です。

5.3 実際にサインインし、右上のステータスに正しいアカウントが表示されているか確認してください。

5.4 お疲れさまでした。 Ripple の連携はこれで成功です。  Waveもほぼ同じ手順で設定可能です。次のセクションでWaveの設定もお願いします。

6. Wave の設定

6. 1 Wave版 user_metada サンプルをベースに生成します。


{
"waveIdpId": "0a771745-261a-4ff0-b923-36e9672db65b",         "waveProfiles":"reseller|UL3yxO2S|600fa583ce8a0:wave/WAVE_ADMIN,user/USER_ADMIN,rbac/RBAC_ADMIN"
}

6.2 [環境設定] -> [IdP設定] -> [+IdP追加] にてIdP ID を取得し

上記user_metadata サンプルにペーストします。

"waveIdpId": "<  この箇所にペースト   >",

6.3 Wave の [設定] 画面からWave IDを取得し

6.4 上記 user_metada サンプルのWave ID の箇所にペースとします。

"waveProfiles":"<  この箇所にペースト   >  :


6.5 Auth 0 Rules に このサンプルRULE Script をそのままコピー・ペースト

function (user, context, callback) 
{
context.samlConfiguration.mappings = {
'https://app.alphaus.cloud/wave/SAML/Attributes/IDPID': 'user_metadata.waveIdpId',
'https://app.alphaus.cloud/wave/SAML/Attributes/Profiles': 'user_metadata.waveProfiles',
'https://app.alphaus.cloud/wave/SAML/Attributes/SessionName': 'email'
};
callback(null, user, context);
}

6.6 後はRIPPLEと同じ手順で設定できます。 最後までお付き合いいただきありがとうございました!


注意点

マッピングの属性は次のとおりです。


Ripple:



Wave:



こちらの回答で解決しましたか?