Got Some \W+ech?

Could be Japanese. Could be English. Android, セキュリティ, 機械学習などをメインに、たまにポエムったり雑感記載したりします。

LastPass EnterpriseにAzure AD経由でSSOできるようになった話

TLDR

LastPass Entepriseに対してAzure ADからOIDCできるようになった

序文

企業でパスワードManager使ってますよね? え?使ってない?じゃあ、このブログ読んでる場合じゃないので、とりあえず導入してきてください。

さて、IdPを導入しようが、SSO対応してないwebサイトや、そもそもWeb以外のパスワードを要するシステムなんてものは星の数ほどあります。 そういったパスワードを運用するに際に、我々人類は「パスワードは使い回すな!複雑なものを使え!」といった敎育をされてきました。 もちろん、人類の脳みそは有限なので、そこへの負担を軽減するパスワードマネージャーは、企業活動には必須アイテムです。

パスワードマネージャーの課題(の1つ)

大抵のパスワードマネージャーは、作る・保存する・共有するといった欲張り3点セットを備えていて大変よろしいのですが、厄介な点が1つありました。 それは、パスワードマネージャーそのものにパスワードを要することです。 パスワードマネージャーの認証に通らないと管理されたパスワードにアクセスできないなんてのはそりゃそうなんですが、IdPを用意する(べき)エンタープライズ内の管理者と利用者にとって、パスワード管理とMFAせにゃならんサービスが1つ増えるだけであって、そこについてはちっとも嬉しくありません。

ところが、そんなシステム管理者の気持ちをよそにパスワードマネージャーはIdPへの昇格をもくろんでいたのか、かたくなにIdPからのフェデレーション機能の実装を拒んできました。むしろパスワードマネージャーからIdPへのフェデレーションをする機能に力を注いでいた気配すらします。

ちなみにパスワードマネージャーの1つであるDashlaneはSAML 2.0使えますが、そもそも彼らはSOC2 Type IIをとってなかったりで、エンタープライズに利用できるかというとチョット...

LastPass Took a Step Forward

しかし、私が所属している企業が導入したLastPass Enterpriseでは、そんな状況を打破するような機能をリリースしました。それが、待望のIdPからのOIDC連携です。現時点ではAzure ADしかサポートされていませんが、まあ当社はAzure ADにしてるから全く問題ありません。やったぜ。

流れ

GIFを貼ろうとしたところHatenaではエラーがでたので、スクショでお見せします。

f:id:kengoscal:20190917224341p:plain
エクステンションからメアドを入力する

f:id:kengoscal:20190917224428p:plain
AzureADログイン画面にリダイレクト

f:id:kengoscal:20190917224456p:plain
え、まだyubikeyつかってないんですか?

f:id:kengoscal:20190917224536p:plain
パスワードレスログイン最高

f:id:kengoscal:20190917224611p:plain
フェデレーションされてLastPassもログイン完了

このようにAzure ADと組み合わせることで、LastPassにSSOできます。 また、Azure ADはパスワードレス認証(あまり好きな言い方ではないのだが...)もサポートしているため、 人間が覚えるべきパスワードを極限まで減らせます。最高。

さらに、LastPassの素晴らしいところは、どのユーザーにフェデレーションを適用するかを管理者側で選択できることです。 つまり、Administratorだけ除外しておけば、仮にAzure ADが落ちてフェデレーションできなくなったとしても、LastPassを継続利用するためのバイパス経路を用意できます(賛否両論あり)。

また、ユーザーの適用先が選択できるということは、段階的なリリースが可能になります。手順書などの不備やエッジケースが見つけやすくなります。

こういう細かいケアがあるのが嬉しいですね。

方法

手順は公式に用意されているので、そちらをご参照ください。

Set Up Federated Login for LastPass Enterprise Using Azure Active Directory

その他

LastPassのエクステンションに脆弱性があったというニュースがありますが、ちゃんと脆弱性発見者とコラボして修正・リリース、リリースされたものはエンドユーザー側で自動更新されるので、ブラウザ側であえて自動更新をオフるみたいなことしない限り何も問題ないと思います(LastPass脆弱性があったことだけをもって、騒がれないように)。

その他2

Response Type 「token id_token」なImplicit Grantなんだよなぁ...