SAML
認証情報を やり取りするための決まり事だよ
シングルサインオンをやるときに使う(かもしれない)よ
「Security Assertion Markup Language」の略だよ
簡単に書くよ
SAML(読:サムル)とは
1回 認証を通れば許可されている すべてのサービスが使えるようになる仕組み(シングルサインオン)を実現するときに使われる仕組みのひとつ
であり
認証情報を受け渡しするときに使うことを目的として作られたXML
(ファイルの書き方ルールのひとつ)形式の書式(と、あれやこれやの決まり事)
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・認証
・XML
・シングルサインオン
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
認証は「おまえ誰?OKなやつ?」を確認する作業です。
例えば
・本人しか知らない情報を入力させる
・本人しか持っていないものを提示させる
・接続元の情報を見る
のような過程を経て、OKな人かNGな人かを判定します。
※厳密には「認証+認可」の説明になっていますが気にしないことにします。そこら辺が気になる方は、用語「認可」の説明を ご覧ください。
XMLは「ファイルの書き方ルールのひとつ」です。
マークアップ言語と呼ばれる種類で、HTMLの親戚みたいなものです。
例えば
<?xml version="1.0" encoding="Shift_JIS" ?>
<staff>
<member>
<name>ピヨ太</name>
<position>社長</position>
<age>40代のおっさん</age>
</member>
<member>
<name>ピヨ子</name>
<position>営業部長</position>
<age>永遠の美少女</age>
</member>
</staff>
みたいな書き方をします。
詳細は、用語「XML」の説明を ご覧ください。
シングルサインオンは「1回 認証を通れば、許可されている すべてのサービスが使えるようになる仕組み」です。
例えば、そうですね。
あるところに動画共有サービス「ぴよぴよ動画」が ありました。
つぶやきサービス「ぴよったー」も ありました。
どちらも会員限定サービスです。
使うときは認証が必要です。
ぴよぴよ動画を使いたいときは、ぴよぴよ動画の認証を受けます。
ぴよったーを使いたいときは、ぴよったーの認証を受けます。
ごくごく普通のことです。
ですが、両方のサービスを使っている人は「2回も認証するの、めんどうくせっ(-A-)」と思うかもしれません。
そこで、ぴよぴよ動画とぴよったーはコソコソ相談して、あることを決めました。
それは
よし!相手の認証を通っていれば、こっちのサービスも使わせてあげよう
です。
これで、ぴよぴよ動画の認証を通っている人は、フリーパスで ぴよったーを使えるようになりました。
同じように、ぴよったーの認証を通っている人は、フリーパスで ぴよぴよ動画を使えるようになりました。
2つのサービスを使うのに認証が1回で済むようになったわけです。
これは楽チンですね。
このような
1回 認証を通れば許可されている すべてのサービスを使えるようになる仕組み
がシングルサインオンです。
以上を踏まえて、本題に入ります。
シングルサインオンを実現する仕組みは いくつかありますが、やり方によっては認証情報を受け渡しする必要が出てきます。
その
認証情報を受け渡しするための あれやこれや
を決めたもの(のひとつ)が「SAML」です。
「Security Assertion Markup Language(セキュリティ・アサーション・マークアップ・ランゲージ)」の略で「SAML」ね。
気が向いたら、覚えてあげてください。
※「Security Assertion Markup Language」を何となく日本語にすると「セキュリティ主張用の印を付ける言語」となります。[詳細]
SAMLは、一番シンプルに説明すると
やり取りする認証情報の書式
です。
そもそもの出発点は「やり取りする認証情報は、どんな書式にしましょうね?」です。
その結果「よし!XML形式をベースにして、こんな感じにしようぜ」となりました。
ただし「SAMLプロトコル」という形で、他にも なんか いろいろ決められています。
そこら辺の「いろいろ」については頑張って自分で勉強してください。
一言でまとめるよ
まぁ「SAML」って単語が出てきたら「認証情報を やり取りするための決まり事なんだな~」と お考えください。
おまけ
■訳してみるよ
「SAML(サムル)」は「Security Assertion Markup Language(セキュリティ・アサーション・マークアップ・ランゲージ)」の略です。
「security(セキュリティ)」の意味は「安全」とか「防犯」とかです。
「assertion(アサーション)」の意味は「断言」とか「断定」とか「主張」とかです。
「mark(マーク)」の意味は「印」とかです。
「up(アップ)」の意味は「上へ」とかです。
「mark up(マーク・アップ)」で「印をつける」的な意味になります。
「language(ランゲージ)」の意味は「言語」とか「言葉」とかです。
何となく くっつけると
安全主張用の印を付ける言語
となります。
■違いの分かるピヨピヨ






