# Shibboleth

{% hint style="info" %}
最初に[管理コンソールの設定](/sso-connect-cloud/jp/admin-console-configuration.md)の手順を完了してください。
{% endhint %}

### 手順 1. Keeperメタデータファイルをエクスポートして保存

Keeper管理コンソール内のSSO Connect Cloudプロビジョニングメソッド&#x3067;**\[表示]**&#x3092;選択します。そこから、Keeperメタデータファイルをダウンロードして保存することができます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FMFFz6GaAalZxntktaSkZ%2Fimage.png?alt=media&#x26;token=d8261558-23c7-4ce6-b54c-91f7402eaab8" alt=""><figcaption><p>Keeperメタデータファイルをエクスポート</p></figcaption></figure>

### 手順 2. KeeperメタデータをShibbolethに追加

Shibbolethは、リライングパーティとしてのKeeperに関する基本情報を有している必要があります。その情報はSAMLメタデータで定義されていますので、Keeperメタデータファイルを `IDP_HOME/metadata/` ディレクトリに追加します。

### 手順 3. 新規リライングパーティトラストをShibbolethに追加

`IDP_HOME/conf/relying-party.xml`で新しいRelyingParty要素を定義することで、Keeperと通信する際にどのように動作するかをShibbolethに指示します。以下のコードをDefaultRelyingParty要素の直後に追加します。プロバイダ属性を法人IDに置き換えます (DefaultRelyingPartyで設定されているプロバイダを使用します)。

```markup
<RelyingParty id="keepersecurity.com"
        provider="https://keepersecurity.com/api/rest/sso/saml/264325172298110"
        defaultSigningCredentialRef="IdPCredential">
    <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" encryptAssertions="never" encryptNameIds="never" />
</RelyingParty>
```

引き続き`IDP_HOME/conf/relying-party.xml`ファイルで、[手順2](#id-2-keepermetadtawoshibbolethni)で追加したKeeperメタデータファイルを使用する設定を行います。既存の設定済みプロバイダの隣に以下のMetadataProvider要素を追加します (ID値が「FSMD」であるはずです)。IDP\_HOMEは実際のインストールパスに置き換えてください。

```markup
<!-- Keeper Metadata -->
<MetadataProvider id="KeeperMD" xsi:type="FilesystemMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"
    metadataFile="IDP_HOME/metadata/keeper-metadata.xml" maintainExpiredMetadata="true" />
```

### 手順 4. 属性リゾルバーの設定

Keeperでは、認証中に特定の**ユーザー属性**のマッピングが送信される必要があります。以下の表に見られるように、デフォルトのKeeper SSO Connect Cloudユーザー属性は、**Email** (メールアドレス)、**First** (名)、**Last** (姓)となります`。IDP_HOME/conf/attribute-resolver.xml`を変更することで、Shibbolethの属性リゾルバーを設定してこのデータを利用できるようにします。

| IdPのユーザー属性        | Keeperのユーザー属性 |
| ----------------- | :-----------: |
| `<Email Address>` |     Email     |
| `<First Name>`    |     First     |
| `<Last Name>`     |      Last     |

{% hint style="warning" %}
Shibboleth Identity Provider SAML属性を設定する際に、KeeperはNameIDFormatがemailAddressの形式で提供されることを想定しています。推奨されたNameIDFormatを使用するか、Keeperにユーザー名ログイン識別子としてユーザーのメールアドレスを与えるような環境に適した値を入力します。
{% endhint %}

### 手順 5. 属性フィルタの設定

最後に、`principal`属性 (NameIDとしてエンコード) をGoogleに解放するようにShibboleth属性フィルタリングエンジンを設定します。以下のコードを既存のポリシー要素とともに IDP\_HOME/conf/attribute-filter.xmlに追加します。

```markup
<AttributeFilterPolicy>
    <PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="keepersecurity.com" />

    <AttributeRule attributeID="principal">
        <PermitValueRule xsi:type="basic:ANY" />
    </AttributeRule>
</AttributeFilterPolicy>
```

### 手順 6. ShibbolethからメタデータXMLファイルを取得

1. `http://shibboleth.example.com/idp/shibboleth`または `<install_folder>/shibboleth-idp/metadata`のShibbolethファイルシステムにあるShibbolethメタデータを見つけます。
2. Shibbolethメタデータを手動で変更し、すべてのユーザーエンドポイントのコメントが解除されていることを確かにします (例: SingleLogout)。
3. XMLファイルを保存します。

### 手順 7. IdPメタデータをKeeperにアップロード

Shibbolethメタデータ ファイルの準備ができると、Keeper管理コンソールに戻り、SSO Connectクラウドプロビジョニングメソッドで\[編集]を選択します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FiizbO4aSlUzwUn5rRdnh%2Fimage.png?alt=media&#x26;token=d29a9562-18b1-44eb-9802-841b63deb7f8" alt=""><figcaption></figcaption></figure>

\[アイデンティティプロバイダ]まで下にスクロールし、\[IDP タイプ]を \[GENERIC] に設定し、\[ファイルの参照]を選択して Shibbolethメタデータファイルを選択します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FJFkQ4jsgy9sod1xKQwGp%2Fimage.png?alt=media&#x26;token=e07ff40e-cb46-4876-98f0-d51e7a61f8c6" alt=""><figcaption></figcaption></figure>

Keeper 管理コンソール内で編集ビューを終了し、SSO Connect Cloudプロビジョニングメソッドで\[表示]を選択します。 \[アイデンティティプロバイダ]セクション内に、現在設定されている法人ID、シングルサインオンサービス、シングルログアウトサービス エンドポイントのメタデータ値が表示されます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FNigf8nSCetrfiPYrZAUx%2Fimage.png?alt=media&#x26;token=3a38b8bd-ffe1-478a-89ab-20e5cc7ece40" alt=""><figcaption><p>SSOアプリケーションのメタデータ</p></figcaption></figure>

### グラフィックアセット

ShibbolethインスタンスでKeeperのアイコンやロゴファイルが必要な場合は、[グラフィックアセット](/sso-connect-cloud/jp/graphic-assets.md)ページをご参照ください。

{% hint style="success" %}
KeeperクラウドSSOコネクトのセットアップはこれで完了です。SSOを使用してKeeperにログインしてみてください。
{% endhint %}

SSOが機能していない場合は、Shibbolethの設定、メタデータファイル、ユーザー属性にエラーがないか確認してください。

確認が完了後に**手順4**を繰り返します。

サポートが必要な場合は、<enterprise.support@keepersecurity.com>までメールでお問い合わせください。

#### 既存のユーザー/初期管理者をSSO認証に移行

ルートノード (最上位) で作成されたユーザーは、SSOが設定されたサブノードに移行する必要があります。ユーザーがルートノードに残っている場合、ボルトや管理コンソールにアクセスする際にマスターパスワードの入力を求められます。

{% hint style="warning" %}
管理者は、SSOが有効になっているノードに自分自身を移動できません。この操作を行うには別の管理者が必要となります。
{% endhint %}

ユーザーがSSO対応ノードに移動した後、最初に\[法人SSOログイン]のプルダウンからSSO統合で設定した法人ドメインを入力し、Keeperボルトにログインする必要があります。また、マスターパスワード入力による確認を求められる場合があります。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FfpSEmIXemukyLDVOIB8z%2Fimage.png?alt=media&#x26;token=e175838b-018c-4f83-be6d-3d2cb964332d" alt=""><figcaption><p>まず[法人SSOログイン]を選択</p></figcaption></figure>

SSOで認証されると、それ以降はメールアドレスだけでSSO認証を開始できます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2Fg0JxRlreTxyHvYycbquB%2Fimage.png?alt=media&#x26;token=28a1aed8-358c-47fa-babc-3e27633e4cfe" alt=""><figcaption></figcaption></figure>

法人ドメインを入力する必要はありません。メールアドレスを入力し&#x3066;**\[次へ]**&#x3092;クリックしても目的のSSOにルーティングされない場合は、Keeper SSO設定でジャストインタイムプロビジョニングが有効になっていることと、メールドメインがKeeperによって予約されていることを確かにします。 ルーティングとドメイン予約の詳細については、[こちら](/enterprise-guide/jp/domain-reservation.md)をご覧ください。


---

# 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/sso-connect-cloud/jp/identity-provider-setup/shibboleth.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.
