Security Assertion Markup Language
認証情報を やり取りするための決まり事だよ
シングルサインオンをやるときに使う(かもしれない)よ
「SAML」と表現されるのが一般的だよ
簡単に書くよ
Security Assertion Markup Language(読:セキュリティ・アサーション・マークアップ・ランゲージ)とは
いわゆる「SAML」のこと。
用語の中身としては
1回 認証を通れば許可されている すべてのサービスが使えるようになる仕組み(シングルサインオン)を実現するときに使われる仕組みのひとつ
であり
認証情報を受け渡しするときに使うことを目的として作られたXML形式の書式(と、あれやこれやの決まり事)
です。
詳しく書くよ
最初に留意事項です。
「SAML(サムル)」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
SAMLの正式名称(?)が「Security Assertion Markup Language」です。
「Security Assertion Markup Language」の頭文字を取ったのが「SAML」ね。
※「Security Assertion Markup Language」を何となく日本語にすると「セキュリティ主張用の印を付ける言語」となります。[詳細]
以上が「SAML」の意味を知っている人向けの説明です。
「SAMLって何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

それでは、いってみましょう。
まずは予備知識として
・認証
・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回 認証を通れば許可されている すべてのサービスを使えるようになる仕組み
がシングルサインオンです。
以上を踏まえて、本題に入ります。
シングルサインオンを実現する仕組みは いくつかありますが、やり方によっては認証情報を受け渡しする必要が出てきます。
その
認証情報を受け渡しするための あれやこれや
を決めたもの(のひとつ)が「Security Assertion Markup Language」です。
上でも書きましたが、一般的には「SAML」と表現されます。
※本ページでも以降は「SAML」と表現します。
一番シンプルに説明すると、SAMLは
やり取りする認証情報の書式
です。
そもそもの出発点は「やり取りする認証情報は、どんな書式にしましょうね?」です。
その結果「よし!XML形式をベースにして、こんな感じにしようぜ」となりました。
ただし「SAMLプロトコル」という形で、他にも なんか いろいろ決められています。
そこら辺の「いろいろ」については頑張って自分で勉強してください。
一言でまとめるよ
まぁ「Security Assertion Markup Language」って単語が出てきたら「SAML
(認証情報を やり取りするための決まり事)のことなんだな~」と お考えください。
おまけ
■訳してみるよ
「security(セキュリティ)」の意味は「安全」とか「防犯」とかです。
「assertion(アサーション)」の意味は「断言」とか「断定」とか「主張」とかです。
「mark(マーク)」の意味は「印」とかです。
「up(アップ)」の意味は「上へ」とかです。
「mark up(マーク・アップ)」で「印をつける」的な意味になります。
「language(ランゲージ)」の意味は「言語」とか「言葉」とかです。
何となく くっつけると
安全主張用の印を付ける言語
となります。
■違いの分かるピヨピヨ






