# SAMLシングルサインオンを設定する

IT管理者向け：SAMLでDraftPilotをMicrosoft Entra IDまたはOktaに接続し、サインインをテストして、ユーザーをシングルサインオンに移行する手順です。

SAMLシングルサインオン(SSO)を使うと、ユーザーはWordでもブラウザーでも、普段使っている職場のアカウントでDraftPilotにサインインできます。パスワード、多要素認証(MFA)、アクセスポリシーはIDプロバイダー側で管理され、DraftPilotがパスワードを目にすることはありません。

このガイドでは、Microsoft Entra ID(旧Azure AD)とOktaについて説明します。その他のSAML 2.0対応IDプロバイダーでも、手順は同じです。以下の値を使ってSAMLアプリを作成し、そのメタデータURLをDraftPilotに設定します。

ディレクトリからDraftPilotのアカウントを自動で作成、更新、停止するには、[SCIMプロビジョニング](/ja/knowledge-base/how-to-set-up-scim-provisioning)もあわせて設定してください。

## 始める前に

次のものが必要です。

-   **DraftPilotの管理者アカウント。** [組織の設定](https://app.draftpilot.ai/organization-settings?tab=sso)(Organization settings)を開けるのは、組織の管理者だけです。
-   **IDプロバイダーの管理者権限。** エンタープライズアプリケーション(Entra ID)またはアプリ統合(Okta)を作成し、ユーザーを割り当てられる権限が必要です。
-   **シングルサインオンを利用できるDraftPilotのプラン。** **シングルサインオン（SSO）**(Single sign-on (SSO))タブに **お問い合わせ**(Contact us)ボタンが表示されている場合、組織でSSOがまだ有効になっていません。**お問い合わせ** をクリックするか、[support@draftpilot.ai](mailto:support@draftpilot.ai)にメールでご連絡いただければ、有効にします。

DraftPilotは、未登録のメールアドレスに対してアカウントを作成しません。SSOでサインインできるのは、IDプロバイダーから送られるメールアドレスで、DraftPilotアカウントまたは保留中の招待がすでにある人だけです。「ユーザー」(Users)ページからユーザーを招待するか、[SCIMプロビジョニング](/ja/knowledge-base/how-to-set-up-scim-provisioning)でアカウントを作成してください。

## コピーするDraftPilotの値

IDプロバイダーがDraftPilotを識別するには、次の値が必要です。これらの値は、設定チェックリストの最初のステップにも、コピーボタン付きで表示されます。組織のデータがホストされているリージョンの列を使用してください。わからない場合は、常に自分のリージョンの値が表示されるチェックリストからコピーしてください。

| 項目 | EU | US |
| --- | --- | --- |
| Entity ID(識別子、オーディエンスURI) | `https://api.draftpilot.ai/saml` | `https://api-us.draftpilot.ai/saml` |
| ACS URL(応答URL、シングルサインオンURL) | `https://api.draftpilot.ai/auth/saml/callback` | `https://api-us.draftpilot.ai/auth/saml/callback` |
| メタデータURL | `https://api.draftpilot.ai/auth/saml/metadata` | `https://api-us.draftpilot.ai/auth/saml/metadata` |

IDプロバイダーで個々の値ではなくメタデータファイルを求められた場合は、チェックリストの **metadata XMLをダウンロード**(Download metadata XML)をクリックします。

どちらのリージョンも、同じWebアプリ([app.draftpilot.ai](https://app.draftpilot.ai))を使用します。

## 設定チェックリストを開く

1.  ブラウザーでDraftPilotにサインインし、[組織の設定 > シングルサインオン（SSO）](https://app.draftpilot.ai/organization-settings?tab=sso)を開きます。
2.  IDプロバイダーをまだ接続していない場合は、**シングルサインオンを設定**(Set up single sign-on)と表示されます。**SAMLを設定**(Set up SAML)をクリックします。

チェックリストには4つのステップがあります。

1.  **IDプロバイダーにDraftPilotを追加**(Add DraftPilot to your identity provider)：上記の値と、Microsoft Entra IDとOkta向けの簡単なガイドが表示されます。
2.  **IDプロバイダーを接続**(Connect your identity provider)：IDプロバイダーのメタデータURLを貼り付けます。
3.  **サインインをテスト**(Test sign-in)：テスト用のサインインリンクを作成します。
4.  **ユーザーをSSOに移行**(Migrate users to SSO)：既存ユーザーのサインイン方法をパスワードからSSOに切り替えます。

パネル上部のステータスバッジには、**未設定**(Not configured)、**オフ**(Off)、**接続済み**(Connected)のいずれかが表示されます。

## Microsoft Entra IDを設定する

### エンタープライズアプリケーションを作成する

1.  [Microsoft Entra 管理センター](https://entra.microsoft.com)(Microsoft Entra admin center)または[Azure portal](https://portal.azure.com)にサインインします。
2.  **エンタープライズ アプリケーション**(Enterprise applications)に移動し、**新しいアプリケーション**(New application)をクリックします。
3.  **独自のアプリケーションの作成**(Create your own application)をクリックします。
4.  名前を `DraftPilot` にし、**ギャラリーに見つからないその他のアプリケーションを統合します (ギャラリー以外)**(Integrate any other application you don't find in the gallery (Non-gallery))を選択して、**作成**(Create)をクリックします。

### シングルサインオンを構成する

1.  作成したアプリケーションで **シングル サインオン**(Single sign-on)を開き、**SAML** を選択します。
2.  **基本的な SAML 構成**(Basic SAML Configuration)で **編集**(Edit)をクリックし、次の値を入力します。
    -   **識別子 (エンティティ ID)**(Identifier (Entity ID))：DraftPilotのEntity ID
    -   **応答 URL (Assertion Consumer Service URL)**(Reply URL (Assertion Consumer Service URL))：DraftPilotのACS URL
3.  その他の項目は空欄のまま、**保存**(Save)をクリックします。

### クレームを確認する

1.  **属性とクレーム**(Attributes & Claims)で **編集** をクリックします。
2.  **一意のユーザー識別子 (名前 ID)**(Unique User Identifier (Name ID))を `user.mail` に設定します。
3.  既定のメールアドレスのクレーム(`http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`)は、`user.mail` のままにします。

DraftPilotは、メールアドレスでユーザーを照合します。まず名前IDを読み取り、次にメールのクレームを読み取るため、少なくともどちらか一方に、そのユーザーのDraftPilotアカウントのメールアドレスが含まれている必要があります。名前のクレームは任意です。DraftPilotは、各ユーザーの名前をサインイン時の情報ではなく、招待またはSCIMから取得します。

### メタデータURLをコピーする

1.  **SAML 証明書**(SAML Certificates)で **アプリのフェデレーション メタデータ URL**(App Federation Metadata Url)を探してコピーします。このURLは `https://login.microsoftonline.com/` で始まります。
2.  署名オプションは、既定の **SAML アサーションへの署名**(Sign SAML assertion)または **SAML 応答とアサーションへの署名**(Sign SAML response and assertion)のままにします。DraftPilotは、アサーションが署名されていない応答を拒否します。

### ユーザーを割り当てる

1.  **ユーザーとグループ**(Users and groups)を開き、**ユーザーまたはグループの追加**(Add user/group)をクリックします。
2.  DraftPilotを使うユーザーまたはグループを割り当てます。テストサインインを実行できるように、自分自身も含めてください。

次に、[IDプロバイダーをDraftPilotに接続](#idプロバイダーをdraftpilotに接続する)します。

## Oktaを設定する

### SAMLアプリを作成する

1.  Okta管理コンソール(Okta Admin Console)にサインインします。
2.  **アプリケーション > アプリケーション**(Applications > Applications)に移動し、**アプリ統合を作成**(Create App Integration)をクリックします。
3.  **SAML 2.0** を選択し、**次へ**(Next)をクリックします。
4.  **アプリ名**(App name)を `DraftPilot` にし、**次へ** をクリックします。

### SAMLを構成する

1.  **SAMLの構成**(Configure SAML)ステップで、次の値を入力します。
    -   **シングルサインオンURL**(Single sign-on URL)：DraftPilotのACS URL。**受信者URLと宛先URLにこれを使用する**(Use this for Recipient URL and Destination URL)は選択したままにします。
    -   **オーディエンスURI(SPエンティティID)**(Audience URI (SP Entity ID))：DraftPilotのEntity ID
2.  **名前IDの形式**(Name ID format)を **EmailAddress** に、**アプリケーションのユーザー名**(Application username)を **Email** に設定します。
3.  **属性ステートメント**(Attribute Statements)で、`email` を値 `user.email` で追加します。名前のステートメントは任意です。DraftPilotはこれを読み取りません。
4.  **次へ** をクリックします。**フィードバック**(Feedback)ステップで **社内アプリを追加するOktaのお客様です**(I'm an Okta customer adding an internal app)を選択し、**終了**(Finish)をクリックします。

### メタデータURLをコピーする

1.  アプリの **サインオン**(Sign On)タブを開きます。
2.  **メタデータURL**(Metadata URL)をコピーします。

### ユーザーを割り当てる

1.  **割り当て**(Assignments)タブを開きます。
2.  **割り当て > ユーザーに割り当て**(Assign > Assign to People)または **グループに割り当て**(Assign to Groups)をクリックし、DraftPilotを使うすべてのユーザーを割り当てます。テストサインインを実行できるように、自分自身も含めてください。

## IDプロバイダーをDraftPilotに接続する

1.  チェックリストで **IDプロバイダーを接続** を展開します。
2.  メタデータURLを **IDプロバイダーのメタデータURL**(Identity provider metadata URL)に貼り付け、**取得**(Fetch)をクリックします。
3.  **IDプロバイダーのEntity ID**(Identity provider entity ID)、**IDプロバイダーのSSO URL**(Identity provider SSO URL)、**IDプロバイダーの証明書**(Identity provider certificate)が入力されていることを確認します。これらは手動では編集できず、常にメタデータから取得されます。
4.  パネル上部の **SAML SSOを有効化**(Enable SAML SSO)スイッチをオンにします。
5.  **SAML設定を保存**(Save SAML settings)をクリックし、**SAML設定を保存しました**(SAML settings saved successfully)と表示されるまで待ちます。スイッチの変更は、保存するまで反映されません。

SAMLをオンにしても、この時点ではユーザーのサインイン方法は変わりません。パスワードを使っているユーザーは、[移行する](#ユーザーをシングルサインオンに移行する)まで引き続きパスワードでサインインします。

## サインインをテストする

1.  **サインインをテスト** を展開し、**SAMLサインインをテスト**(Test SAML login)をクリックします。
2.  **URLをコピー**(Copy URL)をクリックし、プライベートウィンドウ(シークレットウィンドウ)または別のブラウザーでリンクを開きます。現在のブラウザーではすでにIDプロバイダーにサインインしている場合があり、サインアウトした状態のユーザーが遭遇する問題が見えなくなるためです。
3.  IDプロバイダーで自分のアカウントでサインインします。成功すると、DraftPilotが開きます。

テストでは自分のDraftPilotアカウントでサインインするため、IDプロバイダーで自分のアカウントがアプリに割り当てられている必要があります。テストに成功すると、自分のアカウントのサインイン方法もSSOに切り替わります。

## ユーザーをシングルサインオンに移行する

SSOの設定後に作成されたユーザーには、組織の既定のサインイン方法が適用されます。パスワードでサインインしていた既存ユーザーは、移行するまで引き続きパスワードを使います。

1.  **ユーザーをSSOに移行** を展開します。すでにSSOでサインインしているユーザーの数が表示されます。
2.  **ユーザーをSSOに移行** をクリックし(ボタンには移行するユーザーの数が表示されます)、確認します。

以降、これらのユーザーにはDraftPilotのサインイン画面に **SSOに接続**(Connect to SSO)が表示され、IDプロバイダーに転送されます。スーパー管理者と外部ユーザー(招待した他の組織のユーザー)は対象外となり、引き続きパスワードを使います。

元に戻すには、同じステップの **メール認証に戻す**(Revert users to email auth)を使います。元に戻したユーザーは、再びDraftPilotのパスワードでサインインします。パスワードを設定したことがないユーザーは、**パスワードを忘れた場合**(Forgot password?)から設定できます。

変更内容をユーザーに伝えてください。[DraftPilotへのサインイン](/ja/knowledge-base/signing-in-to-draftpilot)では、ユーザー側から見たSSOのサインイン画面を説明しています。

## 任意：再認証を必須にする

SSOを設定すると、**サインインのたびに再認証を要求**(Require reauthentication on every sign-in)が表示されます。オンにすると、ユーザーがIDプロバイダーにすでにサインインしている場合でも、DraftPilotにサインインするたびにIDプロバイダーが資格情報の入力を求めます。パスワード、パスキー、認証アプリなど、どの方法で再認証するかはIDプロバイダー側で決まります。

DraftPilot独自の二要素認証の要件は、SSOでサインインするユーザーには適用されません。これらのユーザーには、IDプロバイダーの多要素認証(MFA)を使用してください。

## トラブルシューティング

### 「メタデータを取得できませんでした。URLを確認して、もう一度お試しください。」(Failed to fetch metadata. Please check the URL and try again.)

-   URLは `https://` で始まる必要があります。
-   サインインURLやログインURLではなく、**メタデータ**のURLを使用してください。Entra IDでは **アプリのフェデレーション メタデータ URL**、Oktaでは **サインオン** タブの **メタデータURL** です。`?appid=...` などのクエリ文字列も含めて、すべてコピーしてください。
-   DraftPilotのサーバーはインターネット経由でURLを取得するため、社内ネットワークやVPN内でしかアクセスできないメタデータURLは使用できません。公開できない場合は、[support@draftpilot.ai](mailto:support@draftpilot.ai)までメールでご連絡ください。

### 保存しても「SAML設定を保存しました」と表示されない

Entity ID、SSO URL、証明書が入力されるまで、SAMLはオンにできません。先に **取得** をクリックしてから、もう一度保存してください。

### 「SAMLテストURLを生成できませんでした」(Could not generate SAML test URL)

テストを行う前に、SAMLをオンにして保存しておく必要があります。**SAML SSOを有効化** をオンにし、**SAML設定を保存** をクリックしてから、もう一度お試しください。それでも失敗する場合は、IDプロバイダーの証明書が変更されている可能性があるため、もう一度 **取得** をクリックしてください。

### 「このメールアドレスのアカウントが見つかりません」(No account found for this email address)

ユーザーが入力したメールアドレスに対応するアカウントや保留中の招待が、DraftPilotにありません。職場のメールアドレスを使っているかを確認し、招待するかSCIMでプロビジョニングしてください。また、正しいリージョンにサインインしているかも確認してください。同じメールアドレスのアカウントが両方のリージョンにある場合、DraftPilotはユーザーに **ヨーロッパ**(Europe)または **米国**(United States)を選ぶよう求めます。

### 「組織でSAML認証が設定されていません」(SAML authentication is not configured for your organization)

ユーザーのアカウントはSSOに設定されていますが、組織のSAMLがオフになっています。**SAML SSOを有効化** をオンにして **SAML設定を保存** をクリックするか、それらのユーザーをメールでのサインインに戻してください。

### IDプロバイダーでサインインした後に「認証に失敗しました。もう一度お試しください。」(Authentication failed. Please try again.)と表示される

DraftPilotはIDプロバイダーからサインインを受け取りましたが、それを拒否しました。主な原因は次のとおりです。

-   **メールアドレスが一致しない。** 名前IDとメールのクレームのどちらにも、組織内のアカウントまたは招待に対応するアドレスが含まれていません。Entra IDの場合、通常は名前IDがユーザーのUPN(例：`name@corp.example.net`)になっていて、ユーザーに `mail` 属性がないことが原因です。名前IDを `user.mail` に設定し、ディレクトリでユーザーのメールアドレスを確認してください。
-   **アサーションが署名されていない。** Entra IDでは、**SAML アサーションへの署名** または **SAML 応答とアサーションへの署名** を使用してください。Oktaは既定でアサーションに署名します。
-   **証明書が変更された、または有効期限が切れた。** IDプロバイダーで署名証明書をローテーションまたは更新した場合は、もう一度 **取得** をクリックしてから **SAML設定を保存** をクリックしてください。DraftPilotは、有効期限切れの証明書で署名されたサインインを拒否します。
-   **Entity IDまたはACS URLが誤っている。** たとえば、US組織にEUの値を使用している場合です。

### 「SAMLレスポンスの形式が無効です。」(Invalid SAML response format.)

IDプロバイダーからの応答に、名前IDとメールのクレームのどちらにもメールアドレスが含まれていませんでした。上記のクレームの設定を確認してください。

### 一部のユーザーにパスワードの入力画面が表示される

それらのユーザーはまだ移行されていません。もう一度 **ユーザーをSSOに移行** を実行してください。新しく招待またはプロビジョニングしたユーザーが引き続きパスワードでのサインインになる場合は、[support@draftpilot.ai](mailto:support@draftpilot.ai)に、組織の既定のサインイン方法をSAMLシングルサインオンに変更するようご依頼ください。

### ユーザーのメールアドレスが変わる

IDプロバイダーから送られるメールアドレスは、ユーザーのDraftPilotアカウントと一致している必要があります。組織でメールドメインを変更する場合は、[support@draftpilot.ai](mailto:support@draftpilot.ai)までメールでご連絡ください。新しいアドレスに合わせてアカウントを更新します。

## お困りの場合

組織名、使用しているIDプロバイダー、表示されたエラーメッセージ(正確な文言)を添えて、[support@draftpilot.ai](mailto:support@draftpilot.ai)までメールでご連絡ください。IDプロバイダーのSAML設定のスクリーンショットもあると助かります。パスワードや秘密鍵は絶対に送らないでください。
