具体的には Identity Provider(IdP) から ACS に渡ってくるトークンを変換する際に、2つのクレームの値を条件として出力ルールを記載することが可能になりました。
といっても、何のことかよくわからないと思いますので ACS がトークンをどのように扱うのか?についておさらいしておきます。
ACS の基本的な機能として、IdP が発行したトークンを Relying Party(RP) が理解できる形へ変換する、いわゆる Federation Provider 機能があります。
このトークン変換を行う際に利用されるのが規則グループです。
ACS は IdP からトークンが渡ってくるとトークンからクレームを取り出し、規則グループの条件に従って、RPへ出力するトークンへクレームを再構成します。
条件としては、入力側のクレームについて
・発行元
・タイプ
・値
を指定することになります。
この条件に合致した時に出力側のクレームのタイプと値を決める、という形の処理を行います。
例えば、「Googleが発行したクレームでemailaddressの値がxxxx@gmail.com」なら「roleの値にadminをセットしたトークンを発行する」といったことが出来ます。
今回の ACS の拡張に話を戻すと、この入力側の条件が2つ設定できるようになったというのが拡張の内容です。
つまり、「Googleが発行したクレームでemailaddressの値がxxx@gmail.com、且つnameの値がNaohiro Fujieだったら」という様な条件を記載することが出来るようになっています。(ちなみに2つの条件として設定できるクレームの発行元は同一もしくは片方は ACS が他のルールで出力した結果である必要があります)
実際にやってみます。
設定した条件は、
・条件1
・トークン発行元:Google
・タイプ:emailaddress
・値:xxxx@gmail.com
・条件2
・トークン発行元:Google
・タイプ:name
・値:Naohiro Fujie
に合致したら、
・タイプ:role
・値:管理者
を出力するという設定にします。
まずは規則グループの設定です。
■条件1の設定
ACS は IdP からトークンが渡ってくるとトークンからクレームを取り出し、規則グループの条件に従って、RPへ出力するトークンへクレームを再構成します。
条件としては、入力側のクレームについて
・発行元
・タイプ
・値
を指定することになります。
この条件に合致した時に出力側のクレームのタイプと値を決める、という形の処理を行います。
例えば、「Googleが発行したクレームでemailaddressの値がxxxx@gmail.com」なら「roleの値にadminをセットしたトークンを発行する」といったことが出来ます。
今回の ACS の拡張に話を戻すと、この入力側の条件が2つ設定できるようになったというのが拡張の内容です。
つまり、「Googleが発行したクレームでemailaddressの値がxxx@gmail.com、且つnameの値がNaohiro Fujieだったら」という様な条件を記載することが出来るようになっています。(ちなみに2つの条件として設定できるクレームの発行元は同一もしくは片方は ACS が他のルールで出力した結果である必要があります)
実際にやってみます。
設定した条件は、
・条件1
・トークン発行元:Google
・タイプ:emailaddress
・値:xxxx@gmail.com
・条件2
・トークン発行元:Google
・タイプ:name
・値:Naohiro Fujie
に合致したら、
・タイプ:role
・値:管理者
を出力するという設定にします。
まずは規則グループの設定です。
■条件1の設定
0 件のコメント:
コメントを投稿