このガイドは、ネイティブ連携である Azure AD (OIDC) や Okta (OIDC) ではなく SAML を使用したいお客様向けです。一般的には、可能な場合はネイティブの OIDC 連携を利用することを推奨しますが、状況によっては SAML SSO の方が適している場合もあります。
必要なもの
- Sign In URL - IdP の SAML SSO エンドポイント(例:
https://idp.example.com/sso/saml) - X509 Signing Certificate - IdP が SAML アサーションに署名するために使用する公開証明書
- Identity Provider Domains - この IdP を通じて認証を行う、すべての会社のメールドメイン(例:
example.com,subsidiary.example.com) - Group Attribute Name(IdP グループを使用する場合) - IdP がグループ所属情報を送信する際に使用する SAML 属性名
セットアップ手順
ステップ 1: IdP で SAML アプリケーションを作成する
| 設定 | 値 |
|---|---|
| ACS (Assertion Consumer Service) URL | https://auth.devin.ai/login/callback |
| Entity ID / Audience URI | 一旦空欄のままにする — ステップ 5 を参照 |
| Name ID Format | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress (推奨) または persistent |
| Name ID Value | ユーザーのメールアドレス |
| Signature Algorithm | RSA-SHA256 |
| Digest Algorithm | SHA256 |
| Response Binding | HTTP-POST |
ステップ 2: SAML 属性を設定する
| SAML Attribute | 説明 | 必須 |
|---|---|---|
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier | 一意のユーザー識別子(通常はユーザーのメールアドレス) | はい |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress | ユーザーのメールアドレス | はい |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name | ユーザーの表示名 | 推奨 |
Devin はユーザーを識別するために
nameidentifier 属性を使用します。多くの IdP は SAML の Name ID 値からこれを自動的に設定します。IdP が nameidentifier を個別の属性として送信しない場合は、ステップ 1 で Name ID Value がユーザーのメールアドレスになるように設定してください。ステップ 3: グループアサーションを構成する(IdP グループに必須)
| SAML Attribute | Value |
|---|---|
| Attribute Name | http://schemas.xmlsoap.org/claims/Group |
| Attribute Value | ユーザーが所属するグループ |
正確な属性名は IdP によって異なる場合があります。グループ向けの一般的な属性名の例は次のとおりです:
http://schemas.xmlsoap.org/claims/Grouphttp://schemas.microsoft.com/ws/2008/06/identity/claims/groupsgroupsmemberOf
SAML を使用した Azure AD (Entra ID)
- Azure ポータルで、Enterprise Applications > 対象の SAML アプリ > Single sign-on の順に移動します
- Attributes & Claims で Add a group claim をクリックします
- Groups assigned to the application(推奨)または All groups を選択します
- Source attribute を、ご利用の環境に適した値(例:
sAMAccountNameまたはDisplay name)に設定します - Azure が生成する Claim name(例:
http://schemas.microsoft.com/ws/2008/06/identity/claims/groups)を控え、Cognition のアカウントチームと共有します
その他の SAML アイデンティティプロバイダー
- SAML アプリケーションの設定にグループ属性ステートメントを追加します
- ユーザーが所属するグループ情報を送信するように設定します
- 属性名を正確に控え、Cognition のアカウントチームと共有します
手順 4: Cognition への構成情報の送付
- Sign In URL(例:
https://idp.example.com/sso/saml) - X509 Signing Certificate(公開証明書ファイル、または PEM 形式でエンコードされたテキスト)
- Identity Provider Domains(この IdP に対応するすべてのメールドメイン)
- Group Attribute Name(IdP グループを使用する場合) — 手順 3 で設定した SAML 属性名(完全一致)
ステップ 5: Cognition と連携して設定を完了する
- SAML 接続を作成し、Entity ID / Audience URI と connection name を提供します
- (該当する場合)グループ属性をマッピングし、ユーザーがログインするたびに IdP グループが自動的に同期されるようにします
Devin は署名付きの SAML 認証リクエストを送信します。SAML メタデータファイルは次の URL から取得できます:ここで、
<connection_name> は Cognition のアカウントチームから提供された connection name です。このメタデータを IdP にインポートして、信頼関係の設定を完了し、リクエスト署名の検証を有効にしてください。セットアップの検証
- Devin Enterprise の URL(例:
https://<your_subdomain>.devinenterprise.com)にアクセスします - ログインフローを開始するために Sign in with SAML(または同等の SSO(シングルサインオン)ボタン)をクリックします
- IdP のログインページにリダイレクトされるはずです
- 認証後、Devin Enterprise の組織に遷移するはずです
- Devin の Webアプリで Settings > IdP Groups に移動します
- 少なくとも 1 人のグループメンバーがログインした後、IdP グループが一覧表示されているはずです
- グループはログインのたびに同期されるため、IdP 側でのメンバーシップの変更は、ユーザーが次回サインインした際に反映されます
IdP グループはユーザーのログイン時に取得されるため、グループメンバーシップの変更を反映させるには再認証が必要です。グループベースのアクセス制御の設定の詳細については、IdP Group Integration を参照してください。
