本文へ移動

ホーム / 情シス / 第3部 ID とアクセス

第3部 ID とアクセス・第6章

ID 管理と SSO

★★★ 必須9トピック・面接 5問

社員のアカウントを1か所で管理し、安全にログインさせる仕組みを押さえる。

別のページで開く →

ネットワーク図を読み込んでいます…

6.1IdP と SSO

用語★★★ 必須
ひとことで

Okta・Entra ID などの IdP にアカウントを集め、各 SaaS には SSO でログインさせる。

会社で使う SaaS が増えると、サービスごとにアカウントとパスワードができます。社員はパスワードを使い回すようになり、情シスは入社・異動・退職のたびに何十ものサービスを手で直すことになります。退職者のアカウントの消し忘れは、情報漏えいの原因にもなります。

IdP と SSO は、この問題を「ログインを1か所に集める」ことで解く仕組みで、情シスのアカウント管理の中心です。

IdP(Identity Provider)は、社員のアカウントを1か所に集めて、ログイン(認証)を代わりに行う仕組みです。Okta・Microsoft Entra ID・Google Workspace などが代表です。各 SaaS(SP:Service Provider)は自分でパスワードを持たず、「この人は本人です」という IdP からの証明を信じてログインさせます。これが SSO(シングルサインオン)です。

よい点は、パスワードが1つで済む、MFA や条件付きアクセスを IdP で一括でかけられる、退職時に IdP で止めればつながっている SaaS すべてに入れなくなる、ログインの記録が1か所に集まる、ことです。

パスワードを確かめるのは IdP だけ。SaaS は署名を信じる社員のブラウザSaaS(SP)IdP① SaaS を開く② IdP へ転送(SAML 要求)③ 要求を IdP へ届けるログイン+MFA④ 条件付きアクセス⑤ 署名つきのアサーション⑥ アサーションを SaaS へ署名を確かめる⑦ ログイン完了
SAML での SSO の流れ(SP から始まる場合)

認証の種類と強化(SRE の解説)

下の「ブラウザで試す」の図は、SAML(SSO でよく使われる、署名付きの XML で「ログインした」と伝える方式)で、社員が SaaS(Slack)にログインする流れです。SaaS を開く → IdP へリダイレクト → IdP でログイン(MFA)→ 署名付きの証明(アサーション)→ SaaS が署名を確かめてログイン、と進みます。SaaS と IdP は直接通信せず、ブラウザが証明を運んでいる点と、MFA や端末の確認が IdP の手順に集まっている点に注目してください。

面接ではこう答える

IdP は、社員のアカウントを1か所に集めて、ログインを代わりに行う仕組みで、Okta や Entra ID、Google Workspace が代表です。各 SaaS は自分でパスワードを持たず、IdP が出した「この人は本人です」という証明を信じてログインさせます。これが SSO です。パスワードが1つで済み、MFA を一括でかけられ、退職時に IdP で止めればつながっている SaaS すべてに入れなくなるのが大きな利点です。

別のページで開く →

ネットワーク図を読み込んでいます…

6.2SAML と OIDC の違い

用語★★★ 必須
ひとことで

どちらも SSO の方式。SAML は XML の署名つきアサーション、OIDC は OAuth 2.0 の上の JSON の ID トークンで本人であることを伝える。

SSO の設定では、SaaS が対応している方式に合わせて SAML か OIDC を選びます。どちらも、IdP が「この人は本人です」という証明を SaaS に渡す点は同じで、形式と生まれた背景が違います。

どちらも「IdP と SaaS の間で信頼を結ぶ」方式SAML 2.0・XML のアサーションに署名・企業向け SaaS で最も広く対応・メタデータと証明書を交換・署名の証明書に期限があるOpenID Connect(OIDC)・JSON の ID トークン(JWT)・OAuth 2.0 の上に作られている・クライアント ID とリダイレクト URI・新しい SaaS・スマホアプリに多い
SAML と OIDC の比べ方
SAML 2.0OpenID Connect(OIDC)
形式XML の「アサーション」に署名して渡すJSON の「ID トークン」(JWT)。OAuth 2.0 の上に作られている
主な用途企業向けの Web の SaaS の SSO新しい SaaS・スマホアプリ・自社開発のアプリ
対応状況業務用 SaaS ではいちばん広く対応増えている。API の認可(OAuth)とまとめて扱える
設定で交換するものメタデータ(エンティティ ID・ACS URL・署名の証明書)クライアント ID・シークレット・リダイレクト URI

情シスにとってはどちらも「IdP と SaaS の間で信頼を結ぶ設定」で、SaaS が対応している方を使えば大丈夫です。SAML の署名の証明書には期限があり、切れるとその SaaS にだれもログインできなくなるので、期限を管理します。

面接ではこう答える

SAML と OIDC は、どちらも IdP が SaaS に「この人は本人です」と伝えるための方式です。SAML は XML のアサーションに署名して渡す方式で、企業向けの SaaS でいちばん広く対応しています。OIDC は OAuth 2.0 の上に作られていて、JSON の ID トークンを使い、新しい SaaS やスマホアプリに多いです。情シスとしては SaaS が対応している方を使えばよく、SAML では署名の証明書の期限を管理することが大事です。

ひとことで

SSO をつないだら SaaS 側のパスワードでのログインを止め、非常用の管理者アカウントだけを別に残す。

SSO は、つないだだけでは抜け道が残ります。SaaS 側のパスワードでのログインを止めて SSO を強制し、SSO できない SaaS は別の方法で管理の中に入れます。

  • 上位のプランでしか SSO できない:人数・扱うデータの重要さで、上位プランの費用を払う価値があるか判断します。払わないなら次の方法で補います。
  • パスワード保管型の SSO:IdP やパスワード管理ツールがパスワードを代わりに入力する方式。退職時にツールで止められますが、SaaS 側のアカウントは残るので削除の手順が必要です。
  • 台帳とチェックリスト:SSO 外の SaaS を一覧にし、退職手続きと棚卸しの対象に入れます。

SSO を入れたら、SaaS 側の「パスワードでのログイン」を止めて SSO を強制します(抜け道を残さない)。ただし IdP が止まると全員入れなくなるので、SaaS ごとに SSO を通らない非常用の管理者アカウントを1つ残し、強いパスワードと MFA で金庫のように保管します。

面接ではこう答える

SSO を入れたら、SaaS 側のパスワードでのログインを止めて SSO を強制し、抜け道を残さないようにします。ただし IdP が止まると全員が入れなくなるので、SaaS ごとに SSO を通らない非常用の管理者アカウントを1つ残し、強いパスワードと MFA で金庫のように保管します。SSO できない SaaS は、上位のプランを買うか、パスワード管理ツールや台帳で退職手続きの対象に入れます。

ひとことで

パスワードに加えて、端末・場所・リスクで判断してログインを許可する。

多要素認証(MFA)は、知っているもの(パスワード)・持っているもの(スマホ・セキュリティキー)・本人そのもの(指紋・顔)のうち、2つ以上を組み合わせて確かめることです。パスワードは漏れる前提で考え、MFA を全員に必須にします。ただし MFA にも強さの違いがあります。

コードを入力する方式は、偽サイトに中継されると破られるSMS・電話コードを偽サイトに入力させられる・SIM の乗っ取り認証アプリ(TOTP)コードを本物へ中継される(AiTM)プッシュ(番号の一致)「承認」連打の攻撃は減るが、中継には弱いFIDO2・パスキードメインを確かめ、偽サイトでは使えない弱い強い
MFA の方式とフィッシングへの強さ
方式フィッシングへの強さ注意点
SMS・電話のコード弱い偽サイトにコードを入力させられる。SIM の乗っ取りも
認証アプリのコード(TOTP)弱いコードを偽サイトに中継されると突破される
プッシュ通知中何度も通知を送り、うっかり「承認」させる攻撃(MFA 疲れ)。画面の数字を入力させる方式(番号の一致)にする
FIDO2(パスキー・セキュリティキー・Windows Hello など)強い端末の紛失に備えて2つ以上登録・復旧の手順を決める

面接ではこう答える

多要素認証は、知っているもの、持っているもの、本人そのもののうち2つ以上を組み合わせて本人を確かめることです。パスワードは漏れる前提で考え、全員に必須にします。ただし強さに差があり、SMS や認証アプリのコードは偽サイトに中継されると突破されます。プッシュ通知は番号の一致を必須にし、管理者など狙われやすい人から FIDO2 やパスキーにします。

ひとことで

パスワードの代わりに、端末の中の鍵で署名する認証。サイトのドメインごとに鍵が分かれるので、偽サイトでは使えない。

ブラウザが「今つないでいるドメイン」を一緒に確かめる端末の認証器ブラウザサイトチャレンジ(ランダムな値)今のドメインと一緒に署名を依頼指紋・PIN のあと、その鍵で署名署名を送る → 公開鍵で確かめる
パスキーでの認証のやりとり

FIDO2 がフィッシングに強い理由:認証のときに、ブラウザが「今つないでいるサイトのドメイン」を一緒に確かめるからです。偽サイト(例:login-micros0ft.com)では本物のドメイン用の鍵が使われず、利用者がだまされても認証が成り立ちません。コードを入力する方式は、偽サイトが本物にそのままコードを中継する攻撃(AiTM)で突破されます。管理者や経理など狙われやすい人から FIDO2 にします。

導入の段階やること
狙われやすい人から管理者・経理・役員を先に FIDO2・パスキーだけにする
登録を2つ以上スマホと PC、またはセキュリティキーを2本など、なくしたときの予備を登録させる
復旧の手順全部なくしたときの本人確認の方法(上長の確認・対面など)を決め、ヘルプデスクが電話だけで解除しない
弱い方式を外す移行が進んだら SMS などの弱い方式を使えないようにする

面接ではこう答える

パスキーや FIDO2 は、端末の中の秘密鍵で署名して本人を確かめる方式です。鍵はサイトのドメインごとに作られ、ブラウザが今つないでいるドメインを一緒に確かめるので、偽サイトでは本物の鍵が使われず、利用者がだまされても認証が成り立ちません。コードを入力する方式は偽サイトに中継されて突破されるので、ここが大きな違いです。導入は管理者など狙われやすい人から始め、なくしたときに備えて2つ以上登録させます。

ひとことで

IdP で「誰が・どの端末で・どこから・どのアプリに」を見て、許可・MFA を求める・拒否を決めるルール。

ログインのたびに、条件を見て結果を決める条件付きアクセスIdP のポリシー誰がユーザー・グループ・役割どの端末でMDM で準拠しているかどこから国・IP・リスクどのアプリに機密度許可MFA を求めるブロック
条件付きアクセスの判断のしかた

IdP で「誰が・どの端末で・どこから・どのアプリに」の条件を見て、許可・MFA を求める・拒否を決めます(Entra ID の条件付きアクセス、Okta の認証ポリシーなど)。

ポリシーの例ねらい
全員・全アプリで MFA を必須基本の守り
管理者の権限を持つ人は FIDO2 だけいちばん狙われるアカウントを守る
会社の管理する端末(MDM で準拠)からだけ、機密のアプリを使える私物・乗っ取られた端末からの持ち出しを防ぐ
業務で使わない国からのログインを拒否海外からの不正ログインを減らす
古い認証方式(IMAP・POP の基本認証など)を拒否MFA を通らない抜け道をふさぐ
リスクが高い(いつもと違う場所・漏えいしたパスワード)ときは再認証かブロック乗っ取りの疑いを止める

落とし穴:新しいポリシーはまずレポートだけのモードで影響を確かめてから有効にします。いきなり有効にして、管理者を含めて全員が締め出されることがあります。非常用の管理者アカウントはポリシーから外し、使われたら通知が来るようにしておきます。

面接ではこう答える

条件付きアクセスは、IdP がログインのたびに、ユーザー、端末の状態、場所やリスク、アクセス先のアプリを見て、許可するか、MFA を求めるか、拒否するかを決める仕組みです。例えば全員に MFA を必須にし、機密のアプリは MDM で準拠した端末からだけ、業務で使わない国からは拒否、古い認証方式は拒否、のように組み合わせます。新しいポリシーはまずレポートだけのモードで影響を確かめ、非常用の管理者は外しておきます。

ひとことで

人事の情報から、入社・異動・退職を各 SaaS のアカウントに自動で反映する。

プロビジョニングは、アカウントを作る・変える・止めることを、各 SaaS に自動で反映することです。その標準の手順が SCIM(System for Cross-domain Identity Management)で、IdP が SaaS の SCIM の API(/Users・/Groups)を呼んで、ユーザーの作成・属性の変更・無効化を行います。

人事の情報を正として、一方通行で流す人事システム入社・異動・退職IdPアカウント・グループ連携・CSVSlack・チャットGoogle / 365そのほかの SaaSSCIMSCIM 非対応 → チケット・棚卸し入社 → 作成異動 → グループの変更退職 → 無効化
人事システム → IdP → 各 SaaS のプロビジョニング

SCIM に対応していない SaaS

  • SSO だけ対応:初回ログイン時にアカウントを作る方式(JIT プロビジョニング)。ただし退職しても SaaS 側のアカウントは消えないので、停止の手順が要ります。
  • 独自の API がある:スクリプトやノーコードの道具で、IdP の変更をきっかけに作成・停止します。
  • 何もない:管理画面で手作業。退職のチェックリストと定期的な棚卸しに必ず入れます。

入社・異動・退職の手続き

面接ではこう答える

プロビジョニングは、アカウントを作る・変える・止めることを各 SaaS に自動で反映することで、その標準の手順が SCIM です。IdP が SaaS の SCIM の API を呼んで、ユーザーの作成、属性の変更、無効化を行います。SSO だけだと、退職者は IdP からはログインできなくなっても、SaaS 側のアカウントとライセンスは残ります。SCIM を使えば SaaS 側のアカウントも止まり、ライセンスも解放できます。

ひとことで

人事システムの社員データをもとに、IdP と各 SaaS のアカウントを一方通行で自動に作る・変える・止める考え方。

アカウントのもとになる情報(正)は、人事システムの社員データです。人事の登録・異動・退職を、IdP を通して各 SaaS に一方通行で流します。

いちばん元になる情報(正)は人事システムの社員データです。流れは「人事システム → IdP → 各 SaaS」の一方通行にします。

  • 入社:人事に登録されると、入社日の前に IdP にアカウントができ、部署のグループに入り、そのグループに割り当てた SaaS にアカウントが作られる。
  • 異動:人事で部署が変わると IdP のグループが変わり、前の部署の SaaS の権限が外れ、新しい部署のものが付く。
  • 退職:退職日に IdP のアカウントが止まり、SCIM で各 SaaS のアカウントも無効になる。

人事システムと IdP の連携は、IdP 側に対応する接続(Workday など)があるか、なければ CSV や API で取り込みます。注意:人事データの入力ミス(部署名の表記ゆれ・退職日の入れ忘れ)がそのまま全 SaaS に広がるので、人事と一緒に入力のルールを決めます。

面接ではこう答える

ID の連携は、人事システムを正にして「人事システム、IdP、各 SaaS」の一方通行にします。入社が登録されると IdP にアカウントができて部署のグループに入り、SCIM で SaaS のアカウントが作られます。異動ではグループが変わって権限が付け替わり、退職日には IdP が止まって SaaS も無効になります。人事データの入力ミスが全体に広がるので、部署名や退職日の入力のルールを人事と一緒に決めます。

ひとことで

外部のアプリに、パスワードなしで会社のデータを読む権限を渡す仕組み。社員が同意できる範囲を管理者が絞る。

「Google でログイン」「Microsoft アカウントで連携」のボタンで、社員が外部のアプリにメールやドライブを読む権限を渡せることがあります。これが OAuth の同意です。一度同意すると、アプリはパスワードを知らなくても、アクセストークンでデータを読み続けられます。

同意すると、パスワードなしでデータを読まれ続ける社員外部のアプリGoogle・Microsoft「メールとドライブを読む許可をください」同意するアクセストークンを発行トークンでメール・ファイルを読む
OAuth の同意でアプリにデータへのアクセスを渡す流れ
設定・運用内容
同意できる範囲を絞る社員が自分で同意できるのは、確認済みの発行元・弱い権限だけにする。それ以外は管理者の承認を求める
許可したアプリの一覧Google Workspace の API の制御、Entra ID のエンタープライズアプリケーションで、使ってよいアプリを決める
定期的な確認会社のアカウントに連携しているアプリを一覧で見て、知らないもの・強い権限のものを確かめる
事故のときアプリの許可を取り消し、トークンを無効にする。パスワードを変えるだけでは止まらない

偽のアプリに同意させてデータを盗む攻撃(同意フィッシング)もあります。パスワードも MFA も使わないので、MFA だけでは防げません。

認証と状態管理(Cookie・セッション・トークン・OAuth)(SRE の解説)

面接ではこう答える

OAuth の同意は、社員が「Google でログイン」などのボタンから、外部のアプリにメールやドライブを読む権限を渡すことです。同意するとアプリはアクセストークンで、パスワードを知らなくてもデータを読み続けられます。偽のアプリに同意させる同意フィッシングは MFA では防げないので、社員が同意できる範囲を絞り、それ以外は管理者の承認にします。事故のときはパスワードの変更ではなく、アプリの許可の取り消しとトークンの無効化が必要です。

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • IdP を中心にした ID 管理(SSO・MFA・SCIM)
  • SAML と OIDC の違い

この章のクイズ

面接ではこう聞かれる

まず答えを見ずに声に出して答え、そのあと開いて比べる。

Q1SAML と OIDC の違いは?

模範回答

どちらも IdP でログインした結果を SaaS などに渡して SSO を実現する仕組みですが、形式が違います。SAML は XML に署名した「アサーション」をブラウザ経由で渡す古くからの方式で、企業向けの Web の SaaS で最も広く使われています。OIDC は OAuth 2.0 の上に作られた方式で、JSON の ID トークン(JWT)を使い、スマホアプリや新しいサービス、自社開発のアプリで使いやすいです。

情シスとしては、SaaS が対応している方を選び、SAML なら署名の証明書の期限、OIDC ならクライアントシークレットの管理に気をつけます。どちらを使っても、SSO を強制し、退職時は IdP で止めることが大事です。

深掘りされたら

  • SAML の証明書の期限が切れると何が起きますか?
  • OAuth と OIDC の違いは?

見られているポイント形式・用途・対応状況

Q2SSO を入れる利点と、注意点を教えてください。

模範回答

利点は、パスワードが1つで済み、MFA や条件付きアクセスを IdP でまとめてかけられること、退職時に IdP を止めればつながっている SaaS すべてに入れなくなること、ログインの記録が1か所に集まることです。

注意点は、IdP が止まると全部に入れなくなるので、SaaS ごとに SSO を通らない非常用の管理者アカウントを金庫のように保管しておくこと、SaaS 側のパスワードでのログインを止めて抜け道をなくすこと、SAML の証明書の期限を管理すること、SSO だけでは SaaS のアカウント自体は消えないので SCIM や棚卸しと組み合わせることです。

深掘りされたら

  • IdP が障害で止まったらどうしますか?

見られているポイント利点(集中管理・退職時)と注意点(単一障害点・抜け道)

Q3フィッシングに強い MFA とは何ですか? なぜ強いのですか?

模範回答

FIDO2 を使う方法で、パスキー、セキュリティキー、Windows Hello などです。認証のときにブラウザが接続先のサイトのドメインを確かめ、そのドメイン用の鍵でしか署名しないので、偽サイトでは認証が成り立ちません。

SMS や認証アプリのコードは、偽サイトに入力させて本物にそのまま中継する攻撃で破られますし、プッシュ通知は何度も送って承認させる攻撃があります。管理者や経理など狙われやすい人から FIDO2 にし、端末をなくしたときのために2つ以上登録し、復旧の手順も決めます。

深掘りされたら

  • パスキーを全社に広げるときの課題は?

見られているポイントFIDO2 の仕組み(ドメインの確認)・他の方式の弱点・導入の順

Q4条件付きアクセスで、まず入れるポリシーの例を挙げてください。

模範回答

例えば、全員・全アプリで MFA を必須にする、管理者の役割を持つ人はフィッシングに強い MFA だけにする、古い認証方式(MFA を通らない IMAP・POP など)を止める、機密のアプリは MDM で準拠した会社の端末からだけにする、業務で使わない国からのログインを止める、です。

入れるときは、まずレポートだけのモードで誰に影響するかを確かめてから有効にします。非常用の管理者アカウントはポリシーから外して締め出しを防ぎ、使われたら通知が来るようにします。

深掘りされたら

  • ポリシーで全員が締め出されたらどうしますか?

見られているポイント基本のポリシー・段階的な有効化・非常用アカウント

Q5SCIM とは何ですか? SSO だけではだめな理由は?

模範回答

SCIM は、IdP から SaaS にアカウントの作成・変更・無効化を自動で反映するための標準の仕組みです。IdP が SaaS の SCIM の API を呼んで、ユーザーやグループを同期します。

SSO はログインを IdP に任せるだけなので、退職して IdP で止めても SaaS 側にはアカウントが残り、ライセンスもかかり続けます。SaaS によっては API キーやパスワードで入れてしまうこともあります。SCIM なら人事の情報から IdP、各 SaaS へと自動で止まるので、漏れが減ります。

深掘りされたら

  • SCIM に対応していない SaaS はどうしますか?

見られているポイントSCIM の役割・SSO との違い(アカウントが残る)