SAML SSO認証

SAML 2.0/SSO IDプロバイダと連携したユーザーの認証手順

概要

Keeperコネクションマネージャーは、任意のSAML 2.0互換IDプロバイダと連携してユーザーを認証するように設定できます。ユーザーにSAMLでのログインを強制することもできますし、以下の画像に見られるようにSAMLをホーム画面のログインのオプションとすることもできます。

オプションのSAMLログイン設定

Docker自動インストール方法

以下のreconfigureコマンドを実行し、事前に入力された選択肢をすべてそのままEnterキーを推して承認してください。SAMLのプロンプトに到達するまで進めます。

sudo ./kcm-setup.run reconfigure

まず、メタデータXMLファイルをKCMサーバーに転送しておいてください。

ローカルメタデータファイル (オプション1) を選択し、XMLファイルが配置されている正しいパスを入力してください。

IdPメタデータの取得

IDプロバイダの設定とXMLメタデータの取得方法については、以下のページをご参照ください。SAML 2.0に対応した任意のIDプロバイダをご利用いただけます。

Microsoft AzureOktaGoogle WorkspaceOneLoginPingIdentity

プロンプトを完了する

  • SAML IdP URL を入力します。

  • 署名付きリクエストについて尋ねられた場合、わからなければ「No」を選択します。

  • 次に、SAMLエンティティID を入力し、グループ属性を入力します (これは IdP のグループ属性と一致している必要があります)。

  • 次に、SAMLをデフォルトのログインプロセスに設定するかどうか尋ねられます。ログインページにSAMLログインのリンクをオプションとして表示させたい場合は「No」を選択してください。一方、SAML を唯一の認証方法にしたい場合は「Yes」を選択してください。

  • ユーザーアカウントを自動的に作成するかどうか尋ねられたら、「Yes」を選択してください。「No」を選択した場合、各アカウントをKeeperコネクションマネージャー (KCM) 内で手動で作成する必要があります。

これでSSOの設定が完了しました。


Docker Composeインストール方法

Docker Composeインストール方法を使用してKeeperコネクションマネージャー をインストールした場合、SAMLサポートは事前設定されていません。以下は、SAMLを有効化する際の手順です。

  1. ローカルインスタンスでコンテナを停止します。

cd /path/to/docker-compose.yml
docker-compose stop
  1. docker-composeファイルを編集します。

カスタムDockerメソッドを使用してSAMLサポートを追加するには、docker-compose.ymlファイルの修正が必要です。ルートユーザーとしてdocker-compose.ymlファイルを編集し、「guacamole」セクションを見つけてください。

metadata.xml ファイルをコンテナと共有するためのボリュームマウントを作成します。すでにこの目的のために共有ボリュームを設定している場合は、それを再利用できます。SAML用の環境変数が必要なセクションを追加します。具体的な設定内容については、以下のサンプルをご参照ください。

    guacamole:
        image: keeper/guacamole:2
        restart: unless-stopped
        environment:
            ACCEPT_EULA: "Y"
            GUACD_HOSTNAME: "guacd"
            MYSQL_HOSTNAME: "db"
            MYSQL_DATABASE: "guacamole_db"
            MYSQL_USERNAME: "guacamole_user"
            MYSQL_PASSWORD: "xxxxxxxx"
            SAML_CALLBACK_URL: "https://demo.lurey.com"
            SAML_IDP_METADATA_URL: "file:///etc/guacamole/metadata.xml"
            SAML_ENTITY_ID: "https://demo.lurey.com"
            SAML_GROUP_ATTRIBUTE: "http://schemas.microsoft.com/ws/2008/06/identity/claims/groups"
            ADDITIONAL_GUACAMOLE_PROPERTIES: "extension-priority: *, saml"
     volumes:
            - common-storage:/var/lib/guacamole
            - "/etc/kcm-setup/metadata.xml:/etc/guacamole/metadata.xml:ro"

注:

  • /var/lib/guac_home をローカルのボリュームパスに置き換えます。

  • https://demo.lurey.comと記載されている2箇所を、KeeperコネクションマネージャーのログインURLに置き換えます。

  • Azureを使用している場合にのみ、このSAMLグループ属性を使用します。その他のIDプロバイダを使用している場合は、異なるグループ属性IDを使用します。

  • すべてのユーザーをSAMLログインに限定する場合は、ADDITIONAL_GUACAMOLE_PROPERTIES 行を削除してください。この行が存在する場合、ユーザーはパスワードまたはSAMLログインの選択できるようになります。

  1. ローカルフォルダボリュームが存在しない場合は作成します。

  2. metadata.xmlファイルをローカルコンピュータからdocker-composeファイルのguacamoleセクションのボリュームマウントが参照されている箇所へコピーします。

  3. コンテナを再起動します。

sudo su
docker-compose up -d

ここれで設定が完了しました。

完了

SAMLモジュールを有効化すると、アプリケーションのログイン画面に以下のように新しいSAMLサインイン用のリンクが表示されます。

SAMLリンクからサインイン

Last updated