# SAML SSO認証

## 概要 <a href="#id-.authenticatinguserswithldapv2.x-installingldapsupportforguacamole" id="id-.authenticatinguserswithldapv2.x-installingldapsupportforguacamole"></a>

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

<figure><img src="/files/xl3sBlx5lAyp9KChQKiH" alt="" width="563"><figcaption><p>オプションのSAMLログイン設定</p></figcaption></figure>

### Docker自動インストール方法

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

```bash
sudo ./kcm-setup.run reconfigure
```

<figure><img src="/files/59q3w55vMKDA0juztsKQ" alt=""><figcaption></figcaption></figure>

{% tabs %}
{% tab title="メタデータファイルをダウンロード" %}

<figure><img src="/files/tq6DFX1Y5mDcS4JTjiDB" alt=""><figcaption></figcaption></figure>

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

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

{% tab title="メタデータファイルへのURL" %}

<figure><img src="/files/PLsW3L1BpRS6GweV1CUD" alt=""><figcaption></figcaption></figure>

リモートメタデータファイル (オプション2) は、IdPのメタデータXMLファイルを指すURLを取得できる場合 (Azureから取得できます) に最も簡単です。
{% endtab %}
{% endtabs %}

### IdPメタデータの取得

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

{% content-ref url="/pages/TC3TwQNNIvfL5Z73MvOj" %}
[Microsoft Azure](/keeper-connection-manager/jp/authentication/authenticating-users-with-saml/microsoft-azure.md)
{% endcontent-ref %}

{% content-ref url="/pages/RKDnPdFygWmLR6XJSCwe" %}
[Okta](/keeper-connection-manager/jp/authentication/authenticating-users-with-saml/okta.md)
{% endcontent-ref %}

{% content-ref url="/pages/uJqBohRzaE8pzlmdhCuk" %}
[Google Workspace](/keeper-connection-manager/jp/authentication/authenticating-users-with-saml/google-workspace.md)
{% endcontent-ref %}

{% content-ref url="/pages/g5oiAH6kl0kvJKwoASIO" %}
[OneLogin](/keeper-connection-manager/jp/authentication/authenticating-users-with-saml/onelogin.md)
{% endcontent-ref %}

{% content-ref url="/pages/n7d60tRibrINq4Nw5Ibu" %}
[PingIdentity](/keeper-connection-manager/jp/authentication/authenticating-users-with-saml/pingidentity.md)
{% endcontent-ref %}

### プロンプトを完了する

* 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
```

2. 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](https://demo.lurey.com/)と記載されている2箇所を、KeeperコネクションマネージャーのログインURLに置き換えます。
* Azureを使用している場合にのみ、このSAMLグループ属性を使用します。その他のIDプロバイダを使用している場合は、異なるグループ属性IDを使用します。
* すべてのユーザーをSAMLログインに限定する場合は、`ADDITIONAL_GUACAMOLE_PROPERTIES` 行を削除してください。この行が存在する場合、ユーザーはパスワードまたはSAMLログインの選択できるようになります。

3. ローカルフォルダボリュームが存在しない場合は作成します。
4. metadata.xmlファイルをローカルコンピュータからdocker-composeファイルのguacamoleセクションのボリュームマウントが参照されている箇所へコピーします。
5. コンテナ内のguacamoleユーザーが `/etc/kcm-setup/metadata.xml` ファイルを読み取れるようにしてください。そうでない場合、ファイルの解析に失敗します。ファイルのパーミッションを設定するには、次のコマンドを実行します: `sudo chmod 644 /etc/kcm-setup/metadata.xml`
6. コンテナを再起動します。

```
sudo su
docker-compose up -d
```

設定は完了しました。

## 完了

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

![SAMLサインイン用のリンク](/files/AMAIJAuHVPrzzf08CqD4)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeper-connection-manager/jp/authentication/authenticating-users-with-saml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
