SSO & SAML

SSO & SAMLを介してGitBookコンテンツを共有する方法を学ぶ

この機能は以下で利用可能です: エンタープライズプラン.

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

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

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

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

A GitBook screenshot showing how to configure SSO
組織のSSOを設定します。

SSOメールドメイン経由で参加したユーザーはデフォルトでゲストアクセスになり、組織設定のメンバーセクションでいつでもその役割を変更できます。

SAMLベースのシングルサインオン (SSO) は、選択したアイデンティティプロバイダー(IdP)を通じてメンバーにGitBookへのアクセスを提供します。

GitBookは既存のアイデンティティプロバイダー(IdP)と簡単に統合できるため、従業員は他のサービスプロバイダーと同じ資格情報とログイン体験を使ってGitBookにシングルサインオンでアクセスできます。

SSOを使用すると、従業員はGitBookのログインページの代わりに馴染みのあるアイデンティティプロバイダーのインターフェースを使ってGitBookにログインできます。従業員のブラウザはその後GitBookに転送されます。SSOが有効化され、GitBook自身のログイン機構が無効化されると、IdPがGitBookへのアクセスを許可します。このようにして、認証のセキュリティはIdPに移行され、他のサービスプロバイダーと連携されます。

GitBookのSSOに必要な前提条件

  • 会社のアイデンティティプロバイダー(IdP)は次をサポートしている必要があります SAML 2.0 標準。

  • IdPで管理者権限を持っている必要があります。

  • SAMLを設定したいGitBook組織の管理者である必要があります。

GitBookでのセットアップ

あなたは 組織の管理者 でなければなりません。SSOを有効にするにはGitBook組織のために

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

組織の管理者は依然として非SSOの方法でサインインできるため、Google、GitHub、またはメールのボタンが表示されることがあります。これは期待される挙動であり、 SSOの強制 が有効でも同様です。

不適切な SSO 設定によって組織からロックアウトされるのを防ぎます。管理者は常にサインインして SSO 設定を削除または修正できます。

SAML プロバイダーを登録するために IdP メタデータから以下が必要です:

  • A ラベル – これは任意の文字列で、ログインページに表示されます

  • An エンティティ ID

  • A シングルサインオン URL

  • An X.509 証明書 – 証明書全体をコピー&ペーストすることを忘れないでください!

IdPでの設定

ほとんどの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)は次のようなフォーマットを設定できるようにします メール.

カスタム属性

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

フィールド
説明

first_name

first_namelast_name フィールドは結合されてGitBookのユーザー表示名が生成されます

last_name

first_namelast_name フィールドは結合されてGitBookのユーザー表示名が生成されます

エンドユーザーアカウントの作成

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

アカウントの削除

IdPからメンバーを削除すると、対応するGitBookアカウントへのサインインができなくなりますが、 アカウントはGitBookから削除されません。また、GitBookの組織からアカウントを削除することをお勧めします。

アクセスの制御

SAML SSOを設定すると、誰がGitBookアカウントにアクセスできるかを管理する責任はIdP側にあります。

セキュリティ注意事項

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

  1. 既存のGitBookアカウントを削除してからSAMLで目的の組織にログインしてください。GitBookは新しいアカウントを作成し、組織に追加されます

  2. または、管理者に組織に招待してもらってください:

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

組織で「SSOを強制する(Enforce SSO)」が有効になっている場合、管理者はGitBookの 招待(invites) 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>"] }'

最終更新

役に立ちましたか?