ラベル IDaaS の投稿を表示しています。 すべての投稿を表示
ラベル IDaaS の投稿を表示しています。 すべての投稿を表示

2018年8月18日土曜日

SKUID を試してみた

概要

SKUID は GMO さんが提供する IDaaS (Identity as a Service) です
様々なサービスのアカウントとパスワードを SKUID で登録することで SKUID にログインするだけで登録したサービスにアクセスできるようになります
今回は登録から基本的な使い方まで試してみました

環境

  • macOS 10.13.6
  • SKUID (2018/08/09 時点)

アカウント登録

まずはアカウント登録をしましょう
企業情報などが必要になりますが、個人で利用の場合はダミーの情報でも大丈夫です
skuid1.png

次の画面で入力情報を確認しましょう
問題なければ登録します
仮登録のメールが登録したアドレスに届くのでチェックしてください
記載の URL をクリックすれば本登録完了です

アプリを追加する

企業 ID とメールアドレス、パスワードを使ってログインしましょう
skuid2.png

するとアプリを追加する流れになるので追加します
執筆時点では 4015 ほどアプリがありました
skuid3.png

今回は Twitter を選択しました
ブラウザですでに Twitter ログインしている場合は一旦ログアウトしましょう

Twitter にログインする情報を登録します
これで Twitter アプリの登録が完了します
skuid4.png

SKUID の Chrome 拡張を入れましょうという画面になるので素直にインストールしましょう
skuid5.png

SKUID はアカウント単位と組織単位でアプリを追加することができます
上記の作業はアカウントに対してアプリを追加しました
組織単位でアプリを追加すると組織に属するアカウントは自動的に組織に追加したアプリを利用することができるようになります (要するに個人で追加する必要がなくなる)

試してみる

とりあえずアプリがインストールされた Twitter アプリを選択してみましょう
skuid6.png

するとアプリに登録した Twitter のログイン情報を使って勝手に Twitter にログインしてくれます
(一瞬ログイン画面が表示されてフォームに情報を入力している感じがするので裏側では直接ブラウザを操作しているのかもしれません)
なので、ユーザは Twitter のアカウントとパスワードをわざわざ入力する必要がありません

なお、すでに別のユーザで Twitter にログインしているとアプリを選択してもアプリに登録したユーザで Twitter にログインできません
すでにログインしているユーザが優先されてしまうので SKUID からログインしたい場合はちゃんとログアウトしておきましょう

次に Chrome 拡張からログインしてみました
ツールバーにあるイカのアイコンを選択すると登録しているアプリが表示されるので Twitter のアイコンを選択してみましょう
skuid7.png

するとブラウザのときと同様にログインが行われます

メンバーを追加してみる

次に組織にメンバーを追加してみましょう
メンバーの追加は管理者権限を持つメンバーがダッシュボードから追加することができます (メンバーの一覧からも追加することができます)
skuid8.png

個別追加か一括追加を選択できます
今回は個別追加を選択します
一括追加は指定のフォーマットの CSV をアップロードすることで登録できるようです
skuid9.png

名前とメールアドレスを入力します
部署と権限を設定します
skuid10.png

あとは内容を確認して問題なければ「登録」しましょう
メールアドレスに SKUID に登録するための招待 URL が送られるのでそこからユーザ登録しましょう
登録する流れは冒頭の「アカウント登録」で紹介した内容と全く同じです
登録したらログインしてみましょう

管理者権限を持つメンバーでダッシュボードを確認するとメンバーが増えているのがわかると思います
skuid11.png

組織にアプリを追加する

組織にアプリを追加し、そのアプリを使うメンバーを追加することでメンバーのアプリの管理を管理者ができるようになります
組織にアプリを追加するにはダッシュボードのアプリの一覧から行います
「アプリ登録」を選択しましょう
skuid12.png

今回も Twitter を登録します
どうやら組織に登録できるアプリのほうが数が多いようです
とりあえず「Twitter パスワード認証」を選択しましょう
skuid13.png

企業アプリの場合 ID/PW などは設定せずただ登録するだけです
ID/PW の設定は各メンバーが行います
skuid14.png

アプリを使用するメンバーを登録する

企業アプリは登録しただけでは使えません
そのアプリを使うメンバーを指定する必要があります
先ほど登録下 Twitter アプリを選択し「メンバー追加」を選択します
skuid15.png

追加するメンバーを選択し登録しましょう
ここでメンバーを選択することでアプリの ACL 的なことが可能になります
skuid16.png

これでメンバーの登録アプリ一覧に行くと Twitter アプリが追加されています
ただまだ ID/PW の登録を行っていないのでグレースケールになっています
skuid17.png

アプリを選択すると ID/PW の画面になるので自身の ID/PW を登録することでメンバーごとの Twitter アカウントでログインすることができるようになります

グループを作成する

グループを追加することで先ほどメンバー単位でアプリへの使用権限を追加しましたが、これがグループ単位でできるようになります
追加は簡単でグループの一覧から「グループ追加」するだけです
skuid18.png

あとはグループの名前と説明を入力しましょう
skuid19.png

作成されたグループにはメンバーはいません
グループの一覧からグループを選択し「メンバー追加」することでメンバーを追加することができます
skuid20.png

レポート機能

レポートはメンバーの登録やグループの登録、アプリの登録など操作の履歴を確認することができます

ダッシュボードの左メニューから「レポート」で確認することができます

サードパーティ連携機能

アプリの種類もそうですが、このサードパーティの機能の充実っぷりがどうかによって IDaaS の優位性が出るかどうか決まると思っています
SKUID の場合無料のプランではほとんどの機能が使用できませんでした
skuid21.png

AD 連携や SAML 認証などメジャーどころは有料で申し込めば使えるようになります
各サービスとの SAML 認証の設定方法などは参考サイトに記載のドキュメントが一番わかりやすいと思います

また細かい設定としてロゴの変更やメンバーのアプリ登録などの ACL を変更することも可能です

最後に

IDaaS である SKUID を試してみました
無料で試せるので興味があれば触ってみると良いかなと思います
サードパーティ連携の機能がほぼ有料で触れなかったのは残念でした

UI はかなりわかりやすく作られていたかなーと思います
操作中はほぼ躓くこと無くやりたいことができたと思います

ただ退会することができなかったのでそれが微妙かなと思いました
公式にはオプションを有効にしない限り無料なので退会の必要はありませんとあり確かにそうなんですが退会できても良いかなと思いました

参考サイト

2018年8月17日金曜日

Onelogin を試してみた

概要

Onelogin は Onelogin 社が提供する IDaaS (Identity as a Service) です
フリートライアルであれば無料で使えるので試してみました
登録方法から紹介します

環境

  • macOS 10.13.6
  • Onelogin (2018/08/09 時点)

フリートライアルで登録する

このページから登録しましょう
必要な情報を入力して登録します
フリートライアル中は使える機能が制限されています
onelogin1.png

登録するのに「企業ドメインのメールアドレス」が必要になります
要するに @gmail.com などは使えません
試しにやってみましたがエラーになりました
おそらく簡単なチェックしかしていないので自分はメールサーバを立てて自分のドメインを割り当てて、そのメールアドレスで登録しました
おそらくここが一番の難関かもしれません

すぐに管理者のパスワードを設定する画面になるのでパスワードを設定しましょう

パスワードの設定が完了しログインすると以下のような画面になります
onelogin2.png

Onelogin 用の ChromeExtension をインストールする

「INSTALL ON CHROME」を選択して素直にインストールしましょう
onelogin3.png

アプリを登録する

次にアプリをインストールしてみましょう
Onelogin の場合アプリを登録するのは対象のサイトに行くだけで OK です
onelogin4.png

今回は Twitter アプリをインストールしてみます
ブラウザでそのまま Twitter のサイトに行ってログインしましょう
すると Onelogin のエクステンションが反応してアプリを追加するかダイアログが表示されます
onelogin5.png

個人かドメインどちらにアプリをインストールするか聞かれるので今回はドメインに対してインストールしました
ドメインに対してインストールするとドメインに属するすべてのユーザがアプリを使えるようになります
onelogin6.png

ユーザを追加する

最後にユーザを追加します
ユーザの追加は ActiveDirectory などの IDP からインストールすることができます
また手動で追加することもできます
onelogin7.png

ActiveDirectory 連携はトライアル期間では使用できませんでした
onelogin8.png

今回は手動で 1 人追加してみました
同一企業ドメインでのメールアドレスが必要になるので作成しましょう
onelogin9.png

メールアドレスや企業名、マネージャなどは不要でした
あとは「MORE ACTIONS」から「Send Invitation」を選択しましょう
すると招待メールが届くはずです
onelogin10.png

メールに記載のアドレスにアクセスするとパスワードの設定画面になるので設定しましょう
onelogin11.png

これで新規ユーザの登録は完了です
ログイン画面が出るのでログインできるか確認しましょう
ログインできれば新規ユーザのアプリ一覧が表示されます
onelogin12.png

まだ何もアプリがない場合はアプリを使えるようにアプリに対してユーザを追加する必要があります
ユーザをアプリが使えるように追加する手順は次に紹介します

ユーザにアプリを追加する

スコープをドメインレベルで追加したアプリはユーザを追加することで使えるようになります
「Users」->「All Users」でユーザの一覧を表示します
そしてアプリを追加するユーザを選択します
ユーザの設定画面から「Applications」を選択します
onelogin13.png

「+」ボタンを押すとドメインに登録したアプリの一覧がプルダウンから選択できます
今回は先ほど登録した Twitter アプリを選択し「CONTINUE」します
すると Twitter の認証情報を登録する画面になります
今回はユーザに認証情報を登録させたいので何も入力せずに次に進みます
onelogin15.png

これでユーザ側のポータル画面を見ると先ほどなかったアプリが追加されているのが確認できると思います
onelogin16.png

これでユーザがアプリを選択すると先ほど設定していなかった ID/PW を設定することができます

オプション機能

https://www.onelogin.com/product/pricing

今回はトライアルなので基本的な機能しか使えません
onelogin18.png

UNLIMITED (月ユーザ一人あたり 8 ドルのプラン) に申し込めばすべての機能が使えるようになります
onelogin17.png

例えば SAML 認証と連携したい場合は「Custom Connectors」が使えないとダメです
なので最低でも「Enterprise」プランの申込みが必要です

OpenID Connect のエンドポイントもあるようでこれであればトライアルプランでも使えるかもしれません

最後に

Onelogin のトライアルを試してみました
基本的な操作はブラウザエクステンションを導入して各サイトの ID/PW をガンガン記憶されていく感じです
ユーザの追加などはトライアルだと手動でやるしかありません

機能は IDaaS の中でもかなり豊富な方だと思います
が、使用するには有料のプランに申し込む必要があるので個人用途の検証レベルだと厳しいかなと思います
1 ヶ月だけということであればまぁ何とかなるかなと思います

UI はかなり操作しやすかったです
インタフェースは UI 以外に API もあるので自動化もできると思います

参考サイト

2018年8月16日木曜日

Python で Okta の SAML 認証が動作するサンプルアプリを作成してみた

概要

Okta のトライアル期間であれば SAML 認証が試せたので Python アプリを構築して確認してみました
Python は 2 系を使います
(おそらく Python3 では動作しないと思います、自分が試した感じ動作しませんでした)

環境

  • macOS 10.13.6
  • Okta (2018/08/13 時点)
  • Python 2.7.15

Python 用のアプリケーション作成

まずは Okta 側にアプリケーションを登録します
管理者権限のあるユーザでログインし管理画面から「Applications」を開きます
そして「Add Application」を選択します
okta_python_app_saml4.png

一覧から選択せずに「Create New App」で作成します
okta_python_app_saml5.png

「Sign on method」で SAML 2.0 を選択します
okta_python_app_saml6.png

アプリの名前を設定します
今回は「PySAML2 Example」とします
okta_python_app_saml7.png

SAML 認証に必要なアプリ側の URL を設定します
今回は

  • Single sign on URL・・・http://localhost:5000/saml/sso/example-okta-com
  • Audience Restriction・・・http://localhost:5000/saml/sso/example-okta-com

とします
また Single sign on URL の「Use this for Recipient URL and Destination URL」にチェックを入れます
okta_python_app_saml8.png

同じ画面のすぐ下に Attribute を設定できる画面があるので 3 つ追加します

  • FirstName・・・user.firstName
  • LastName・・・user.lastName
  • Email・・・user.email

okta_python_app_saml9.png

アプリがどういったタイプなのか設定します
今回はテストアプリなので「I’m an Okta customer adding an internal app」にチェックしかつ「This is an internal app that we have created」にチェックし内部で使用するアプリである設定にします
okta_python_app_saml10.png

これでアプリの作成ができました
Identity Provider metadata というリンクがあり XML が表示されます
この URL をコピーしておきましょう
okta_python_app_saml11.png

アプリを追加しただけでは使えません
アプリに対してユーザをアサインすることで対象のユーザで認証できるようになります
「Assignments」->「Assign」->「Assign to People」で追加します
okta_python_app_saml12.png

一覧から追加したいユーザを選択してアサインしましょう
okta_python_app_saml13.png

アサインが完了するとユーザが一覧に表示されるようになります
このユーザでアプリの認証ができるか確認します
okta_python_app_saml14.png

サンプルアプリ構築

今回は Python アプリを構築します
公式が

必要なライブラリのインストール

  • brew install libffi libxmlsec1

アプリの設定

59 行目あたりの metadata_url_for の部分を以下のように書き換えます
事前にコピーしておいた metadata 取得用の URL に変更します

metadata_url_for = {
    'example-okta-com': 'https://{yourOktaDomain}/app/a0b1c2deFGHIJKLMNOPQ/sso/saml/metadata'
}

URL の部分はサンプルなので各自の環境に書き換えてください

virtualenv 構築、PySAML2 のインストール

  • cd okta-pysaml2-example
  • virtualenv venv
  • source venv/bin/activate
  • pip install -r requirements.txt

アプリ起動

  • python app.py

動作確認

localhost:5000 にアクセスしましょう
example-okta-com をクリックすると認証画面が表示されます
okta_python_app_saml1.png

Okta に登録してありかつ PySAML2 Example アプリにアサインしてユーザでログインしましょう
okta_python_app_saml2.png

成功するとアプリのログイン後の画面が表示されます
okta_python_app_saml3.png

最後に

Okta の SAML 認証連携機能を試してみました
今回は Python で試しましたが他の言語でもライブラリが提供されているのでアプリに組み込むことはできると思います

これを使うことで Okta にある ID/PW を使って自分のアプリを認証させることができるようになります
Okta には ActiveDirectory と連携する機能もあるので例えばオンプレの AD サーバの情報を Okta にインポートしてから SAML 連携すれば既存の AD の認証情報を使った認証機構を作成することもできます

要するに Okta が Idp となり認証情報を提供してくれる感じです
クラウド上で認証情報を管理することができるようになるのでオンプレの環境が不要になり管理コストが減るなどのメリットがあるかなと思います

参考サイト