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

オブジェクト指向設計 単一責任のクラスの設計

オブジェクト指向をするうえでの大事なポイントなど Contents1 単一責任のクラス設計1.1 メモ1.2 実際のコーディング上のコツ1.3 感想1.4 参考文献 単一責任のクラス設計 メモ 単一責 …

no image

テストコードの粒度に関して

テストコードを書いていることの悩みの1つにテストコードをどの粒度で書けばいいのか、ということがあります。 例えばバッチの場合、大きく分けると エントリーポイントのFeatureテスト Unitテスト( …

no image

オブジェクト指向 クラスの設計と業務ロジックの整理

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日は主にクラスの作り方について。 Contents1 クラス設計と業務ロジック1.1 要点1.2 感想 クラス設計と業務ロジック …

no image

オブジェクト指向設計 依存関係の管理

オブジェクト指向シリーズ。読みにくい本が多い中でオブジェクト指向設計実践ガイドは勉強になるなー。 Contents1 依存関係の管理1.1 メモ1.2 実際のコーディング上のコツ1.3 感想 依存関係 …

no image

ステートパターンについて

トランザクション系のデータの場合、スタータスの遷移がキーになることが多く、仕様の把握に関してこの部分の理解が重要です。 今まで、ステータスの遷移に関してはExcelを使って表現していたことが多かったの …

アーカイブ