OktaでSalesforceをSAML連携させてシングルサインオン(SSO)してみた #okta
おはようございます( ◜◡◝ )
ゲームソリューション部/業務効率化ソリューション部のきだぱんです。
日々使うSaaSやWebアプリケーションが増え、IDやパスワードの管理、そして毎回のログイン作業が面倒になっていませんか?
企業において、複数のSaaS(クラウドサービス)のIDをどう管理するかは大きな課題かと思います
この記事では、Oktaと、SalesforceをSAMLを使って連携させ、シングルサインオン(SSO) を実現してみます!
そもそもOktaとは
Oktaは、企業が従業員やパートナーのアイデンティティ管理を効率的に行い、セキュリティを強化しつつ、優れたユーザーエクスペリエンスを提供するソリューションです。
従業員やパートナー向けのアイデンティティおよびアクセス管理ソリューションで、シングルサインオン(SSO)や多要素認証(MFA)を提供し、内部ユーザーのセキュリティと効率を向上させます。
ディレクトリ統合や自動プロビジョニング機能も備え、IT管理を簡素化します。
設定していく
この記事のゴールは、「OktaのダッシュボードからワンクリックでSalesforceにログインできる」 状態を作ることです。
作業内容
- Salesforce側: SAMLを受け入れる準備(有効化)
- Okta側: Salesforceアプリを追加
- Okta側:SAML設定情報(証明書やURL)を取得
- Salesforce側:Oktaの情報をSAML設定に入力
- Okta側:Salesforceの情報をSAML設定に入力(設定の仕上げ)
- 動作確認
ではやっていきましょう!
Salesforce側でのSAML有効化
まず、Salesforce側でSAMLを受け入れる準備をします。
Salesforceに管理者としてログインします。
[設定] に移動します。
Lightning Experience: 歯車アイコン > [設定] > [ID] > [シングルサインオン設定]
[シングルサインオン設定] ページで [編集] をクリックします。

[SAML有効] のチェックボックスをオンにして、[保存] をクリックします。

Salesforceアプリケーションの追加
左側のメニューから [Applications] > [Applications] を選択します。
[Browse App Catalog] (アプリカタログを参照) ボタンをクリックします。

検索バーに「Salesforce.com」と入力し、表示された「Salesforce.com」アプリを選択します。

[Add Integration] (統合を追加) をクリックします。
一般設定 (General Settings)を入力します。
- Application label アプリの表示名です。デフォルトの「Salesforce.com」のままでも、わかりやすい名前(例: 「Salesforce (SAML)」)に変更しても構いません。
- Salesforce.com Domain Salesforceで [私のドメイン] を設定している場合、そのドメイン名(例:
acme.my.salesforce.comならacmeの部分)を入力します。不明な場合や後で設定する場合は、一旦空欄でも進められることが多いです。 - [Next] をクリックします。

サインオン設定 (Sign On Options)
Sign on methods (サインオン方法) で [SAML 2.0] が選択されていることを確認します。

設定情報を取得するために、[SAMLセットアップ手順を表示] という青いボタンのリンクをクリックします。
※このボタンをクリックすると、新しいタブまたはウィンドウが開き、Salesforce側に設定するために必要なすべての情報がまとめて表示されます。

セットアップ手順ページから情報を取得
[View SAML setup instructions] をクリックして開いたページに、必要な情報が記載されています。これをコピーまたはダウンロードします。
-
① 発行者 (Issuer)
- ページ内の [Identity Provider Issuer] (IDプロバイダーの発行者) という項目に記載されているURLをコピーします。
- (例:
http://www.okta.com/[ランダムな文字列])
-
② IDプロバイダーログインURL (Identity Provider Login URL)
- ページ内の [Identity Provider Single Sign-On URL] (IDプロバイダーのシングルサインオンURL) という項目に記載されているURLをコピーします。
- (例:
https://[あなたの組織名].okta.com/app/salesforce/[ランダムな文字列]/sso/saml)
-
③ IDプロバイダー証明書 (Identity Provider Certificate)
- ページ内の [X.509 Certificate] (X.509証明書) という項目に、証明書をダウンロードするためのリンク(または証明書データ本体)があります。
- リンク(通常
.certファイル)をクリックして、証明書ファイルをダウンロードします。これは後でSalesforceにアップロードします。
-
④ (任意)IDプロバイダーログアウトURL (Identity Provider Logout URL)
- シングルログアウト(SLO)を設定する場合に使用します。
- ページ内の [Identity Provider Single Logout URL] (IDプロバイダーのシングルログアウトURL) という項目に記載されているURLをコピーします。
これで、Salesforce側のSAML設定に必要なOktaの情報がすべて揃いました。
この手順で取得した①〜③(必要なら④)の情報を、次のステップであるSalesforce側の [シングルサインオン設定] 画面で入力していきます。
Salesforce側でのSAML設定(Okta情報の入力)
Salesforceに戻り、Oktaの情報を設定します。
[シングルサインオン設定] ページで、[新規] をクリックします。
以下の情報を入力・設定します。
名前 任意のわかりやすい名前(例: "Okta SSO")
SAMLバージョン 2.0
発行者 Okta側で取得した 発行者 (Issuer) の値を入力します。
IDプロバイダー証明書 Okta側でダウンロードした 証明書 をアップロードします。
IDプロバイダーログインURL Okta側で取得した IDプロバイダーログインURL を入力します。
カスタムログアウトURL (任意)Okta側で取得した IDプロバイダーログアウトURL を入力します。
エンティティID
Salesforceでドメインを設定している場合: https://[あなたのカスタムドメイン].my.salesforce.com
その他の項目は、必要に応じて設定します。
[保存] をクリックします。
それぞれの情報は先ほどのページに載ってます!便利!


保存後、作成されたSAML設定の詳細ページが表示されます。このページに記載されている [ログインURL] (Salesforce側で生成されるURL) をメモしておきます。

Okta側でのSAML設定(Salesforce情報の入力)
Oktaの管理者ダッシュボードに戻り、Salesforceの情報を設定します。
OktaのSalesforceアプリ設定([サインオン] タブなど)を開きます。
[高度なサインオン設定] (Advanced Sign-On Settings) などのセクションを編集します。
Salesforce側でメモした [ログインURL] を、Okta側の対応するフィールド(通常 "Login URL" や "ACS URL" に関連する項目)に入力します。

[保存] をクリックします。
ユーザーを割り当てます。

準備完了です!
動作確認
Oktaのユーザーダッシュボードにログインし、Salesforceアプリのアイコンをクリックして、Salesforceに自動的にログインできることを確認します。
Salesforceを選択します。

認証してますね、ドキドキ。

問題なく入れました!やったぜ!

さいごに
今回は、OktaとSalesforceのSAML連携(SSO)設定を行う手順を解説しました。
ユーザーはOktaのダッシュボードからワンクリックでSalesforceにアクセスできるようになり便利になりましたね!
SAMLと合わせてプロビジョニング(Oktaでのユーザー作成・更新をSalesforceに自動反映)なども設定すると、さらに運用が楽になります!
Oktaについてのブログも多数展開されていますので、ぜひこちらもご覧ください。
この記事がどなたかのお役に立てば幸いです。
以上、きだぱんでした!






