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

# SSO と SCIM の設定

> Google Workspace、Microsoft Entra ID、Okta、その他の SAML ID プロバイダを使用して、組織向けのシングルサインオン（SSO）と SCIM プロビジョニングを設定します。

<Note>この機能は Enterprise ユーザーのみが利用できます。</Note>

<Note>この機能は Cognition Platform プランには適用されません。Cognition Platform の場合、SSO の設定と管理は Cognition Platform の設定で行ってください。</Note>

<Tabs>
  <Tab title="Google SSO（シングルサインオン）">
    Devin Desktop が、SAML 経由の SSO (シングルサインオン) によるサインインに対応しました。組織で Microsoft Entra、Okta、Google Workspaces、または SAML をサポートするその他のアイデンティティ プロバイダーを利用している場合は、Devin Desktop で SSO を利用できます。

    <Note>Devin Desktop でサポートされているのは SP 開始の SSO のみです。IdP 開始の SSO は現在サポートされていません。</Note>

    ### IdP アプリケーションを設定する

    Google 管理コンソール (admin.google.com) で、左側の **Apps -> Web and mobile apps** をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7810e96dc693e041669155ed802dadda" width="530" height="788" data-path="desktop/assets/auth/sso-google.png" />
    </Frame>

    **Add app** をクリックし、次に **Add custom SAML app** をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1b16524d7a4910a763158a7b1640261c" width="514" height="534" data-path="desktop/assets/auth/sso-google2.png" />
    </Frame>

    **App name** に `Windsurf` と入力し、**Next** をクリックします。

    次の画面 (Google Identity Provider details) には、Devin Desktop の SSO 設定 ([https://windsurf.com/team/settings](https://windsurf.com/team/settings)) にコピーする必要がある情報が表示されます。

    * Google のコンソールページの **SSO URL** を、Devin Desktop の設定画面の **SSO URL** にコピーします
    * Google のコンソールページの **Entity ID** を、Devin Desktop の設定画面の **Idp Entity ID** にコピーします
    * Google のコンソールページの **Certificate** を、Devin Desktop の設定画面の **X509 Certificate** にコピーします
    * Google のコンソールページで **Continue** をクリックします

    Google のコンソールページの次の画面では、Codeium の設定ページから情報をコピーする必要があります

    * Codeium の設定ページの **Callback URL** を、Google のコンソールページの **ACS URL** にコピーします
    * Codeium の設定ページの **SP Entity ID** を、Google のコンソールページの **SP Entity ID** にコピーします
    * **Name ID** の形式を **EMAIL** に変更します
    * Google のコンソールページで **Continue** をクリックします

    Google のコンソールページの次の画面では、追加の設定が必要です

    * **Add Mapping** をクリックし、**First name** を選択して、**App attributes** を **firstName** に設定します
    * **Add Mapping** をクリックし、**Last name** を選択して、**App attributes** を **lastName** に設定します
    * **Finish** をクリックします

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-google3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=302216735a61b852fe856bdf08662546" width="2078" height="862" data-path="desktop/assets/auth/sso-google3.png" />
    </Frame>

    Codeium の設定ページで、**Enable Login with SAML** をクリックし、続いて **Save** をクリックします。ログインが想定どおりに機能することを確認するため、必ず **Test Login** をクリックしてください。これで、すべてのユーザーに SSO ログインが強制されます。
  </Tab>

  <Tab title="Microsoft Entra ID">
    Devin Desktop Enterprise で、SAML 経由の SSO (シングルサインオン) サインインが利用できるようになりました。組織で Microsoft Entra ID (旧称 Azure AD) を利用している場合は、Devin Desktop で SSO を利用できます。

    <Note>Devin Desktop でサポートされているのは SP 開始の SSO のみで、IdP 開始の SSO は現在サポートされていません。</Note>

    ## パート 1: Microsoft Entra ID で Enterprise Application を作成する

    <Note>このセクションのすべての手順は、**Microsoft Entra ID 管理センター**で行います。</Note>

    1. Microsoft Entra ID で、**Add** をクリックし、次に **Enterprise Application** をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=6d420c5134b4cfe78b0eb4ea8c63102d" width="854" height="384" data-path="desktop/assets/auth/sso-azure.png" />
    </Frame>

    2. **Create your own application** をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=0d65488fc58dddef5132e2302786d97b" width="680" height="202" data-path="desktop/assets/auth/sso-azure2.png" />
    </Frame>

    3. アプリケーション名を **Devin Desktop** にし、*Integrate any other application you don't find in the gallery* を選択してから、**Create** をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-azure3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=e8f849cd706fba53560dd24b8c7db2f8" width="968" height="342" data-path="desktop/assets/auth/sso-azure3.png" />
    </Frame>

    ## パート 2: Microsoft Entra ID で SAML とユーザー属性を設定する

    <Note>このセクションのすべての手順は、**Microsoft Entra ID 管理センター**で行います。</Note>

    4. 新しく作成した Devin Desktop アプリケーションで、**Set up single sign on** をクリックし、次に **SAML** をクリックします。

    5. **Basic SAML Configuration** の **Edit** をクリックします。

    6. **この Entra ID のタブは開いたままにして**、新しいタブを開き、[https://windsurf.com/team/settings](https://windsurf.com/team/settings) の **Devin Desktop Teams SSO settings** に移動します。

    7. **Microsoft Entra ID** の SAML 設定フォームで、次のように設定します:
       * **Identifier (Entity ID)**: **Devin Desktop SSO settings page** から **SP Entity ID** の値をコピーします
       * **Reply URL (Assertion Consumer Service URL)**: **Devin Desktop SSO settings page** から **Callback URL** の値をコピーします
       * 上部の **Save** をクリックします

    8. 名前が正しく表示されるよう、ユーザー属性を設定します。**Microsoft Entra ID** の **Attributes & Claims** で、**Edit** をクリックします。

    9. **Add new claim** をクリックして、次の claim を 2 つ作成します:
       * **1 つ目の claim**: Name = `firstName`, Source attribute = `user.givenname`
       * **2 つ目の claim**: Name = `lastName`, Source attribute = `user.surname`

    ## パート 3: Devin Desktop Portal で SSO 設定を行う

    <Note>設定は **Devin Desktop portal** ([https://windsurf.com/team/settings](https://windsurf.com/team/settings)) で完了してください。</Note>

    10. **Devin Desktop SSO settings page** で、次のように設定します:
        * **Pick your SSO ID**: チームのログインポータル用に一意の識別子を選択します (これは後から変更できません)
        * **IdP Entity ID**: **Microsoft Entra ID** の **Set up Devin Desktop** → **Microsoft Entra Identifier** から値をコピーします
          <Note>IdP Entity ID の URL は末尾が `/` で終わっている必要があります (例: `https://sts.windows.net/{tenant-id}/`) 。URL に末尾のスラッシュが含まれていない場合は、手動で追加してください。</Note>
        * **SSO URL**: **Microsoft Entra ID** から **Login URL** の値をコピーします
        * **X509 Certificate**: **Microsoft Entra ID** から **SAML certificate (Base64)** をダウンロードし、ファイルを開いて、そのテキスト内容をここに貼り付けます

    11. **Devin Desktop portal** で、**Enable Login with SAML** をクリックし、次に **Save** をクリックします。

    12. **設定をテストする**: **Test Login** をクリックし、SSO 設定が想定どおりに機能することを確認します。

    <Note>**重要**: ログインのテストが正常に完了するまで、Devin Desktop の設定ページからログアウトしたり、ページを閉じたりしないでください。テストに失敗した場合は、先に進む前に設定のトラブルシューティングが必要になることがあります。</Note>
  </Tab>

  <Tab title="Okta SSO（シングルサインオン）">
    Devin Desktop Enterprise で、SAML 経由の Single Sign-On (SSO) によるサインインがサポートされるようになりました。組織で Microsoft Entra、Okta、Google Workspace、または SAML をサポートするその他の ID プロバイダーを利用している場合は、Devin Desktop で SSO を利用できます。

    <Note>Devin Desktop でサポートされているのは SP 開始の SSO のみです。IDP 開始の SSO は現在サポートされていません。</Note>

    ### IDP アプリケーションを設定する

    左側のサイドバーで Applications をクリックし、次に Create App Integration をクリックします

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=6eb8809b268cee036ff026efbf3d2a8b" width="1248" height="962" data-path="desktop/assets/auth/sso-okta1.png" />
    </Frame>

    サインイン方法として SAML 2.0 を選択します

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8ac307ec0fa12222044fe6bffd8815ff" width="1600" height="1023" data-path="desktop/assets/auth/sso-okta2.png" />
    </Frame>

    アプリ名を Devin Desktop (または任意の名前) に設定し、Next をクリックします

    SAML の設定を次のように行います

    * Single sign-on URL を [https://auth.windsurf.com/\&#95;\&#95;/auth/handler](https://auth.windsurf.com/\&#95;\&#95;/auth/handler) に設定
    * Audience URI (SP Entity ID) を [www.codeium.com](http://www.codeium.com) に設定
    * NameID format を EmailAddress に設定
    * Application username を Email に設定

    属性ステートメントを次のように設定し、**Next** をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2a8c2ee27d3b989fd3f888178c3fa290" width="1398" height="602" data-path="desktop/assets/auth/sso-okta3.png" />
    </Frame>

    feedback セクションで「This is an internal app that we have created」を選択し、**Finish** をクリックします。

    ### Okta を SAML プロバイダーとして登録する

    カスタム SAML アプリケーションの Sign on タブにリダイレクトされます。次に、このページの情報を Devin Desktop の SSO 設定に入力します。

    * [https://windsurf.com/team/settings](https://windsurf.com/team/settings) を開き、Configure SAML をクリックします
    * Okta のアプリケーションページで ‘Issuer’ の後ろにあるテキストをコピーし、Idp Entity ID に貼り付けます
    * Okta のアプリケーションページで ‘Sign on URL’ の後ろにあるテキストをコピーし、SSO URL に貼り付けます
    * Signing Certificate をダウンロードし、X509 certificate に貼り付けます
    * Enable Login with SAML をチェックしてから Save をクリックします
    * Test Login ボタンでログインをテストします。成功メッセージが表示されるはずです:

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2ef70eafed0d4ba96ce4a8edd3fee22e" width="1046" height="270" data-path="desktop/assets/auth/sso-okta4.png" />
    </Frame>

    この時点で設定はすべて完了しており、新しい Devin Desktop Okta アプリケーションにユーザーを追加できるようになります。

    組織のカスタム Login Portal URL をユーザーに共有し、そのリンクからサインインするよう案内してください。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta5.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=b5fda36a5d2c90e95351ec8718da43e7" width="988" height="312" data-path="desktop/assets/auth/sso-okta5.png" />
    </Frame>

    SSO 経由で Devin Desktop にログインしたユーザーは、自動的にチームへ承認されます。

    ### 注意事項

    Devin Desktop は現在、IDP 開始のログインフローをサポートしていません。

    また、OIDC にもまだ対応していません。

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

    ### Login with SAML config failed: Firebase: Error (auth/operation-not-allowed)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta6.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=08b82467d671872b5aec9ea7ec5e9894" width="617" height="92" data-path="desktop/assets/auth/sso-okta6.png" />
    </Frame>

    これは、SSO ID が無効であるか、SSO URL が正しくないことを示しています。英数字のみで構成され、余分なスペースや無効な文字が含まれていないことを確認してください。ガイドの手順をもう一度確認し、正しい値を使用していることを確かめてください。

    ### Login with SAML config failed: Firebase: SAML Response \<Issuer> mismatch. (auth/invalid-credential)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/sso-okta7.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7c2bd2cdffd3a61145313cb209572ae5" width="752" height="117" data-path="desktop/assets/auth/sso-okta7.png" />
    </Frame>

    これは、IdP Entity ID が無効であることを示しています。Okta ポータルから余分な文字や文字列の前後のスペースを含めずに、正しくコピーしていることを確認してください。

    ### Failed to verify the signature in samlresponse

    これは、X509 certificate の値が正しくないことを示しています。正しいキーをコピーしており、次の形式になっていることを確認してください:

    ```
    -----BEGIN CERTIFICATE-----
    value
    ------END CERTIFICATE------
    ```
  </Tab>

  <Tab title="Microsoft Entra ID SCIM">
    Devin Desktop は、Microsoft Entra ID とのユーザーおよびグループの SCIM 同期をサポートしています。SCIM 同期を利用するために SSO (シングルサインオン) を設定する必要はありませんが、設定することを強く推奨します。

    必要なもの：

    * Microsoft Entra ID への管理者アクセス
    * Devin Desktopへの管理者アクセス
    * Entra ID 上の既存の Devin Desktop Application (通常は既存の SSO (シングルサインオン) アプリケーション)

    <Note>
      **サービスキーに必要な権限**

      SCIMプロビジョニングに利用するサービスキーには、次の権限が必要です。

      * **Team User Read** - ユーザーおよびグループの情報を読み取るために必要
      * **Team User Update** - ユーザーおよびグループを作成・更新するために必要
      * **Team User Delete** - ユーザーおよびグループを無効化または削除するために必要

      これらの権限を含むカスタムロールを作成するか、既存の管理者ロールを利用できます。
    </Note>

    ## ステップ1: SCIM権限を持つロールを作成する

    SCIMプロビジョニングを設定する前に、必要な権限を持つロールを作成する必要があります。

    1. [Windsurf チーム設定](https://windsurf.com/team/settings)に移動します
    2. "その他の設定" で、**ロール管理** の横の **設定** をクリックします
    3. 「**Add Role**」をクリックし、名前を"SCIM Provisioning"に設定します
    4. 以下の権限を追加してください:
       * Team ユーザーの閲覧
       * Team ユーザーの更新
       * Team ユーザーの削除
    5. **Save** をクリックします

    ## Step 2: 既存の Devin Desktop Application に移動する

    AzureでMicrosoft Entra IDに移動し、左サイドバーの「Enterprise applications」をクリックして、一覧に表示されている既存のDevin Desktopアプリケーションをクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=fb5751e72abe48cf1b3538e5a44bdefb" width="1258" height="664" data-path="desktop/assets/auth/scim-azure.png" />
    </Frame>

    ## ステップ3: SCIMプロビジョニングの設定

    中央の「Provision User Accounts」の下にある「Get started」をクリックし (ステップ3) 、もう一度「Get started」をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure2.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=ca6c92bd1b8c613abed615592ae3d2fe" width="2582" height="1858" data-path="desktop/assets/auth/scim-azure2.png" />
    </Frame>

    プロビジョニングの設定ページで、次のオプションを選択します。

    プロビジョニングモード:  自動

    Admin 認証情報 > テナント URL: [https://server.codeium.com/scim/v2](https://server.codeium.com/scim/v2)

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure-admin-credentials.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=96e23cf9346819cc6ffd82cdbf5b6258" width="560" height="416" data-path="desktop/assets/auth/scim-azure-admin-credentials.png" />
    </Frame>

    Azureのプロビジョニングページを開いたまま、Devin Desktopウェブポータルに移動し、ページ上部のナビゲーションバーにあるプロフィールアイコンをクリックします。チーム設定で「Service Key」を選択し、「Add Service Key」をクリックします。任意のキー名 (例：「Azure SCIM Provisioning」) を入力し、**先ほど作成した「SCIM Provisioning」ロールを選択**して、「Create Service Key」をクリックします。生成されたキーをコピーし、Azureのページに戻って「Secret Token」に貼り付けます。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=a52f8263be88f02ff8aff6e13024d4eb" width="1612" height="1013" data-path="desktop/assets/auth/scim-azure3.png" />
    </Frame>

    (Devin Desktop でキーを作成した後に表示される画面)

    プロビジョニングページで「Test Connection」をクリックすると、SCIM接続が検証されます。

    プロビジョニングフォームの上部にある「保存」をクリックします。

    ## ステップ4: SCIMプロビジョニングの設定

    「保存」をクリックすると、プロビジョニングページに新しいオプション「マッピング」が表示されます。「マッピング」を展開して、「Provision Microsoft Entra ID Users」をクリックします。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=24e984597151c2f9cbb27f1a1718ca8a" width="666" height="438" data-path="desktop/assets/auth/scim-azure4.png" />
    </Frame>

    属性マッピングで、displayName 配下のすべてのフィールドを削除し、userName、active、displayName のフィールドのみを残します。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure5.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1dc3ac7839403c2ce6cb6d93ff51fc65" width="1260" height="190" data-path="desktop/assets/auth/scim-azure5.png" />
    </Frame>

    アクティブの場合、Editをクリックします。Expressionの下で、フィールドを次のように変更します

    ```
    NOT([IsSoftDeleted])
    ```

    次に「Ok」をクリックします。

    ユーザー属性は次のようになります

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure6.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=1e2db093b70de25fc98a9ffec9a924a6" width="2826" height="490" data-path="desktop/assets/auth/scim-azure6.png" />
    </Frame>

    「Attribute Mapping」ページで上部の「Save」をクリックし、「Provisioning」ページに戻ります。

    同じページで、「Mappings」の下にある「Provision Microsoft Entra ID Groups」をクリックします。次に、externalId の「delete」のみをクリックし、上部の「Save」をクリックします。「Provisioning」ページに戻ります。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure7.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8022adf3c12a09dbc8f58177c6e4e3bf" width="1258" height="203" data-path="desktop/assets/auth/scim-azure7.png" />
    </Frame>

    プロビジョニングページの下部に「Provisioning Status」トグルがあります。これを「On」に設定すると、SCIM同期が有効になります。設定後は、Entra IDアプリケーションのユーザーとグループが40分ごとにDevin Desktopと同期されます。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/scim-azure8.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=ab5ad845885e6f3e3b915f0112e58eaf" width="686" height="306" data-path="desktop/assets/auth/scim-azure8.png" />
    </Frame>

    「保存」をクリックして完了します。これで、SCIMのユーザーおよびグループの同期が有効になりました。アプリケーションに割り当てられたユーザーおよびグループのみが Devin Desktop に同期されます。AzureのSCIM設計上、ユーザーを削除してもアカウントは削除されず、Devin Desktopへのアクセスが無効化 (シートの消費が停止) されるのみとなります。
  </Tab>

  <Tab title="Okta SCIM">
    Devin Desktop は、Okta を使用したユーザーおよびグループの SCIM 同期をサポートしています。SCIM 同期を利用するために SSO (シングルサインオン) を設定する必要はありませんが、設定することを強く推奨します。

    必要なもの:

    * Okta への Admin アクセス
    * Devin Desktop への Admin アクセス
    * Okta 上に既存の Devin Desktop Application があること (通常は既存の SSO アプリケーション)

    ## Step 1: 既存の Devin Desktop Application に移動する

    Okta に移動し、左側のサイドバーで Applications、Applications の順にクリックしてから、アプリケーション一覧で既存の Devin Desktop application をクリックします。

    ## Step 2: SCIM Provisioning を有効にする

    General タブの App Settings で、右上の Edit をクリックします。次に、'Enable SCIM Provisioning' チェックボックスをオンにし、Save をクリックします。上部に新しい provisioning タブが表示されます。

    続いて provisioning に移動し、Edit をクリックして、以下の項目を入力します:

    SCIM connector base URL: [https://server.codeium.com/scim/v2](https://server.codeium.com/scim/v2)

    Unique identifier field for users: email

    Supported provisioning actions: Push New Users, Push Profile Updates, Push Groups

    Authentication Mode: HTTP Header

    HTTP Header - Authorization には、次の手順で token を生成して入力できます

    * [https://windsurf.com/team/settings](https://windsurf.com/team/settings) にアクセスし、Service Key Configuration を開く
    * Configure をクリックし、次に Add Service Key をクリックして、APIキーに名前を付ける
    * APIキーをコピーし、Okta に戻って HTTP Header - Authorization に貼り付ける

    Provisioning Integration の入力が完了したら、Save をクリックします。

    ## Step 3: Provisioning を設定する

    provisioning タブの左側に、新しく 2 つのタブが表示されます。To App をクリックし、Edit Provisioning to App をクリックします。Create Users、Update User Attributes、Deactivate Users のチェックボックスをオンにして、Save をクリックします。

    この手順の後、グループに割り当てられているすべてのユーザーが Devin Desktop に同期されます。

    ## Step 4: Group Provisioning を設定する (任意)

    グループを Devin Desktop に同期するには、どのグループを push するかを指定する必要があります。アプリケーション画面で、上部の Push Groups タブをクリックします。次に、+ Push Groups -> Find Groups by name をクリックします。追加するグループ名で絞り込み、Push group memberships immediately がオンになっていることを確認してから、Save をクリックします。グループが作成され、グループのメンバーが Devin Desktop に同期されます。作成したグループは、その後 analytics ページでグループ別の analytics の絞り込みに利用できます。
  </Tab>

  <Tab title="SCIM API">
    このガイドでは、SCIM APIを使用してDevin Desktopでグループを作成・管理する方法を説明します。

    Identity Provider (Azure/Okta) を使用せず、手動でグループをプロビジョニングしたい場合があります。Devin Desktop がアクセスできない別の社内ソース (HRウェブサイト、ソースコード管理ツールなど) からグループをプロビジョニングしたい企業や、Identity Provider が提供する機能よりも細かくグループを管理したい企業が該当します。そのような場合、HTTPリクエスト経由のAPIを使用してグループを作成できます。以下に、CURLを使用したHTTPリクエストの使用例を示します。

    主要なAPIは5つあります：Create Group、Add group members、Replace group members、Delete Group、List Users in a Groupです。

    ### グループの作成

    ```
    curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{
    "displayName": "<group name>",
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]
    }' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### グループメンバーの追加

    ```
    curl -X PATCH https://server.codeium.com/scim/v2/Groups/<group name> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op": "add",
    "path":"members",
    "value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
    }]}' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### グループメンバーの置き換え

    ```
    curl -X PATCH https://server.codeium.com/scim/v2/Groups/<group name> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations":[
    {
    "op": "replace",
    "path":"members",
    "value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
    }]}' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### グループの削除

    ```
    curl -X DELETE https://server.codeium.com/scim/v2/Groups/<group name> -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
    ```

    ### グループの一覧表示

    ```
    curl -X GET -H "Authorization: Bearer <api secret key>" "https://server.codeium.com/scim/v2/Groups"
    ```

    ### グループ内のユーザーを一覧表示する

    ```
    curl -X GET -H "Authorization: Bearer <api secret key>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
    ```

    まず最初にグループを作成し、次にグループを置き換えてメンバーを含むグループを作成する必要があります。グループ名にスペースなどの特殊文字が含まれる場合は、グループ名をURLエンコードする必要があります。たとえば、'Engineering Group' というグループ名はURLでは 'Engineering%20Group' と指定してください。

    ユーザーをグループに追加するには、事前に Devin Desktop でアカウントを作成しておく必要があります (SCIM 経由、または手動でのアカウント作成) 。

    ## ユーザーAPI

    ユーザー向けのAPIも利用できます。以下は、Devin Desktopがサポートする主なSCIM APIの一覧です。

    ユーザーを無効にする (有効にするには false を true に置き換えてください) :

    ```
    curl -X PATCH \
      https://server.codeium.com/scim/v2/Users/<user api key> \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
        "Operations": [
          {
            "op": "replace",
            "path": "active",
            "value": false
          }
        ]
      }'
    ```

    ユーザーのCLIアクセスを無効にします (再有効化するには `cliActive` を `true` に設定します) ：

    ```
    curl -X PATCH \
      https://server.codeium.com/scim/v2/Users/<user api key> \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
        "Operations": [
          {
            "op": "replace",
            "path": "cliActive",
            "value": false
          }
        ]
      }'
    ```

    `cliActive` 属性は、ユーザーが Devin CLI にアクセスできるかどうかを制御します。この属性は `active` 属性とは独立しており、CLI アクセスを無効にしても、ユーザーのシートや他の Devin Desktop 製品へのアクセスには影響しません。ユーザーに `cliActive` が設定されていない場合、チームのデフォルト CLI アクセスポリシーが適用されます。

    ユーザーを作成する:

    ```
    curl -X POST \
      https://server.codeium.com/scim/v2/Users \
      -H 'Content-Type: application/scim+json' \
      -H 'Authorization: Bearer <api secret key>' \
      -d '{
        "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
        "userName": "<email>",
        "displayName": "<full name>",
        "active": true
    }'
    ```

    名前を更新:

    ```
    curl -X PATCH \
      'https://<enterprise portal url>/_route/api_server/scim/v2/Users/<user api key>' \
        -H 'Authorization: Bearer <service key>' \
        -H 'Content-Type: application/scim+json' \
        -d '{
          "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
          "Operations": [
            {
              "op": "Replace",
              "path": "displayName",
              "value": "<new name>"
            }
          ]
       }'
    ```

    ## APIシークレットキーの作成

    [https://windsurf.com/team/settings](https://windsurf.com/team/settings) にアクセスします。「Service Key Configuration」の下にある「Add Service Key」をクリックします。任意のキー名 (例：「Azure Provisioning Key」) を入力し、「Create Service Key」をクリックします。生成されたキーをコピーして保存してください。このキーを利用して上記のAPIを認証できます。
  </Tab>

  <Tab title="デュオ">
    ## 前提条件

    このガイドでは、Duo が設定済みで組織の IdP として機能しているか、または外部 IdP が設定済みであることを前提としています。

    Duo と Devin Desktop の両方のアカウントに対する管理者権限が必要です。

    ## Devin Desktop 向けに Duo を設定する

    1. Applications に移動し、Generic SAML service provider を追加します

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=2337f30b719803b6be1ec02862918196" width="2230" height="920" data-path="desktop/assets/auth/duo-sso-1.png" />
    </Frame>

    2. チーム設定 の SSO (シングルサインオン) に移動します

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=12ed68859b08f0e618b16d5fd577836f" width="1676" height="1444" data-path="desktop/assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. 初めて SAML を有効にする際は、SSO ID の設定が必要です。**この ID は後から変更できません。**

       組織名またはチーム名を英数字のみで設定することを推奨します。

    4. Duo ポータルから `Entity ID` の値をコピーし、Devin Desktop ポータルの `IdP Entity ID` フィールドに貼り付けます。

    5. Duo ポータルから `Single Sign-On URL` の値をコピーし、Devin Desktop ポータルの `SSO URL` フィールドに貼り付けます。

    6. Duo ポータルから証明書の値をコピーし、Devin Desktop ポータルの `X509 Certificate` フィールドに貼り付けます

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=7fbbc321d2ceb76480c6cc4a6b78d905" width="1536" height="290" data-path="desktop/assets/auth/duo-sso-3.png" />
    </Frame>

    7. Devin Desktop ポータルから `SP Identity ID` の値をコピーし、Duo ポータルの `Entity ID` フィールドに貼り付けます。

    8. Devin Desktop ポータルから `Callback URL (Assertion Consumer Service URL)` をコピーし、Duo ポータルの `Assertion Consumer Service (ACS) URL` フィールドに貼り付けます。

    9. Duo ポータルで、属性ステートメントを次のように設定します。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/duo-sso-4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=e5ac0ecad074d144d4d2b0cceaf341eb" width="1676" height="290" data-path="desktop/assets/auth/duo-sso-4.png" />
    </Frame>

    10. テストできるように、Devin Desktop ポータルで SAML ログインを有効にします。

    **注: この時点では、ログアウトしたりウィンドウを閉じたりしないでください。**

    エラーが発生した場合やタイムアウトした場合は設定を確認してください。そうしないと、Devin Desktop ポータルで SAML 設定を無効にする必要があります。

    **テストの成功を確認する前にログアウトしたりウィンドウを閉じたりすると、ロックアウトされる可能性があります。**

    11. テストが正常に完了したら、ログアウトしてかまいません。これで、手順 3 で設定した SSO ID を使用してチーム/組織ページにアクセスする際に、SSO サインインを利用できるようになります。

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>

  <Tab title="PingID">
    ## 前提条件

    このガイドは、PingID が設定済みで組織の IdP として機能している、または外部 IdP が設定されていることを前提としています。

    PingID と Devin Desktop の両方のアカウントに対する管理者権限が必要です。

    ## Devin Desktop 用に PingID を設定する

    1. Applications に移動し、Devin Desktop を SAML アプリケーションとして追加します

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-1.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=842b8c157a663e3a2bfec30f047b414d" width="2258" height="1068" data-path="desktop/assets/auth/pingid-1.png" />
    </Frame>

    2. チーム設定の SSO に移動します

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=12ed68859b08f0e618b16d5fd577836f" width="1676" height="1444" data-path="desktop/assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. 初めて SAML を有効にする際は、SSO ID を設定する必要があります。**この ID は後から変更できません。**

    英数字のみを使用した組織名またはチーム名を設定することをおすすめします。

    4. PingID で構成を手動入力するオプションを選択し、以下の値を各項目に入力します。

    * ACS URLs - Devin Desktop ポータルの `Callback URL (Assertion Consumer Service URL)` を入力します。
    * Entity ID - Devin Desktop ポータルの `SP Entity ID` を入力します。

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-3.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=8891f68b0286963b01cedcd19d63e03c" width="974" height="672" data-path="desktop/assets/auth/pingid-3.png" />
    </Frame>

    5. PingID の `Issuer ID` を、Devin Desktop ポータルの `IdP Entity ID` にコピーします。

    6. PingID の `Single Signon Service` の値を、Devin Desktop ポータルの `SSO URL` にコピーします。

    7. PingID から Signing Certificate を X509 PEM (.crt) 形式でダウンロードし、ファイルを開いてその内容を Devin Desktop ポータルの `X509 Certificate` にコピーします。

    **注**: 先頭行と末尾行の 5 つのダッシュ (-) を含め、余分な文字をコピーしていないことを確認してください。

    8. 属性マッピングで、以下が設定されていることを確認します。

    * `saml_subject` - Email Address
    * `firstName` - Given Name
    * `lastName` - Family Name

    <Frame>
      <img src="https://mintcdn.com/cognitionai/-PTA3zzo2bR9Qfc8/desktop/assets/auth/pingid-4.png?fit=max&auto=format&n=-PTA3zzo2bR9Qfc8&q=85&s=84d8f8b8804c4838673dfbf3ee8d5eee" width="1398" height="780" data-path="desktop/assets/auth/pingid-4.png" />
    </Frame>

    9. 構成や組織に応じて、必要なその他のポリシーやアクセス設定を追加または編集します

    10. Devin Desktop ポータルで SAML ログインを有効にし、テストできるようにします。

    **注: この時点ではログアウトしたり、ウィンドウを閉じたりしないでください。**

    エラーが発生した場合やタイムアウトした場合は設定を見直してください。そうしないと、Devin Desktop ポータルで SAML 設定を無効にする必要があります。

    **正常にテストできたことを確認する前にログアウトしたりウィンドウを閉じたりすると、アクセスできなくなる可能性があります。**

    11. テストが正常に完了したら、ログアウトできます。以降は、手順 3 で設定した SSO ID を使ってチーム/組織ページにアクセスする際に、SSO (シングルサインオン) でサインインできます。

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>
</Tabs>
