> For the complete documentation index, see [llms.txt](https://gitbook.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.com/docs/documentation/ja-gitbook-documentation/akauntoto/sso-and-saml.md).

# SSO と SAML

SSO と SAML を通じてGitBookコンテンツを共有する方法を学ぶ

組織メンバーを手動で管理するのは、小規模チームや、細かく制御したい人にとっては問題ありませんが、場合によっては、もっと自動化された方法で公開したいだけということもあります。GitBook では、基本的なメールドメイン SSO と、より複雑な SAML 連携という 2 つの方法でこれを設定できます。

## メールドメインによるシングルサインオン

組織を作成または管理する際に、GitBook の組織へのアクセスを許可したいメールドメインの一覧を追加できます。つまり、設定した SSO ドメインに一致する検証済みメールアドレスを持つ人なら誰でも、組織に参加できます。

メールドメイン SSO は **SSO** 組織の **設定**セクションで有効にできます。SSO アクセスを許可したいメールドメインをカンマ区切りで入力すれば完了です。

<figure><img src="https://4217681718-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2FF860Y1oqJmnsPKOjZ1n2%2Faccount-settings-sso.svg?alt=media&amp;token=c63d515a-a261-4f6e-b3aa-c39f3d03f0b4" alt="A GitBook screenshot showing how to configure SSO"><figcaption><p>組織の SSO を設定してください。</p></figcaption></figure>

{% hint style="info" %}
SSO メールドメイン経由で参加した人は、既定でゲストアクセスになります。組織設定のメンバーセクションで、いつでも役割を変更できます。
{% endhint %}

**SAML ベースのシングルサインオン** （SSO）により、メンバーは任意のアイデンティティプロバイダー（IdP）を通じて GitBook にアクセスできます。‌

GitBook は既存のアイデンティティプロバイダー（IdP）と簡単に連携できるため、他のサービスプロバイダーと同じ認証情報とログイン体験で、従業員に GitBook へのシングルサインオンを提供できます。‌

SSO を使うと、従業員は GitBook のログインページではなく、使い慣れたアイデンティティプロバイダーの画面から GitBook にログインできます。その後、従業員のブラウザが GitBook へ転送します。SSO が有効で GitBook 独自のログイン機構が無効化されている場合、IdP が GitBook へのアクセスを許可します。このようにして、認証のセキュリティは IdP に移され、他のサービスプロバイダーと連携して管理されます。‌​

## ‌GitBook で SSO を利用するための前提条件 <a href="#prerequisites-for-sso-with-gitbook" id="prerequisites-for-sso-with-gitbook"></a>

* 貴社のアイデンティティプロバイダー（IdP）は、 **SAML 2.0** 規格をサポートしている必要があります。
* IdP で管理者権限を持っている必要があります。
* SAML を設定する GitBook 組織の管理者である必要があります。

### ‌GitBook での設定 <a href="#setup-on-gitbook" id="setup-on-gitbook"></a>

あなたは [組織管理者](/docs/documentation/ja-gitbook-documentation/suru/member-management/roles.md#admin) である必要があります。GitBook 組織で SSO を有効にするには。‌

IdP で SSO を設定した後、メタデータを入力できるようになります。セットアップが成功すると、管理者には確認ダイアログが表示され、エンドユーザー向けの SSO ログイン URL が表示されます。 **GitBook はセットアップ完了時に告知メールを送信しません**. GitBook へ SSO でアクセスできるように、会社の従業員へ通知し（ログイン URL も伝え）るのは管理者の責任です。‌

{% hint style="info" %}
組織管理者は引き続き非 SSO の方法でサインインできるため、Google、GitHub、またはメールのボタンが表示されることがあります。これは、 **SSO の強制** が有効でも想定どおりです。

これにより、SSO の設定に失敗して組織にアクセスできなくなるのを防げます。管理者はいつでもサインインして、SSO 設定を削除または修正できます。
{% endhint %}

SAML プロバイダーを登録するには、IdP のメタデータから次の項目が必要です:

* 1つの **label** – ここは任意の値で構いません。ログインページに表示されます
* 1つの **entity ID**
* 1つの **シングルサインオン URL**
* 1つの **X.509 証明書** – 証明書全体を必ずコピー＆ペーストしてください！

### ‌IdP での設定 <a href="#setup-on-the-idp" id="setup-on-the-idp"></a>

ほとんどの SAML 2.0 対応アイデンティティプロバイダーでは、設定のためにサービスプロバイダー（この場合は GitBook）に関する同じ情報が必要です。これらの値は GitBook 組織ごとに固有で、次の場所で確認できます: **設定 -> SSO** タブで、SSO を有効にしたい GitBook 組織にあります。‌

これらの値のほとんどは、そのまま IdP にコピーして SAML の設定を完了できます。

GitBook では次の要件があります: **NameID** にユーザーのメールアドレスが含まれていること。技術的には、次を求めています: `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` を Name-ID 形式として使用します。多くのプロバイダー（Google など）では、次のような形式を設定できます: **EMAIL**.

### カスタム属性

GitBook は SAML アサート応答から次のカスタム属性を取得し、ユーザー作成時に使用します。

| フィールド        | 説明                                                                |
| ------------ | ----------------------------------------------------------------- |
| `first_name` | `first_name` 、 `last_name` フィールドは組み合わされ、GitBook でのユーザーの表示名が作成されます |
| `last_name`  | `first_name` 、 `last_name` フィールドは組み合わされ、GitBook でのユーザーの表示名が作成されます |

## ‌エンドユーザーアカウントの作成 <a href="#creating-end-user-account" id="creating-end-user-account"></a>

メンバーを追加するには、IdP でそれぞれのアカウントを作成します。新しいメンバーが初めて IdP 経由で GitBook にログインすると、自動 IdP プロビジョニングによって GitBook アカウントが作成されます。ユーザーは組織メンバーとして組織リソースにアクセスできます。

{% hint style="danger" %}
設定には小文字のメールアドレスが必要です。大文字小文字が混在したメールアドレスは使用しないでください。‌
{% endhint %}

## ‌アカウントの削除 <a href="#removing-end-user-accounts" id="removing-end-user-accounts"></a>

IdP からメンバーを削除すると、そのユーザーは対応する GitBook アカウントにサインインできなくなります、 **ただし GitBook からアカウントが削除されるわけではありません**. GitBook 組織からもアカウントを削除することをおすすめします。

## アクセスの制御

SAML SSO を設定すると、GitBook アカウントにアクセスできるユーザーの管理は IdP 側の責任になります。

## ‌セキュリティに関する注意 <a href="#security-notice" id="security-notice"></a>

Identity Provider から取得したものと同じメールアドレスの既存の GitBook アカウントをお持ちで、さらにサインインしようとしている組織のメンバーでない場合、セキュリティ上の理由により、SAML 設定を使って自動的にその組織へ追加することはできません。選択肢は 2 つあります:

1. 既存の GitBook アカウントを削除してから、SAML を使って目的の組織にログインしてください。その後、GitBook が新しいアカウントを作成し、あなたは組織に追加されます
2. または、管理者に組織へ招待してもらってください:

組織で「SSO の強制」が有効になっていない場合、組織の管理者は組織設定のメンバーページからユーザーを招待できます。

組織で「SSO の強制」が有効になっている場合、管理者は GitBook の `招待` API エンドポイントを使って、組織へユーザーを招待する必要があります。この API 呼び出しは次のようになります;

```
curl --request POST --header "Authorization: Bearer <your_access_token>" --url "https://api.gitbook.com/v1/orgs/<org_id>/invites" --header 'Content-Type: application/json' --data-raw '{ "sso": true, "role": "<role>", "emails":["<email>"] }'
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://gitbook.com/docs/documentation/ja-gitbook-documentation/akauntoto/sso-and-saml.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
