OneLoginにはRADIUSの機能があります。つまりRADIUSプロトコルでOneLoginのユーザー情報を利用し認証をすることができます。(RADIUSに関しては下記が詳しいです)
OneLoginのRADIUS機能は次のように作成することができます。
- 上部の管理者メニュー「Authentication → RADIUS」を選択します。
- 右上にある「New Configration」ボタンでRADIUSの設定を作成します。
今回のRADIUSの設定は次のようにしています。
- Secret: 適当な文字列
- IP Address: NAS(Network Access Server)のIPアドレス(今回はテストクライアントのIPアドレス)
OneLogin側の設定が終わったら、テストクライアントの用意です。テスト方法は下記を参考にFreeRADIUSの「radtest」コマンドを利用しました。(というかそのままです)
まずはFreeRADIUSのインストールです。今回はAWSのEC2で下記のUbuntuを起動して作業しています。
Ubuntuなので、「apt-get」で次のようにインストールします。
$ sudo apt-get -y install freeradiusCode language: JavaScript (javascript)
「radtest」は次のように利用できます。
$ radtest -h
Usage: radtest [OPTIONS] user passwd radius-server[:port] nas-port-number secret [ppphint] [nasname]
-d RADIUS_DIR Set radius directory
-t <type> Set authentication method type can be pap, chap, mschap, or eap-md5
-P protocol Select udp (default) or tcp
-x Enable debug output
-4 Use IPv4 for the NAS address (default)
-6 Use IPv6 for the NAS addressCode language: JavaScript (javascript)
今回のコマンド引数は次の通りです。
- user: OneLoginユーザーのEmail(デフォルト設定)
- passwd: OneLoginユーザーのPassword(デフォルト設定)
- radius-server: radius.us.onelogin.com(詳しくはこちら)
- nas-port-number: 0
- secret: OneLoginのRADIUS設定のSecret(ここでは「test」)
実際に実行してみると下記のように成功しました。
$ radtest xxx@xxx.xxx yyyyyyyy radius.us.onelogin.com 0 test
Sent Access-Request Id 61 from 0.0.0.0:49048 to 52.34.255.206:1812 length 92
User-Name = "xxx@xxx.xxx"
User-Password = "yyyyyyyy"
NAS-IP-Address = 172.31.8.172
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "yyyyyyyy"
Received Access-Accept Id 61 from 52.34.255.206:1812 to 172.31.8.172:49048 length 20Code language: JavaScript (javascript)
失敗(パスワード間違い)は次のようになりました。
$ radtest xxx@xxx.xxx zzzzzzzz radius.us.onelogin.com 0 test
Sent Access-Request Id 12 from 0.0.0.0:58247 to 52.34.255.206:1812 length 92
User-Name = "xxx@xxx.xxx"
User-Password = "zzzzzzzz"
NAS-IP-Address = 172.31.19.247
NAS-Port = 0
Message-Authenticator = 0x00
Cleartext-Password = "zzzzzzzz"
Received Access-Reject Id 12 from 52.34.255.206:1812 to 172.31.19.247:58247 length 20
(0) -: Expected Access-Accept got Access-RejectCode language: JavaScript (javascript)
OneLogin側でも上部の管理者メニュー「Activity → Events」からログを確認することができます。
下記のようにRADIUS(Test)に対する認証成功(authenticated) と認証失敗(rejected)が確認できます。
ログ(行)をクリックすると次のように詳細情報(認証成功時)も表示されます。
認証失敗時の詳細情報は下記となり、パスワード間違いで失敗していることも確認できます。
RADIUSとの接続がうまくいかない場合は、反射的にFreeRADIUSの「radtest」が使えると思います!











