- フェデレーション(ID連携): Google Workspaceの認証元(IdP)としてMicrosoft Entra IDを設定し、
SAML 2.0などのプロトコルを用いてシングルサインオン(SSO)を実現する。これにより、ユーザーがGoogleにログインしようとすると、自動的にMicrosoftのサインイン画面にリダイレクトされる
SSO(シングルサインオン)の仕組み:SAML 2.0を使った場合
まず用語の整理:
| 役割 | 意味 | 今回の例 |
|---|---|---|
| IdP(Identity Provider) | 「この人は誰か」を証明する側 | Microsoft Entra ID |
| SP(Service Provider) | サービスを提供する側(アクセスされる側) | Google Workspace |
ユーザー Google Workspace (SP) Microsoft Entra ID (IdP)
| | |
|--① Googleにアクセス-->| |
| |--② SAMLリクエスト送信--------->|
|<-----③ Entraログイン画面へリダイレクト---------------|
| | |
|--④ ID/PW + MFA入力------------------------------>|
| | ⑤ 認証成功・アサーション生成
| |<--⑥ SAMLアサーション(XML)送信--|
| |--⑦ アサーション検証 |
|<--⑧ アクセス許可---| |
SAMLアサーションとは「このユーザーは認証済みで、このメールアドレス・属性を持っています」という情報をXML形式で記述した署名付き文書。GoogleはこのXMLを受け取り、Entra側の電子署名を検証してログインを許可する。
OAuth / OIDC との違い(参考)
同じ「ID連携」でもプロトコルによって用途が異なる:
| プロトコル | 主な用途 | 発行するもの | データ形式 |
|---|---|---|---|
| OAuth 2.0 | 認可(アクセス権の委譲) | アクセストークン | JSON |
| OIDC(OpenID Connect) | 認証 + 認可 | IDトークン(JWT)+ アクセストークン | JSON |
| SAML 2.0 | 認証 + SSO | SAMLアサーション | XML |
OIDCはOAuth 2.0の拡張版。OAuthは「BアプリがAさんのGoogleドライブにアクセスする権限を委譲する」(認可)のための仕組みで、「誰がログインしているか(認証)」は保証しない。OIDCはその上にIDトークン(JWT)を追加して認証もできるようにしたもの。エンタープライズSSO(EntraとGoogle Workspaceの連携など)ではSAML 2.0が多く使われる傾向にある。