ノート:

Rocket.Chatとシングル・サインオンのアイデンティティ・ドメインの統合

イントロダクション

Rocket.Chatは、高度なセキュリティおよびプライバシに関する懸念を持つ組織向けの、安全で高度にカスタマイズ可能なオープンソース通信プラットフォームです。Rocket.Chatは、ユーザー・データおよび会話を完全に制御します。このプラットフォームは、ネイティブ・アプリケーション、サードパーティ・アプリケーションとのシームレスな統合、クロスチャネル・コラボレーション、Security Assertion Markup Language (SAML)ベースのシングル・サインオン(SSO)および構成制御をAPIを使用してサポートします。

Oracle Cloud Infrastructure Identity and Access Management(OCI IAM)は、ユーザーおよびロールの管理、ユーザーのフェデレートおよびプロビジョニング、Oracle SSO構成を介したセキュアなアプリケーション統合、およびSAML/OAuthベースのアイデンティティ・プロバイダ(IdP)管理のためのコンテナです。

このチュートリアルでは、Rocket.Chatのインストールを自動化し、OCI IAMをSSO用のIdPとして統合します。

目的

前提条件

タスク1: 自動Terraformスタックを使用したRocket.ChatのインストールおよびSAMLアプリケーションの作成のためのスタックのデプロイ

Rocket.Chatは、様々なメソッドを使用してデプロイできます。このチュートリアルでは、DockerおよびDocker Composeでデプロイ・オプションを使用しました。詳細は、「Rocket.Chatのデプロイ」を参照してください。

Rocket.Chatのインストールを容易にするために、Terraform自動化スタックが作成されました。このスタックは次のことを行います。

ノート:リンクされたスタックを実行する前に、作成するリソースのサービス制限を確認してください。詳細は、アイデンティティ・ドメインのあるIAMの制限を参照してください。

  1. Full_Stack_Rocket.Chat.zipからRocket.Chatフル・スタックをダウンロードします。

    Rocket.Chatフル・スタックのzipファイルがダウンロードされたら、ファイルを解凍し、-rchat.pemファイルの内容を秘密キーのそれぞれの内容に置き換えます。

    ノート: OCIコンソールからOCI Resource Managerを使用してスタックをデプロイし、障害を回避します。

  2. 管理ユーザーとしてOCIコンソールにログインし、「開発者サービス」に移動し、「リソース・マネージャ」「スタック」をクリックします。

    スタック

  3. コンパートメントを選択し、「スタックの作成」をクリックします。「スタック構成」セクションで、ステップ1でダウンロードしたスタックzipファイルを選択してスタックをデプロイし、「次へ」をクリックします。

    スタック・アップロード

    作業ディレクトリ

  4. 「変数の構成」ページで、コンピュート・インスタンスおよびその他のリソースの作成に必要な詳細を入力し、「次へ」をクリックします。

    ノート:コンピュート・インスタンスとロード・バランサを作成するには、パブリック接続を持つ既存のVCNが必要です。

    コンピュート詳細

    VCNおよびSSOの詳細

  5. 「確認」ページで、表示された詳細を確認し、「作成」をクリックします。

    レビュー詳細

  6. 「スタックの詳細」ページで、「プラン」をクリックします。「成功」出力が表示されます。

    プラン・ジョブの開始

    計画ジョブ成功

  7. 「スタックの詳細」ページで、「適用」をクリックします。「成功」出力が表示されます。

    ジョブの適用の開始

    ジョブの適用に成功しました

  8. スタックが正常に実行された後、Rocket.Chatをホストしているコンピュート・インスタンスにアタッチされたロード・バランサと、IAMドメイン内のSAMLアプリケーションを見つけることができます。

    Compute

    Load Balancer

    サムルアプリ

    ノート:スタックの実行には約40分かかる場合があります。ジョブが成功するまで待ちます。

タスク2: Rocket.Chat管理アカウントの設定

このタスクでは、ローカル・システムのhostsファイルを更新し、デプロイされたリソースを検証します。

Windowsの場合: C:\Windows\System32\Drivers\etc\hosts

Linuxの場合: /etc/hosts

Public IP Address of Load Balancer   your-domain-name.com

https://your-domain-name.com:443のRocket.Chatにアクセスすると、設定ページにリダイレクトされます。

管理者情報

組織情報

電子メールの検証

確認

「ようこそ」ページ

ノート:管理パスワードは保護したままにしておきます。Rocket.ChatでSAML IdPを作成する際に必要です。

タスク3: シングル・サインオン用のRocket.ChatでのSAML IdPの作成

  1. Rocket.Chatインスタンスにログインし、「ワークスペース」および「設定」に移動します。

    ワークスペース

    設定

  2. 「設定」ウィンドウで、SAMLと入力し、「開く」をクリックします。

    SAML設定

  3. 「接続」ページで、「有効化」を選択します。次の詳細を入力し、「変更の保存」をクリックします。管理パスワードの入力を求められた場合は、パスワードを入力します。

    • カスタム・プロバイダ: idcsと入力します。

    • カスタム・エントリ・ポイントの更新:カスタム・エントリ・ポイントを入力します。たとえば、https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/sso

    • IDP SLOリダイレクトURL: IdP SLOリダイレクトURLを入力します。たとえば、https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/slo

    • カスタム発行者:カスタム発行者を入力します。たとえば、https://your-domain-name.com/_saml/metadata/idcsです。

    • カスタム証明書:スタックを使用して作成されたSAMLアプリケーションから署名証明書をダウンロードし、コンテンツをコピーします。

      ノート: BEGIN CERTIFICATEおよびEND CERTIFICATE行を除外します。

    • パブリック証明書の内容:証明書の内容全体をコピーします。

    • 署名検証タイプ: 「アサーション署名の検証」を選択します。

    接続の詳細

    証明書詳細

    ノート:同じカスタム・プロバイダの静的値を使用してください。そうしないと、タスク1で作成したSAMLアプリケーションでSSOが参照され、SSOが失敗する可能性があります。

  4. 「一般」ページの「ユーザー・インタフェース」セクションで、変更する必要がある場合は、「ボタン・テキスト」およびその他の詳細を更新し、「変更の保存」をクリックします。

    ユーザー・インタフェース

タスク4: OCI IAMを使用したRocket.ChatのSSOのテスト

  1. ブラウザを開き、Rocket.Chat https://demo.rocketchat.com:443のURLを入力します。

    ログイン

  2. OCI IAMアイデンティティ・ドメインのサインイン・ページが表示されます。前に作成したユーザーの「ユーザー名」および「パスワード」を使用します。

    フェデレーテッド・ログイン

  3. 認証に成功すると、ユーザーはRocket.Chatホームページにリダイレクトされます。

    「ようこそ」ページ

    ノート: OCI IAMとRocket.Chatの両方に、同じ電子メール・アドレスを持つ共通ユーザーが作成されている必要があります。

OCI IAMを使用したRocket.Chat SSOの一般的なトラブルシューティング・シナリオ

  1. 「ドメイン」、ドメイン、「設定」および「セッション設定」で、「クロスオリジン・リソース共有(CORS)の許可」が有効になっていることを確認します。

  2. Rocket.Chatインスタンスのロードに時間がかかる場合は、インスタンスにSSHで接続し、次のコマンドでDocker作成を再起動できます。

    	docker compose down
    
    	docker compose up -d
    

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。