はじめに
Rulesを使って特定のアプリケーションのみAuth0の多要素認証を有効にしてみます。
通常の多要素認証の設定
多要素認証の有効化は通常Multi-factor Authentication
のページから行います。
多要素認証で利用する要素を選択してRequere Multi-factor Auth
の項目をAlways
にすると全てのアプリケーションで多要素認証が有効化されます。
Rulesを使って多要素認証が必須のアプリケーションを絞る
Multi-factor Authentication
のページで多要素認証で利用する要素の選択まで行い
Requere Multi-factor Auth
の設定は行わずにRulesを使うことで一部のアプリケーションだけ多要素認証を有効化することができます。
CREATE RULE
を押して以下のコードを新しいRuleとして登録します。
コード内のCLIENTS_WITH_MFA
配列に多要素認証を有効化したいクライアントのIDを設定してください。
function (user, context, callback) {
const CLIENTS_WITH_MFA = [
// 多要素認証を有効化するアプリケーションのクライアントIDを並べる
'Client_ID_1',
'Client_ID_2'
];
if (CLIENTS_WITH_MFA.includes(context.clientID)) {
context.multifactor = {
provider: 'any',
allowRememberBrowser: true
};
}
callback(null, user, context);
}
このRuleを有効にするとCLIENTS_WITH_MFA
配列に含まれているクライアントIDのアプリケーションにログインするときだけ多要素認証が必要になります。
おわりに
Rulesを活用して多要素認証のON/OFFをアプリケーションごとに設定してみました。
アプリケーションごとに認証強度を分けると言った要件がある場合に有効な手段なので試してみてください。