Claude Duo SSO設定 — DuoのMFAをSAML連携でClaudeに使う手順
ClaudeにDuoのMFAをかけるには、DuoをSAML IdPとして連携します。設定手順と、ユーザーの置き場所で変わる前提、接続後の権限の落とし穴を扱います。
ClaudeのログインにDuoのMFAをかけるには、DuoをSAML IdP(IDプロバイダー)として連携します。そのために、Duo管理パネルでのCloud Application作成と、WorkOS(Anthropicの認証基盤プロバイダー)側での接続設定を両方進めます。詰まりやすいのは、ユーザーをどこで認証させるかと、作成直後のアプリにDuoが誰もログインさせない既定の2点です。
ClaudeにMFAをかけるにはどうするか
Claudeのログインに、Duoの二要素認証を挟めます。SSOを有効にしてログインをDuo経由にすると、MFAの要求や例外はDuo側のポリシーで決まります。Duo Single Sign-Onは、SAML 2.0のIdPとして二要素認証とアクセスポリシーの適用をクラウドサービスに加える製品です。
つまり、ClaudeのMFAに当たる設定はDuoのCloud Application側にあります。本記事の手順で接続し、Require SSOまで有効にすると、Duoの認証を通らないとClaudeに入れません。Bypass状態のユーザーなど例外の扱いもDuo側の設定で決まります。
ユーザーをどこで認証するかで、前提が三通りに分かれる
認証はClaudeからWorkOS、Duoの順に流れ、Duoが認証ソースにユーザーを問い合わせて戻ります。外部IdPを認証ソースにする場合の流れは次のとおりです。
Claude/Console → WorkOS → Duo → 外部のSSO IdP(Okta・Entra ID・Google Workspaceなど)→ Duo → WorkOS → Claude/Console
WorkOSの手順書は、この外部IdPにDuoの認証を任せる構成を前提に書かれています。手順2は「Duoが対応するIdPならどれでもよい」とだけ述べ、IdP側の設定はDuoの文書へ案内します。一方Duo側の文書は、認証ソースとして次の3種類を挙げています。
Duoの認証ソース3種類
Duo Directory
ユーザーをDuoのクラウドに置く構成です。Duo側の文書では、認証ソースとして使うのに追加のSSO設定は不要とされています。
外部のSAML IdP
Entra ID・Google Workspace・Oktaなどにユーザーがいる構成です。パスワードとポリシーは外部IdPが管理し、DuoにはSSO Authentication Sourceとして追加します。
Active Directory
オンプレミスのADを使う構成です。ADと通信できるWindowsまたはLinuxのサーバーが1台以上と、ADのサービスアカウントの資格情報が前提になります。Duoはサーバー3台を推奨しています。
外部IdPやADを認証ソースにする場合、IdPごとの設定手順はDuoの文書に従います。Duo Directoryにユーザーがいる場合、WorkOSの手順書はその構成の接続例を載せていません。Claudeに接続する前に、テスト用のユーザーで動作を確かめておくと切り分けが楽です。
ドメイン検証やSSO必須化など、IdPを問わない共通の設定フローはClaudeのSSO設定手順で扱っています。ここではDuo固有のSAML接続手順と、Duoならではの注意点に絞ります。
導入前に必要な権限・プラン・状態
- Claude側の権限: TeamプランまたはEnterpriseプランはOwnerまたはPrimary Owner、Claude ConsoleはAdmin権限が必要です
- ドメイン検証の完了:
claude.ai/admin-settings/organization(Consoleはplatform.claude.com/settings/identity)でメールドメインの検証を終えていること。未検証なら前述のSSO設定手順で先に済ませます - Duoのプラン: Duo SSOはEssentials・Advantage・Premierの商用プランで使えます。Duo Federalプランでは使えません
- Duoの管理者ロール: SSOを使うにはOwner・Administrator・Application Managerのいずれかが必要です。認証ソースを設定する「SSO Settings」の操作はOwnerに限られます
- 認証ソースの用意: 前節の3種類のどれかが使える状態にしておきます。Okta経由の構成例はClaude Okta SSO設定が参考になります
外部IdPやADを使う場合、WorkOSの手順書は、Duo SSOとIdPの接続を設定したあとでCloud Applicationを作る順序で書かれています。
Duoの画面とWorkOSの画面で、値を相互に登録する
作業は2つの画面を行き来します。ACS URLとSP Entity IDはWorkOSが発行してDuoに貼る値、Metadata URLはDuoが発行してWorkOSに貼る値です。
Duo SAML接続の作成手順
- 1
Duoでアプリケーションを作る
Duo Admin Panelの「Applications」から「Protect an Application」を開きます。「Generic SAML Service Provider」(Protection typeが「2FA with SSO hosted by Duo (Single Sign-On)」の行)の「Protect」を押し、Metadata URLを控えます。
- 2
WorkOSで接続を作る
WorkOS Dashboardで対象のOrganizationを開き、「Manually Configure Connection」から「Duo SAML」を選びます。分かりやすい名前を付けて「Create Connection」を押します。
- 3
Metadata URLをWorkOSに貼る
作成した接続のMetadataフィールドに、手順1で控えたMetadata URLを貼ります。この時点では接続はActiveになりません。
- 4
ACS URLとSP Entity IDをDuoに貼る
WorkOSの接続詳細にあるACS URLとSP Entity IDを、DuoのService Providerセクションの「Assertion Consumer Service(ACS)URL」と「Entity ID」へ貼ります。
- 5
任意項目は空欄のまま進める
Single Logout URL・Service Provider Login URL・Default Relay Stateは空欄で構いません。
NameID・署名・属性マッピングを設定する
同じ画面を下へスクロールし、SAML Responseセクションを設定します。
- NameID format: ユーザーの一意な識別子に使う属性に合わせます。メールアドレスなら
<Email Address>などの事前定義値を選びます - Signature algorithm:
SHA256にします。Duoの文書ではこれが既定値です - Signing options:
Sign responseとSign assertionの両方にチェックを入れます。Duoの文書では両方が既定でオンです - Map Attributes: WorkOSが必須とする
idemailfirstNamelastNameの4つをすべて割り当てます。右側のSAML Response Attributeに名前を入れ、左側で<Email Address>のような事前定義値を選ぶと、認証ソースに応じた属性が自動で対応します
lastNameに当たる値をユーザーが持たない場合は、Display Nameなど別の値を割り当てます。4つのうち1つでも欠けると、WorkOSはSAMLレスポンスを拒否します。
役割ベースのアクセス制御を使うなら、任意でRole Assignmentも設定できます。「Role Attributes」セクションでAttribute nameをgroupsにし、ロール名とDuoのグループを対応付けます。そのあとWorkOS DashboardのSSO接続ページで、IdP Group IDを参照するSSOグループを作ってロールを割り当てます。
最後までスクロールして「Save」を押せば、Duo側の作業は終わりです。
接続を確かめてからSSOを必須にする
WorkOS Dashboardに戻って1〜2分待つと、接続名の横に緑のバッジが出てActiveに変わります。Claudeの組織設定(claude.ai/admin-settings/organization。Consoleはplatform.claude.com/settings/identity)のAuthenticationセクションで「Setup SSO」または「Manage SSO」を開き、「Test Single Sign-on」でエラーが出ないことを確かめます。
テストが通ったら、同じ画面で「Require SSO for Claude」または「Require SSO for Console」を有効にするか決めます。有効にすると、ログインは「Continue with SSO」経由に限られます。
Claude側のヘルプにも、IdP上でAnthropicのアプリに正しく割り当てられていないユーザーは、SSOの強制後にログインできなくなるという注意があります。Duoでは、Cloud Applicationへの割り当てがこれに当たります。
証明書の更新とSSOの無効化
DuoのMetadataセクションには、SAMLレスポンスの署名検証に使われる証明書(Download certificateで取得できるCRTファイル)とSHA-1・SHA-256のフィンガープリントが載っています。X.509署名証明書が失効やローテーションを迎えたら、Claude/Console側の設定を更新します。「Manage SSO」を開き、Metadata configurationの「Edit」で証明書情報を更新して保存し、「Test sign-in」で動作を確かめます。
Require SSOが有効なまま証明書が失効すると、ログイン手段がすべてSSO経由になっているので、組織の誰もサインインできません。その場合はOwnerまたはPrimary Ownerのメールアドレスから、Supportに連絡してアクセスを回復します。失効日をIdP側で控え、前もってローテーションしておくのが回避策です。
一時的にSSOを任意へ戻すなら「Require SSO」のトグルをオフにします。接続を完全に外す場合は「Manage SSO」から「Reset connection」を選びます。全ユーザーのセッションが終了し、次回はメールのログインリンクでサインインします。
Duoならではのつまずき
- Duo側のSSOセッション時間を知らない: Duo Directoryのユーザーには、Duo SSOにログインし続ける時間を「SSO session duration」で0〜30日の範囲で設定できます。0にすると、SSOアプリを開くたびに主たる資格情報での認証が必要です。この設定は、ユーザーとアプリの間にDuoとは別に確立されたセッションには影響しません
- Console組織でIdP-initiatedログインを使う: Teamなどの組織とSSO設定を共有するConsole組織は、IdP起点のログインに対応していません。Duo CentralのタイルやDuoのSingle Sign-On URLから始める方式が該当します。IdP側に
platform.claude.com/login?sso=trueへのブックマークを作ると、SP-initiatedログインに誘導できます
Duo経由か、IdPへの直接接続か
どちらを選ぶかは、すでにDuoにユーザーと認証ポリシーを集めているかで決まります。
接続先の選び方
Duo経由で接続
ClaudeからWorkOS、Duo、認証ソースの順にたどります。Duo SSOはアプリごとに認証ポリシーを変えられ、MFAやデバイス確認をDuoの運用に統一できます。
IdPに直接接続
WorkOSからIdPへ直接つなぎます。Claudeのヘルプセンターには、Okta・Entra ID・Google Workspace・OneLogin・Ping Identityの専用セットアップ記事があります。
IdPの選び方自体はClaudeのSSO設定、IdPはOkta・Google Workspace・Entra IDのどれかで比較しています。Duoから別のIdPへ切り替える手順はClaude IdP切り替え、SSOリセットの7手順にまとめています。
まとめ
すでにDuoにユーザーと認証ポリシーが集まっているなら、Duo経由の接続が自然な選択肢です。ユーザーがIdPだけにいるなら、IdPへの直接接続のほうが経路は短く済みます。どちらでもSSOを必須にする前に、Cloud Applicationの「User access」を確かめておくと、必須化後にログインできなくなる事態を避けられます。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。