こんにちは!たつみんです。
先日お客様よりOktaとWorkatoのSAML設定についてご相談を受け苦戦したので設定手順を記事にします。
はじめに
苦戦したポイントとしてお客様が利用しているWorkatoテナントが日本データセンターにあり、OktaのOINカタログアプリは利用できずゼロベースで設定を行う必要がありました。
Workatoのデータセンターについては以下をご参照ください。記事執筆時は米国データセンター以外にEU、シンガポール、日本にデータセンターが存在します。
ちなみにどのデータセンターを利用しているかはWorkatoのURLにて判別が可能です。日本データセンターの場合はURLがhttps://www.jp.workato.com/
となっておりサブドメインにjp
が含まれています。EUデータセンターの場合はeu
、シンガポールデータセンターの場合はsg
が含まれています。
設定内容
基本的には以下の内容を参考に進めますが記載の内容では一部うまくSSO認証が挙動しなかったため変更をしています。
- Workatoの管理画面へ移動しSettingsを開きます。
- Authentication methodをSAML based SSOを選択します。
- SAML providerはOther SAML IdPを選択します。
※選択肢にはOktaもありますが次のService provider (SP) entity IDの出力に影響があるためOther SAML IdPを選択する必要があります。 - Service provider (SP) entity IDをコピーしておきます。
- Okta管理画面Applications>ApplicationsからCreate App Integrationをクリックします。
- Create a new app integrationでSAML 2.0にチェックを入れ、Nextをクリックします。
- App nameにわかりやすい名前を入力し、Nextをクリックします。
- Single sign-on URLにhttps://app.jp.workato.com/saml/initを入力します。
- Audience URI (SP Entity ID)に、手順4.でコピーをしておいたService provider (SP) entity IDを入力します。
- Show Advanced Settingsをクリックします。
- Other Requestable SSO URLsのAdd Anotherをクリックします。
- 表示されたURL部分にhttps://app.jp.workato.com/saml/consumeを入力し、Nextをクリックします。
この時Indexは入力しなくとも問題ありません。保存時に値として0が指定されます。 - 最後の画面でSaaSベンダーかどうか聞かれるためI’m an Okta customer adding an internal appを選択し、Finishをクリックします。
- Sign onタブ内のView SAML setup instructionsをクリックします。
- 以下のような設定値が表示されます。
- Workatoの管理画面に戻りDo you have your identity provider metadata URL?でNoを選択します。
- Identity provider single sign-on URLに手順15.で表示されたIdentity Provider Single Sign-On URLを入力します。
- Identity provider issuerに手順15.で表示されたIdentity provider issuerを入力します。
- X.509 certificateに手順15.で表示されたX.509 Certificateを入力します。
- 最後にValidate settingsをクリックし、validと表示されることを確認しSaveをクリックします。
- OktaでユーザーをアサインしSSOできることを確認します。
- 必要に応じてWoarkato側の設定でEnable SAML JIT provisioningやEnforce SAML authenticationをOnにします。
以上で設定は完了です。
最後に
設定方法をまとめると単純な内容なのですがOINカタログアプリからは作成できない点やWorkato側でOther SAML IdPを選択する箇所などにだいぶ翻弄されました。
OINカタログはUSデータセンターであるhttps://www.workato.com/
の場合しか利用できないため、今後はOINカタログアプリがアップデートされ、その他のデータセンターの場合でも対応できるようになるとずいぶんと楽になるのではないかと思います。
それではまた別の記事で?