
Okta
オクタ
Auth0 Action機能を利用したSAML応答カスタマイズ実現
はじめに
Auth0では、認証認可におけるカスタムロジックを実現するActions機能が提供されています。2023年8月に、以下3点の機能アップデートが行われました。
- ログインユーザに関するSAML応答カスタマイズ
- アクセストークンにおけるスコープカスタマイズ
- 利用可能なユーザ情報の拡張
本ページでは、ログインユーザに関するSAML応答カスタマイズ実現についてご紹介します。
アクセストークンにおけるスコープカスタマイズについては、Auth0 Actions機能を利用したアクセストークンカスタマイズ実現をご確認ください。
前提
本ページ記載の機能及び設定に関する内容は、2023年8月現在の情報となります。Actions機能の概要及び基本的な設定方法は、Auth0 Actions機能を利用したトークンカスタマイズ実現をご確認ください。
機能アップデート概要
今回アップデートされた機能は以下の通りです。
- ログインユーザに関するSAML応答カスタマイズ
Login FlowのAPI Objectとして、ログインユーザに関するSAML応答のカスタマイズ機能が追加されました。SAML応答への任意の属性追加、NameID形式の指定やSAMLトークンの有効期限等のカスタマイズができます。追加されたAPI Object(api.samlResponse)は、Actions Triggers: post-login - API Object - Auth0 docsをご確認ください。
なお、Actions機能によるSAML応答カスタマイズには、制限事項があります。詳細は、Actions Limitations - Auth0 docsをご確認ください。
設定及び動作例
Actions機能を利用したログインユーザにおけるSAML応答カスタマイズ実現について、設定及び動作例をご紹介します。
設定例:SAML属性のカスタマイズ
Auth0によるSAML認証実現(Splunk Cloud)で、Rules機能を利用したSAMLレスポンスのカスタマイズをご紹介しました。今回は、同様の処理をActions機能で実現します。
- Auth0管理画面にて、[Actions] > [Library]をクリック
- [Create Action] > [Build from scratch]をクリック
- 作成するAction名、Actionのトリガ、実行環境を選択し、[Create]をクリック
4. コードエディタにて、実現するロジックを記載(JavaScript記述)
※必要最低限の処理のみ記載
exports.onExecutePostLogin = async (event, api) => { if (event.authorization) { api.samlResponse.setAttribute('http://schemas.auth0.com/rolez', event.authorization.roles) } };
5. [Deploy]をクリックし、正常に保存されたことを確認
![[Deploy]をクリックし、正常に保存されたことを確認](/business/security/okta/image/okta_cic_actions_dr02.png)
6. Auth0管理画面にて、[Actions] > [Triggers]をクリック
7. 作成したActionを組み込むTriggerとして、[post-login]を選択
8. 画面右側のCustomタブに表示されるActionの一覧から、対象Actionをドラッグ&ドロップし、画面左側のフロー図に配置

9. [Apply]をクリックし、正常に反映されたことを確認
![[Apply]をクリックし、正常に反映されたことを確認](/business/security/okta/image/okta_cic_actions_dr04.png)
動作例:SAML属性のカスタマイズ
1. Webブラウザ上の機能を利用し、HARファイルの取得を開始
2. Splunk CloudにてSAMLログイン操作を実施、正常にログインできることを確認
3. Webブラウザ上で取得したHARファイルより、Auth0からのSAMLレスポンスを取得及びデコード処理
4. SAMLレスポンスにて、Action内で指定した属性及び値が追加されていることを確認
(略) <saml:Attribute Name="http://schemas.auth0.com/rolez" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml:AttributeValue xsi:type="xs:string"> admin </saml:AttributeValue> </saml:Attribute> (略)
おわりに
今回は、Actions機能のアップデートにおいて、SAML応答カスタマイズ実現方法をご紹介しました。Rules/Hooks機能に関するEOL(End of Life)アナウンスが出ておりますので、Actions機能で実現可能となる処理は、今後も追加されていくと予想されます。
実施されるアップデートに応じて、今後も随時情報更新していきたいと思います。
参考
お問い合わせ・資料請求
株式会社マクニカ Okta 担当
- TEL:045-476-2010
- E-mail:okta@macnica.co.jp
平日 9:00~17:00