![見出し画像](https://assets.st-note.com/production/uploads/images/38914483/rectangle_large_type_2_fcd0be06a8a4d53cf3fa04a3fca766e3.png?width=800)
Oktaとkintoneを連携するときのコツ
みなさん今日も元気にSAMLってますか?😸
Okta導入を始めたときにまずkintoneで検証をしたときにハマったのでその時の備忘録も兼ねて記事にしておこうと思います。
最初に知っておきたいIdPとSPの関係について
このページにあるようにkintoneはSP Initiatedとして動作しますとあります。私はこの部分を正しく認識できずにいたのでだいぶ躓いてしまいました。
SP InitiatedとはSPであるkintoneにアクセスしたときにIdPへ遷移して認証をするという流れです。
スタート地点のSPへアクセスが必要なのでIdP側をスタートとすることはできません。
逆にIdP InitiatedであればIdP側をスタートとしてSP側へ遷移することが可能です。
実際の設定方法
Okta側
ApplicationsからAdd Applicationをしkintoneを検索します。
kintone SAMLがあるのでAddしていきます。
Application labelは『kintone_SAML』としておいてDomain Nameにはkintoneへアクセスする際のサブドメインを指定します。
『kintone_SAML』アプリが追加されたら、Sign OnからView Setup Instructionsをクリックするとセットアップについて詳細な内容が表示されます。
ここで各環境に応じた設定値として下記の項目が表示されます。
・Login URL
・Logout URL
・Certificate
これらの値をkintone側へ設定し連携させるのですがLogin URLだけがSign into the Okta Admin dashboard to generate this value.と表示されます。
kintone側の必須項目なのでこれがないと完了できません。
この値は下記から確認が可能です。
Oktaのアプリ画面Sign OnにあるIdentity Provider metadataをクリックしXMLファイルの中身を表示させます。
このファイルの中に下記のようなsso/samlで終わる記述があると思います。
https://<yourdomain>.okta.com/app/kintone/xxxxxxxxx/sso/saml
これがLogin URLです。
kintone側
cybozu.com共通管理の左メニューからログインをクリックしると以下のような設定項目が表示されます。
ProviderのSSOエンドポイントURLはさきほど確認したLogin URLを、
cybozu.comからのログアウト後に遷移するURLはLogout URLをそれぞれ入力します。
また、Identity Providerが署名に使用する公開鍵の証明書については、OktaのSign OnからView Setup InstructionsにあるCertificateをクリックするとダウンロードできるのでそれをアップロードします。
これでアプリ設定はできました。
次に『kintone_SAML』を利用するユーザーをPepoleもしくはGroupでアサインします。後述する内容とも関連するのですがアサインはあらかじめGroupを作成して行ったほうが楽なのでGroupで実施することをおすすめします。
もちろんkintone側にもOktaと同じメールアドレスでユーザーが作成されている必要があります。
早速動作チェックをしてみましょう。設定に利用したブラウザとは別のブラウザもしくはシークレットブラウザで下記にアクセスします。
https://<yourdomain>.cybozu.com/
Oktaログインへ遷移すれば成功です。
最後のひと手間
次にOktaポータルからの遷移を確認してみましょう。
テストのために別のブラウザもしくはシークレットブラウザなどを利用し、アサインしたユーザーのOktaポータルにkintoneの項目からkintoneへ遷移できるか確認します。
このとき下記のようなエラーが表示されるはずです。
これはkintoneがIdP InitiatedなSSOを実現できないからとなります。
そのためOktaのブックマークアプリを作成し、SP側のログインURLを設定する必要があります。
まずApplicationsからAdd ApplicationをしBookmark Appを検索しAddします。
Application labelは『kintone』とし、URLにkintone側のURLを設定します。
アプリのアイコンが星になっているのでkintoneロゴをアップロードします。
『kintone_SAML』と同様にアプリにGroupをアサインをします。予めGroupを作っていれば人をGroupに入れるだけで『kintone_SAML』と『kintone』の両方に同時にアサインできるようになります。
このままではOktaポータルに『kintone_SAML』と『kintone』の二つが表示され、混乱を起こす原因となります。
『kintone_SAML』アプリはApplication visibilityの設定でブラウザ/モバイルアプリの両方にチェックを入れOktaポータルから非表示に設定します。
以上でSP InitiatedなkintoneをOktaポータルから問題なくアクセスできるようになりました。
念の為、シークレットブラウザなどを利用してOktaポータルの『kintone』から問題なく遷移できるかを確認してみましょう。
ちなみにkintone側の設定でミスってしまってSSOできない状態でkintoneからログアウトしてしまった場合はCybosuシステム管理者であれば下記のURLからIDとPWによるバイパスログインを行うことができます。
https://(サブドメイン名).cybozu.com/login?saml=off
それではよいSAMLライフを👋
この記事が気に入ったらサポートをしてみませんか?