skillup

技術ブログ

アーキテクト設計全般

Saml認証とSSO(シングルサインオン)について

投稿日:

現在の案件ではSaml認証でSSO(シングルサインオン)をつかっているのでこちらについての調査を。

Saml認証とは

認証情報をやりとりする書式のようです。そもそもがSaml=SecurityAssertionMarkupLanguageになります。

XML形式でユーザーの認識情報をやりとりするようで、異なるインターネットドメイン間でユーザーの認証情報を交換することでシングルサインオン(=1回認証を通れば、関連するすべてのサービスが使える)を実現する場合によく使われます。

現場ではMicrosoftアカウントにログインをすると、他のサービスでも自動的にログインができるようになっています。

Oauthとの違い

これだけ聞くと、Oauthと近いのかな?なんておもわれることが多いと思いますが、Oauthとの違いとして、「認証(=本人か否かの特定)」と「認可(=ある行動をとってよいかいなか)」の違いがあるようです。

Oauth=単純なアクセス権の付与、認可。

Saml=ユーザー自体の特定を行う、認証。

仕組み

登場人部としては

ユーザー・・読んで字の如くログインするユーザーです。

Idp(IDプロパイダー)・・ユーザーの認証情報を管理し、ユーザーがサービスにアクセスしようとした際の認証を行います。例 Microsoftアカウント

SP(サービスプロバイダー)・・ユーザーが利用するクラウドサービスやWebアプリケーションになります。例 上記のアカウントを利用したWebサービス

簡単なフローは下記のようになります。実際にログインしていると下記が高速に行われます。

  1. ユーザーがSPにログインしようとする。
  2. 未認証であればIdpへリダイレクトし、ログインすればIdpSAMLアサーションを発行。
  3. ユーザーをSPへリダイレクトし、SAMLアサーションをSP二層インすることでログインが完了する。

Saml認証のメリット

ログイン情報を1つにできる

あるサービスにログインできれば、他の関連したサービスにもログインできるため、パスワードを覚える必要がなく、そういった意味ではセキュリティリスクの低減につながります。

作業効率化が吐かれる

SSOのメリットですが、一度のログインで複数のアプリケーションにアクセスできるため、大変効率的です。(個人的には確かにメリットが大きいなあと思っております。)

Saml認証のデメリット

Idpサービスが停止するとログインが困難に・・

Idpを経由してすべてのサービスにアクセスしているため、SSOに依存しているサービスが停止すると、連携しているサービスの全てへのアクセスが困難になります。

情報漏洩の被害が大きい

SSOで一元管理されているため、Idpサービスの認証を突破されてしまうと情報漏洩被害の影響が広範囲に及びます。

参考リンク

SAML(読:サムル)とは

SAML認証とは?仕組みや流れ、メリット・デメリットを徹底解説

 

-アーキテクト設計全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Observeパターンについて

Contents1 Observeパターン2 他の対策2.1 プログラムで頑張って制御2.1.1 メリット2.1.2 デメリット2.2 Databaseのtirggerを使う(DB更新系のみ)2.2. …

no image

自動テストをやる上で今まで障害だったこと

自動テストについて、考え方自体は5年以上前から知っていましたが、プロジェクトで実際に使われているのを見たのは今年4月になってからでした・・・ 自動テスト完備なんて昔は夢物語だと思ってたんですけどね・・ …

no image

ここ1年ぐらいで再確認したネタなど

今の現場では比較的、いわゆるモダンな環境で開発をしていることもあり、非常に勉強になります。 今の現場に入る前に10年近くはPHPをやっていますが、まだまだ知らないこと(といいますか新しいことがふえてき …

no image

オブジェクト指向 プレゼンテーション層

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日はプレゼンテーション層、いわゆるMVCのViewにあたる部分。 Contents1 プレゼンテーション層の考え方1.1 要点1. …

no image

オブジェクト指向について その1

ちょっと最近、仕事でソースの書き方がいい加減になってきたのでオブジェクト指向について考え方を再確認しようと思います。 参考文献 SoftWareDesign 2015年9月号 何も考えずにプログラムを …

アーカイブ