2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SAMLとSSOについて

Posted at

【GCP Associate対策】一番わかりやすいSAMLとSSOの話 (IdPとSPって何?)

はじめに

こんにちは! Google Cloud Associate Cloud Engineerの勉強中、SAMLとかSSOとか、IdPにSP...といった用語が出てきて混乱した経験はありませんか?

あなたの会社では、サービスプロバイダとのSecurity Assertion Markup Language(SAML)統合をサポートしているシングルサインオン(SSO)用ID プロバイダを使用しています...

こんな問題文を読んで、「うっ...」となった方向けに、今回はこの認証の仕組みを世界一わかりやすく解説して、試験問題を確実に解けるようになることを目指します!

一番わかりやすい例え話:海外旅行で考えよう! ✈️

難しい用語は一旦忘れて、あなたが海外旅行に行く場面を想像してください。

あなた: 旅行者 🧍

行きたい国(サービス): Google Cloud ☁️

あなたの国のパスポートセンター: 会社のログインシステム (Okta, Azure ADなど) 🛂

さて、あなたがGoogle Cloud国に入国しようとすると、入国審査官(Googleのログイン画面)にこう言われます。
「あなたが何者か証明してください。あなたの国のパスポートセンターで発行されたパスポートを見せてください。」

あなたはいきなりGoogle Cloud国でパスポートは作れませんよね?一度、自分の国にあるパスポートセンターに戻って、身分を証明し、パスポートを発行してもらう必要があります。

この流れが、まさにSAML SSOの仕組みそのものなんです!

あなたが Google Cloud (行きたい国) にアクセスしようとする。

Google Cloud は「身分証明書(パスポート)がないね。君の国のパスポートセンターで認証してきなさい」とあなたをリダイレクトさせる。

あなたは**会社のログインシステム(パスポートセンター)**でIDとパスワードを入力して認証する。

認証が成功すると、パスポートセンターは「この人は正真正銘の国民です」という**電子証明書(パスポート)**を発行し、それを持ってあなたをGoogle Cloudに送り出す。

Google Cloud はその電子証明書(パスポート)を見て、「信頼できるパスポートセンターが発行したものだな。OK、入国を許可します!」とログインを許可する。

例え話を専門用語に置き換えてみよう

この例え話の登場人物を、専門用語に置き換えるだけで完璧に理解できます。

例え話の登場人物 専門用語 説明
パスポートセンター 🛂 IdP (Identity Provider) IDを提供する側。ユーザーが誰であるかを認証するシステム。(例: Okta, Azure AD)
行きたい国 ☁️ SP (Service Provider) サービスを提供される側。ユーザーが利用したいアプリケーション。(例: Google Cloud, Salesforce)
パスポート 📜 SAMLアサーション IdPが発行する「この人は認証済みです」という電子証明書。

つまり、IdP (Identity Provider) が本人確認を行い、SP (Service Provider) がその結果を信頼してサービスを使わせてあげる、という関係性なのです。

これで試験問題は解ける!

もう一度、最初の問題を見てみましょう。

状況の整理:

会社のSSOプロバイダ = IdP (パスポートセンター)

Cloud Identity (Google Cloud) = SP (行きたい国)

やりたいこと:
会社のIDでGoogle Cloudにログインしたい。

これはつまり、「SPであるGoogleに、IdPである会社のSSOを信頼させる設定」をすれば良いわけです。

では、選択肢を見てみましょう。

正解: Cloud Identity で、サードパーティの ID プロバイダで Google をサービス プロバイダとして SSO を設定する。

まさに、「SPであるGoogleで、**IdPであるサードパーティ(会社)**を使ってSSOを設定する」と書いてありますね!

間違い: Cloud Identity で、Google を ID プロバイダとして SSO を設定し...

これは「GoogleをIdP(パスポートセンター)として」と言っているので、役割が逆です。これはGoogleのIDで外部のアプリにログインする時の設定です。

間違い: OAuth 2.0 の認証情報を取得し...

OAuth 2.0は「認可」の仕組みで、「認証」のSAMLとは役割が違います。例えるなら、パスポート(認証)ではなく、特定の施設への入場許可証(認可)のようなものです。ごっちゃにしないようにしましょう。

まとめ

SSOは、1回のログインで色々なサービスを使えるようにする仕組み。

SAMLは、そのSSOを実現するための言語(ルール)。

IdP (Identity Provider): ユーザーを認証する側(パスポートセンター)。

SP (Service Provider): 利用したいサービス側(行きたい国)。

この「海外旅行の例え」さえ覚えておけば、SAML関連の問題はもう怖くありません。
この記事が、あなたのGCP学習の助けになれば嬉しいです!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?