> 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

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

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

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

メールドメインSSOは、 **SSO** 組織の **設定**; SSOアクセスを許可したいメールドメインをカンマ区切りの一覧で入力すれば、準備完了です。

<figure><img src="/files/9f0d5ccb8a2726290568966285106b4392ed93f4" alt="A GitBook screenshot showing how to configure SSO"><figcaption><p>組織のSSOを設定します。</p></figcaption></figure>

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

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

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

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

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

* 会社のIDプロバイダー（IdP）が **SAML 2.0** 標準をサポートしている必要があります。
* IdPに対する管理権限が必要です。
* SAMLを設定したいGitBook組織の管理者である必要があります。

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

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

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

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

これにより、SSOの設定に失敗しても組織から締め出されるのを防げます。管理者はいつでもサインインして、SSO設定を削除または修正できます。
{% endhint %}

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

* A **label** — これは何でもかまいません。ログインページに表示されます
* ひとつの **エンティティID**
* A **シングルサインオンURL**
* ひとつの **X.509証明書** — 証明書全体を必ずコピーして貼り付けてください！

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

SAML 2.0準拠のほとんどのIDプロバイダーでは、セットアップ時にサービスプロバイダー（この場合は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>

IdPから取得したものと同じメールアドレスで既存の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.
