> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# シングルサインオン（SSO）

> Google Workspace、Azure AD、AWS IAM Identity Center、Oktaなどを使ったSAMLまたはOIDC SSOの設定

シングルサインオンを使うと、チームが既存のIDプロバイダーを使ってCloudThinkerに認証できます——個別のパスワードが不要で、ユーザーの自動プロビジョニングと、退職者の集中デプロビジョニングが可能です。

<Note>
  SSOは **Scale**、**Scale +**、**Enterprise** プランで利用できます。開始するには、**Organization Settings → Security → SSO** に移動して **Add Connection** をクリックします。
</Note>

***

## セットアップウィザードの仕組み

SSOウィザードには3つのステップがあります: **Protocol → SP Metadata → IdP Configuration**。

1. **Protocol** — SAML 2.0またはOIDCを選択する
2. **SP Metadata** — SAMLアプリ作成時にCloudThinkerの値をIdPにコピーする
3. **IdP Configuration** — IdPの値をCloudThinkerに貼り付ける

以下のタブで、IDプロバイダーごとの具体的な手順を確認してください。

***

## SAMLのセットアップ

<Tabs>
  <Tab title="Google Workspace">
    ### Google Workspace — SAMLセットアップ

    <Steps>
      <Step title="Google管理コンソールを開く">
        [admin.google.com](https://admin.google.com) に移動し、**Apps → Web and mobile apps → Add app → Add custom SAML app** を選択します。
      </Step>

      <Step title="アプリに名前を付ける">
        **CloudThinker** などの名前を付けて **Continue** をクリックします。
      </Step>

      <Step title="IdPメタデータをダウンロードする">
        **Google IdP information** 画面で **IdP metadata XML** をダウンロードするか、以下をメモします:

        * **SSO URL**（シングルサインオンURL）
        * **Entity ID**（`https://accounts.google.com/o/saml2?idpid=...`）
        * **Certificate**（X.509証明書をダウンロード）

        **Continue** をクリックします。
      </Step>

      <Step title="CloudThinkerのSP詳細を入力する">
        **CloudThinker → Settings → Security → SSO → SP Metadata** から値をコピーします:

        | Googleフィールド        | CloudThinkerの値                        |
        | ------------------ | ------------------------------------- |
        | **ACS URL**        | CloudThinkerの **ACS URL** を貼り付ける      |
        | **Entity ID**      | CloudThinkerの **SP Entity ID** を貼り付ける |
        | **Name ID format** | `EMAIL`                               |
        | **Name ID**        | `Basic Information > Primary email`   |

        **Continue** をクリックします。
      </Step>

      <Step title="属性マッピングを設定する">
        以下の属性マッピングを追加します:

        | Googleディレクトリ属性 | アプリ属性       |
        | -------------- | ----------- |
        | Primary email  | `email`     |
        | First name     | `firstName` |
        | Last name      | `lastName`  |

        **Finish** をクリックします。
      </Step>

      <Step title="アプリを有効にする">
        アプリ設定でアクセスを **On for everyone**（または特定の組織単位を対象に）に設定します。
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerのSSOウィザードに戻り、以下を貼り付けます:

        * GoogleからのEntity ID
        * GoogleからのSSO URL
        * Certificate（X.509証明書の内容を貼り付け）

        **Create Connection** をクリックし、**Test** をクリックして確認します。
      </Step>
    </Steps>

    <Tip>
      CloudThinkerの **Import** フィールドにGoogle IdPメタデータURLを貼り付けると、Entity ID、SSO URL、Certificateが1ステップで自動入力されます。
    </Tip>
  </Tab>

  <Tab title="Azure AD / Entra ID">
    ### Microsoft Azure AD（Entra ID）— SAMLセットアップ

    <Steps>
      <Step title="エンタープライズアプリケーションを作成する">
        [Azureポータル](https://portal.azure.com)で **Microsoft Entra ID → Enterprise applications → New application → Create your own application** に移動します。

        **CloudThinker** と名前を付け、**Integrate any other application you don't find in the gallery** を選択して **Create** をクリックします。
      </Step>

      <Step title="シングルサインオンをセットアップする">
        新しいアプリケーションを開き、**Single sign-on → SAML** を選択します。
      </Step>

      <Step title="基本的なSAML設定を入力する">
        **Basic SAML Configuration** の **Edit** をクリックし、CloudThinkerのSP Metadataから入力します:

        | Azureフィールド                 | CloudThinkerの値          |
        | -------------------------- | ----------------------- |
        | **Identifier (Entity ID)** | **SP Entity ID** を貼り付ける |
        | **Reply URL (ACS URL)**    | **ACS URL** を貼り付ける      |
        | **Sign on URL**            | ACS URLと同じ              |

        保存します。
      </Step>

      <Step title="属性とクレームを設定する">
        **Attributes & Claims** で `emailaddress` クレームが `user.mail` にマッピングされていることを確認します。オプションで以下を追加します:

        * `firstName` → `user.givenname`
        * `lastName` → `user.surname`
      </Step>

      <Step title="フェデレーションメタデータをダウンロードする">
        **SAML Signing Certificate** で **Federation Metadata XML** をダウンロードするか、以下をコピーします:

        * **App Federation Metadata URL**（推奨——CloudThinkerへの自動インポートに使用）
        * **Certificate (Base64)**
        * **Login URL**（SSO URL）
        * **Azure AD Identifier**（Entity ID）
      </Step>

      <Step title="ユーザーとグループを割り当てる">
        **Users and groups → Add user/group** に移動し、CloudThinkerへのアクセスを許可するユーザーを割り当てます。
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerのIdP Configurationステップで、**Import** フィールドに **App Federation Metadata URL** を貼り付けてすべてのフィールドを自動入力します。または手動で入力します:

        * **Entity ID**: Azure AD Identifier
        * **SSO URL**: Login URL
        * **Certificate**: Certificate (Base64)

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>

  <Tab title="AWS IAM Identity Center">
    ### AWS IAM Identity Center（AWS SSO）— SAMLセットアップ

    <Steps>
      <Step title="IAM Identity Centerを開く">
        [AWSコンソール](https://console.aws.amazon.com)で **IAM Identity Center → Applications → Add application → Add custom SAML 2.0 application** に移動します。
      </Step>

      <Step title="アプリケーションを設定する">
        **CloudThinker** などの表示名を付け、オプションで説明を追加します。
      </Step>

      <Step title="IAM Identity Centerのメタデータをダウンロードする">
        **IAM Identity Center metadata** セクションで、以下をコピーまたはダウンロードします:

        * **IAM Identity Center SAML metadata file**（またはメタデータURL）
        * **IAM Identity Center issuer URL**
        * **IAM Identity Center sign-in URL**
        * **Certificate**
      </Step>

      <Step title="アプリケーションのSAMLメタデータを入力する">
        **Application metadata** セクションで、CloudThinkerのSP Metadataから値を貼り付けます:

        | IAM Identity Centerフィールド      | CloudThinkerの値          |
        | ----------------------------- | ----------------------- |
        | **Application ACS URL**       | **ACS URL** を貼り付ける      |
        | **Application SAML audience** | **SP Entity ID** を貼り付ける |
      </Step>

      <Step title="ユーザーを割り当てる">
        **Assigned users and groups → Assign users and groups** に移動し、CloudThinkerにアクセスするユーザーを選択します。
      </Step>

      <Step title="属性マッピングを設定する">
        **Attribute mappings** で以下を追加します:

        | アプリケーション内のユーザー属性 | IAM Identity Centerのこの文字列値またはユーザー属性にマッピング |
        | ---------------- | ----------------------------------------- |
        | `Subject`        | `${user:email}` — フォーマット: `emailAddress`  |
        | `email`          | `${user:email}`                           |
        | `firstName`      | `${user:givenName}`                       |
        | `lastName`       | `${user:familyName}`                      |
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerに戻り、**Import** を使ってIAM Identity CenterのメタデータURLを貼り付けるか、手動で入力します:

        * **Entity ID**: IAM Identity Center issuer URL
        * **SSO URL**: IAM Identity Center sign-in URL
        * **Certificate**: メタデータファイルから取得

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>

  <Tab title="Okta">
    ### Okta — SAMLセットアップ

    <Steps>
      <Step title="新しいアプリ連携を作成する">
        [Okta管理コンソール](https://your-org.okta.com/admin)で **Applications → Applications → Create App Integration → SAML 2.0** に移動します。
      </Step>

      <Step title="一般設定">
        アプリに **CloudThinker** と名前を付けて **Next** をクリックします。
      </Step>

      <Step title="SAML設定を構成する">
        CloudThinkerのSP Metadataから入力します:

        | Oktaフィールド                       | CloudThinkerの値          |
        | ------------------------------- | ----------------------- |
        | **Single sign-on URL**          | **ACS URL** を貼り付ける      |
        | **Audience URI (SP Entity ID)** | **SP Entity ID** を貼り付ける |
        | **Name ID format**              | `EmailAddress`          |
        | **Application username**        | `Email`                 |
      </Step>

      <Step title="属性ステートメントを追加する">
        **Attribute Statements** に以下を追加します:

        | 名前          | 値                |
        | ----------- | ---------------- |
        | `email`     | `user.email`     |
        | `firstName` | `user.firstName` |
        | `lastName`  | `user.lastName`  |
      </Step>

      <Step title="IdPメタデータを取得する">
        保存後、アプリの **Sign On** タブ → **SAML Signing Certificates** セクション → **Actions → View IdP metadata** をクリックしてメタデータXMLのURLを取得します。

        または直接コピーします:

        * **Identity Provider Single Sign-On URL**
        * **Identity Provider Issuer**
        * **X.509 Certificate**
      </Step>

      <Step title="ユーザーまたはグループを割り当てる">
        **Assignments** タブでアクセスを許可するユーザーまたはグループを割り当てます。
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerのIdP Configurationステップで **Oktaメタデータ URL** を **Import** フィールドに貼り付けるか、手動で入力します:

        * **Entity ID**: Identity Provider Issuer
        * **SSO URL**: Identity Provider Single Sign-On URL
        * **Certificate**: X.509 Certificate

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>

  <Tab title="OneLogin">
    ### OneLogin — SAMLセットアップ

    <Steps>
      <Step title="新しいアプリを作成する">
        [OneLogin管理ポータル](https://app.onelogin.com/admin)で **Applications → Applications → Add App → Search for "SAML Custom Connector (Advanced)"** を検索してクリックします。
      </Step>

      <Step title="名前を付けて保存する">
        表示名を **CloudThinker** に設定して **Save** をクリックします。
      </Step>

      <Step title="Configurationタブを設定する">
        **Configuration** タブに移動し、CloudThinkerのSP Metadataから貼り付けます:

        | OneLoginフィールド                    | CloudThinkerの値           |
        | -------------------------------- | ------------------------ |
        | **Audience (EntityID)**          | **SP Entity ID** を貼り付ける  |
        | **ACS (Consumer) URL**           | **ACS URL** を貼り付ける       |
        | **ACS (Consumer) URL Validator** | `.*`（またはACS URLを正規表現として） |
        | **Login URL**                    | ACS URLと同じ               |

        保存します。
      </Step>

      <Step title="パラメーターマッピングを追加する">
        **Parameters** タブで以下を追加します:

        | フィールド名      | 値          |
        | ----------- | ---------- |
        | `email`     | Email      |
        | `firstName` | First Name |
        | `lastName`  | Last Name  |
      </Step>

      <Step title="IdPの詳細を取得する">
        **SSO** タブに移動して以下をコピーします:

        * **Issuer URL**（Entity ID）
        * **SAML 2.0 Endpoint (HTTP)**
        * **X.509 Certificate**（View Details → 証明書をコピー）
      </Step>

      <Step title="ユーザーを割り当てる">
        **Users** タブでアクセスを許可するユーザーまたはロールを追加します。
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerで以下を入力します:

        * **Entity ID**: Issuer URL
        * **SSO URL**: SAML 2.0 Endpoint (HTTP)
        * **Certificate**: X.509 Certificate

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>

  <Tab title="Generic SAML">
    ### 汎用SAML 2.0

    上記に記載されていないSAML準拠のIDプロバイダーに使用します。

    #### ステップ1 — CloudThinkerのSPメタデータを取得する

    **Organization Settings → Security → SSO → Add Connection → SAML** に移動します。**SP Metadata** 画面で以下をコピーします:

    | フィールド               | 使用方法                                        |
    | ------------------- | ------------------------------------------- |
    | **ACS URL**         | IdPの "Reply URL" または "ACS URL" フィールドに貼り付ける  |
    | **SP Entity ID**    | IdPの "Audience" または "Entity ID" フィールドに貼り付ける |
    | **SP Metadata URL** | このURLのインポートを許可するIdPでは、すべてのフィールドを一度に自動入力できる  |

    #### ステップ2 — IdPでSAMLアプリを作成する

    IDプロバイダーで新しいSAMLアプリケーションを作成し、上記のSP値を入力します。ユーザー属性マッピングを設定します:

    | CloudThinker属性  | IdP属性         |
    | --------------- | ------------- |
    | `email`（NameID） | ユーザーのプライマリメール |
    | `firstName`     | 名（ファーストネーム）   |
    | `lastName`      | 姓（ラストネーム）     |

    #### ステップ3 — CloudThinkerでIdPの詳細を設定する

    IdPでSAMLアプリを作成したら、CloudThinkerに戻り **IdP Configuration** ステップを完了します:

    | フィールド             | 場所                                                                        |
    | ----------------- | ------------------------------------------------------------------------- |
    | **Display Name**  | 任意のラベルを選択する（例: "Okta SAML"）                                               |
    | **Entity ID**     | IdPのエンティティ識別子（"Issuer" と呼ばれることもある）                                        |
    | **SSO URL**       | IdPのシングルサインオンエンドポイントURL                                                   |
    | **Certificate**   | IdPからのX.509署名証明書（base64エンコード）                                             |
    | **SLO URL**       | *（オプション）* シングルログアウトエンドポイント——CloudThinkerからサインアウトしたときにIdPからもログアウトさせる場合のみ必要 |
    | **NameID Format** | IdPが別のフォーマットを必要とする場合を除き、"Email Address" のままにする                            |

    <Tip>
      IdPがメタデータURLまたはXMLファイルを提供している場合は、上部の **Import** フィールドを使ってEntity ID、SSO URL、Certificateを自動入力できます——時間の節約とコピーペーストのミスを防げます。
    </Tip>

    **Create Connection** をクリックします。
  </Tab>
</Tabs>

***

## OIDCのセットアップ

<Tabs>
  <Tab title="Google Workspace">
    ### Google Workspace — OIDCセットアップ

    <Steps>
      <Step title="OAuthクライアントを作成する">
        [console.cloud.google.com](https://console.cloud.google.com) → **APIs & Services → Credentials → Create Credentials → OAuth 2.0 Client ID** に移動します。

        アプリケーションタイプ: **Web application**。
      </Step>

      <Step title="認証済みリダイレクトURIを追加する">
        CloudThinkerのOIDC SP Metadataからの **Redirect URI** を追加します。**Create** をクリックします。
      </Step>

      <Step title="クレデンシャルをコピーする">
        **Client ID** と **Client Secret** をコピーします。
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerのOIDC設定で:

        * **Discovery URL**: `https://accounts.google.com/.well-known/openid-configuration`
        * **Client ID**: Googleからコピー
        * **Client Secret**: Googleからコピー

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>

  <Tab title="Azure AD / Entra ID">
    ### Azure AD（Entra ID）— OIDCセットアップ

    <Steps>
      <Step title="アプリケーションを登録する">
        [Azureポータル](https://portal.azure.com) → **Microsoft Entra ID → App registrations → New registration** に移動します。

        **CloudThinker** と名前を付けます。**Redirect URI** で **Web** を選択し、CloudThinkerのOIDC SP MetadataからリダイレクトURIを貼り付けます。
      </Step>

      <Step title="クライアントシークレットを作成する">
        **Certificates & secrets → New client secret** に移動します。**Value** をすぐにコピーします——再度表示されません。
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerのOIDC設定で:

        * **Discovery URL**: `https://login.microsoftonline.com/{tenant-id}/v2.0/.well-known/openid-configuration`
        * **Client ID**: アプリ登録の概要からの **Application (client) ID**
        * **Client Secret**: コピーしたシークレットの値

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>

  <Tab title="Okta">
    ### Okta — OIDCセットアップ

    <Steps>
      <Step title="OIDCアプリを作成する">
        Okta管理コンソールで **Applications → Create App Integration → OIDC - OpenID Connect → Web Application** に移動します。
      </Step>

      <Step title="リダイレクトURIを設定する">
        **Sign-in redirect URIs** に、CloudThinkerのOIDC SP MetadataからリダイレクトURIを貼り付けます。**Save** をクリックします。
      </Step>

      <Step title="CloudThinkerでセットアップを完了する">
        CloudThinkerのOIDC設定で:

        * **Discovery URL**: `https://your-org.okta.com/.well-known/openid-configuration`
        * **Client ID**: OktaアプリのGeneralタブから
        * **Client Secret**: OktaアプリのGeneralタブから

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>

  <Tab title="Generic OIDC">
    ### 汎用OIDC

    OpenID Connect準拠の任意のプロバイダーに使用します。

    <Steps>
      <Step title="CloudThinkerをOAuthクライアントとして登録する">
        IdPで新しいOAuth 2.0 / OIDCアプリケーションを作成します。CloudThinkerのOIDC SP Metadata画面に表示される **Redirect URI** を追加します。
      </Step>

      <Step title="CloudThinkerで設定する">
        CloudThinkerのOIDC設定に以下を入力します:

        | フィールド             | 説明                                              |
        | ----------------- | ----------------------------------------------- |
        | **Discovery URL** | IdPの `.well-known/openid-configuration` エンドポイント |
        | **Client ID**     | IdPから発行されたクライアントID                              |
        | **Client Secret** | IdPから発行されたクライアントシークレット                          |

        **Create Connection** をクリックし、**Test** をクリックします。
      </Step>
    </Steps>
  </Tab>
</Tabs>

***

## セットアップ後

### 接続をテストする

SSO強制の前に必ずテストします:

1. SSO接続設定で **Test** をクリックする
2. 新しいブラウザタブが開いて認証を試みる
3. CloudThinkerに正常にリダイレクトされることを確認する
4. ユーザー属性（名前、メール）が正しく受信されたことを確認する

### SSO強制（オプション）

確認後、すべてのユーザーにSSO経由の認証を必須化できます:

1. **Organization Settings → Security → SSO** に移動する
2. **Enforce SSO** をオンにする
3. 次のログイン時にユーザーはIdPにリダイレクトされます——メール/パスワードログインは無効になります

<Warning>
  SSO強制の前に、少なくとも1つのOwnerアカウントがSSOで機能することを確認してください。強制後にSSOが壊れた場合、バックアップアクセス方法を持つOwnerが無効化できます。
</Warning>

### ユーザープロビジョニング

CloudThinkerはIdPからの `email`、`firstName`、`lastName` 属性を使って、初回SSOログイン時にユーザーを自動プロビジョニングします。新しいユーザーにはデフォルトで **Developer** ロールが割り当てられます——SSO設定で変更できます。

***

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

<AccordionGroup>
  <Accordion title="IdPから「Invalid ACS URL」エラーが発生する">
    IdPに入力したACS URLがCloudThinkerに表示されているものと完全に一致していることを確認します——プロトコル（`https://`）の確認とトレイリングスラッシュがないことを確認してください。
  </Accordion>

  <Accordion title="属性がマッピングされない（名前がメールとして表示される）">
    IdPが `firstName` と `lastName` 属性を送信していることを確認します。上記のプロバイダーごとの属性マッピングテーブルを参照してください。
  </Accordion>

  <Accordion title="証明書の検証エラー">
    `-----BEGIN CERTIFICATE-----` と `-----END CERTIFICATE-----` ヘッダーを含む完全なX.509証明書をコピーしていることを確認します。IdPが証明書をローテーションした場合は、CloudThinkerのSSO設定で更新してください。
  </Accordion>

  <Accordion title="SSO強制後にユーザーがログインできない">
    Ownerはバックアップクレデンシャルを使って **Organization Settings → Security → SSO** でSSO強制を無効化できます。IdPアプリが影響を受けるすべてのユーザーに割り当てられているか確認してください。
  </Accordion>

  <Accordion title="「Audience mismatch」または「Entity ID mismatch」">
    IdPのSP Entity IDはCloudThinkerのSP Metadataに表示されているSP Entity IDと完全に一致する必要があります——大文字と小文字が区別されます。
  </Accordion>
</AccordionGroup>

***

## 次のステップ

<CardGroup cols={2}>
  <Card title="MFAのセットアップ" icon="mobile-screen" href="/ja/guide/security/overview">
    追加の認証レイヤーのためにTOTPベースのMFAを追加する
  </Card>

  <Card title="ロールベースアクセス制御" icon="users-gear" href="/ja/guide/security/overview">
    チームメンバーのきめ細かな権限を設定する
  </Card>

  <Card title="Organization Settings" icon="building-columns" href="/ja/guide/organization">
    メンバー、ワークスペース、組織レベルの設定を管理する
  </Card>

  <Card title="BYOK" icon="key" href="/ja/guide/byok">
    データレジデンシーとコスト管理のために独自のAWS Bedrockクレデンシャルを使用する
  </Card>
</CardGroup>
