サンプルユースケース:パスワードレス認証を使用したルール
ルールを使用すると、パスワードレス接続だけを使うよりも複雑な状況が扱えるようになります。たとえば、メールアドレスやデバイスの所有を確実にするために、さらに対策を追加することができます。
企業ネットワーク外部のユーザーに多要素認証を要求する
企業ネットワークの外部からパスワードレス接続を使ってアプリケーションにアクセスしているユーザーに、多要素認証(MFA)を必須にしたいとします。
ルールを使用すると、ユーザーがパスワードレス方式(sms
、email
)を使って認証しているかどうかを確認し、セッションIPが指定の企業ネットワーク外だった場合に、第二認証要素を求めることができます。
これを行うには、以下のルールを作成します。
function(user, context, callback) {
const ipaddr = require('ipaddr.js');
const corp_network = "192.168.1.134/26";
const current_ip = ipaddr.parse(context.request.ip);
// is auth method passwordless and IP outside corp network?
const passwordlessOutside = context.authentication.methods.find(
(method) => (
((method.name === 'sms') || (method.name === 'email')) &&
(!current_ip.match(ipaddr.parseCIDR(corp_network)))
)
);
// if yes, then require MFA
if (passwordlessOutside) {
context.multifactor = {
provider: 'any',
allowRememberBrowser: false
};
}
callback(null, user, context);
}
Was this helpful?
/