このドキュメントには、Salesforce用SAML 2.0を構成するための手順(後述の「SAMLの構成」を参照)に加え、SalesforceとOktaの間でSPが起点となるSAMLを構成する方法やSalesforceで委任認証を構成する方法(任意)など、必要になる可能性のある有用な追加情報が記載されています。
現在、Okta/SalesforceのSAML統合では次の機能がサポートされます。
記載されている機能の詳細については、Okta用語集を参照してください。
こちらをクリックして、Oktaのユーザー管理設定で使用したものと同じ管理者ユーザー名とパスワードトークンでSalesforceにログインします。
次のいずれかを行います。
Salesforce Classic: [設定]>[セキュリティ管理]>[シングルサインオン設定]に移動します。
Salesforce Lightening Experience:歯車アイコンをクリックし、[設定]>[ID]>[シングルサインオン設定]に移動します。
[シングルサインオン設定]ページで[編集]をクリックします。
[SAML有効]ボックスをチェックしてSAMLシングルサインオンの使用を有効化し、[保存]をクリックします。
[新規]をクリックします。
次を入力します。
特に指示のない限り、デフォルト値をそのまま残します。
[名前]:希望する名前を入力します。
[SAMLバージョン]:2.0に設定されていることを確認します。これはデフォルトで有効になるはずです。
[発行者]:次の内容をコピーして貼り付けます。
この値は、Okta管理者ダッシュボードにサインインすると生成されます
[IDプロバイダー証明書]:次の証明書をダウンロードし、このフィールドにアップロードします。
この値は、Okta管理者ダッシュボードにサインインすると生成されます
[IDプロバイダーログインURL]:次の内容をコピーして貼り付けます。
この値は、Okta管理者ダッシュボードにサインインすると生成されます
このURLは、ユーザーがSalesforceに直接ログインを試みた場合、または、Salesforce内のディープリンクをクリックしたのに現在認証されていない場合にユーザーを認証します。これは、SPが起点となるSAML認証を有効化する際に必要になります。
[カスタムログアウトURL]:任意。次の内容をコピーして貼り付けます。
この変数は、Okta管理者ダッシュボードにサインインすると生成されます。
[API名]:希望するAPI名を入力します。
[エンティティID]:
カスタムドメインをセットアップしたときは、https://[customDomain].my.salesforce.comを使用します。
注:サンドボックス環境を構成したときは、カスタムドメインフィールドに「.sandbox」を含めません。
カスタムドメインをセットアップしていないときは、https://saml.salesforce.comを使用します。
[保存]をクリックします。
次を行います。
[ログインURL]の値を保存します
(SLOでは任意):[ログアウトURL]の値を保存します
(SLOでは任意):[メタデータをダウンロード]をクリックします
OktaでSalesforceアプリの[一般]タブを選択し、[編集]をクリックします。
カスタムドメインを使用しているときは、その値を[カスタムドメイン]フィールドに入力しますが、使用していないときは空白のまま残します。
[保存]をクリックします。
引き続きOktaでSalesforceアプリの[サインオン]タブを選択し、[編集]をクリックします。
[高度なサインオン設定]セクションまでスクロールし、前述の手順7でコピーした[ログインURL]の値を対応するフィールドに入力します。
[保存]をクリックします。
(SLOでは任意):次の手順は任意であり、SPが起点となるシングルログアウトを有効化する場合にのみ実行します。
[高度なサインオン設定]セクションまでスクロールし、手順7でコピーした[ログアウトURL]の値を対応するフィールドに入力します。
[シングルログアウトを有効にする]をクリックします。
手順7でSalesforceからダウンロードしたメタデータファイルを開きます。次に示すds:X509Certificateの値をコピーして、テキストエディターに貼り付けます。
ファイルの最初と最後に、それぞれ次の行を追加します。
-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
作成するファイルは次のようになります。
-----BEGIN CERTIFICATE----- Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -----END CERTIFICATE-----
作成したファイルにslo.certという名前を付けて保存し、[署名証明書]フィールドにアップロードします。
[保存]をクリックします。
このメタデータURLを開きます。
この値は、Okta管理者ダッシュボードにサインインすると生成されます。
次のように[IDプロバイダーシングルログアウトURL]をコピーします。
Salesforceに戻り、手順6でセットアップしたSAMLエントリを編集します。
[シングルログアウトを有効にする]チェックボックスをチェックし、対応するフィールドに[IDプロバイダーシングルログアウトURL]を貼り付けます。
[保存]をクリックします。
上記手順を完了すると、ユーザーはOktaユーザーダッシュボード上でワンクリックでSalesforceにアクセスできるようになります。OktaからSalesforceなどのクラウドアプリにログインするこのようなプロセスは、IDPが起点となるSAMLとして知られています。ただし、SPが起点となるSAMLが構成されていなければ、ユーザーがSalesforceに直接アクセスしたり、ディープリンクをクリックしたりしたときに最初にOktaではなくSalesforceにリダイレクトされるのと同じシングルサインオンエクスペリエンスは得られません。これは任意の構成です。SPが起点となるSAMLをセットアップするときは、次の手順を利用します。
SPが起点となるSAMLを使用するには、カスタマイズされた専用のドメイン名をSalesforceインスタンスにセットアップする必要があります。Salesforceでは、これはMy Domains(自分のドメイン)と呼ばれます。自分のドメインを追加する手順は次のとおりです。
Salesforceで[セットアップ]をクリックします。
[会社の設定]>[自分のドメイン]をクリックします。
orgに名前を付けて可用性を確認し、[ドメインを登録]を選択します。
この時点で、Salesforceでの新しいorg名(https://[orgname].my.salesforce.com)がインターネット上に公開され、12~24時間以内に広く利用できるようになります。これは、ブラウザーウィンドウで新しい組織名に移動することでテストできます。
新しい自分のドメインをセットアップしている間にSalesforceとOktaのシングルサインオン設定の構成に変更を加えることで、ここで説明するように、デフォルト値ではなく新しい自分のドメインを使用させることができます。
Salesforceで[セキュリティコントロールとシングルサインオン設定]に戻ります。
ページのリストで以前にセットアップした構成を特定し、[編集]をクリックします。
ここで[エンティティID]フィールドを変更します。
変更前:https://saml.salesforce.com
変更後:https://[customDomain].my.salesforce.com(上記で作成したドメインURLを使用)
OktaでSalesforce.com SAMLアプリの[一般]タブを選択し、[編集]をクリックします。
[カスタムドメイン]フィールドが、作成したカスタムドメインの名前と一致することを確認します。
例:ドメインがacme.my.Salesforce.comであれば、「acme」を入力します。
[保存]をクリックします。
引き続きOktaでSalesforce.com SAMLアプリの[サインオン]タブを選択し、[編集]をクリックします。
[ログインURL] が、Salesforceの[シングルサインオン設定]ページに示される[ログインURL]と一致することを確認します。
[保存]をクリックします。
自分のドメインが有効になると、ユーザーが特定のドメインに移動する際のデフォルトの優先認証サービスとしてOktaを指定できるようになります。
Salesforceで [ドメイン管理]>[自分のドメイン]に戻ります。
[認証構成]で[編集]をクリックします。
[認証サービス]ドロップダウンメニューで、シングルサインオン設定でセットアップしたOktaインスタンスの横のボックスをチェックします。
[保存]をクリックします。
構成が完了すると、SPが起点となるSAMLが正しく構成されていることを簡単に確認できるようになります。SalesforceドメインのURLに移動するだけで、orgのOktaサインオンページにリダイレクトされることを簡単に確認できます。Oktaへの認証にSalesforceに割り当てられているユーザーを使用すると、Salesforceへのアクセスが提供されるはずです。
注:委任認証は、SAML 2.0以外に使用できるオプション統合です。
委任認証は、Salesforceとのさまざまな統合(Microsoft Outlookプラグインなど)を可能にするだけでなく、ユーザーをSalesforceからロックアウトする機能も提供します。SAML 2.0のシングルサインオンとは異なり、委任認証はユーザーのプロファイルレベルで有効化されます。委任認証は、単一ユーザーまたは大規模なグループに対して有効化できます。すべては、[シングルサインオンを有効]権限が有効なユーザープロファイルを誰が持っているかによって決まります。
この機能はSalesforceのバージョンのどこにありますか?
このフォームは、Salesforceが組織の委任認証を有効化するまで表示できません。有効化されると、委任認証フォームはSalesforceの[シングルサインオン設定]ページ(SAML 2.0を構成するのと同じ場所)に表示されます。
Salesforceに電話して(1-800-667-6389)、組織の委任認証の有効化を依頼します。同じことは、Salesforceのカスタマーサービスアプリケーションでケースを開いて行うこともできます。
Salesforceが委任認証を有効にすると、次の手順に進めるようになります。
Salesforceの[セットアップ]>[セクションコントロール]セクションにある[シングルサインオン設定]ページに移動します。[編集]ボタンをクリックすると、次のスクリーンショットのようなフォームが表示されます。
次のURLをコピーして[委任ゲートウェイURL]フィールドに貼り付けます。
この値は、Okta管理者ダッシュボードにサインインすると生成されます[保存]をクリックします。
この機能を単一ユーザーでテストできるように、テストユーザーのプロファイルを作成することをお勧めします。この機能に慣れている場合は次のセクションに進んでください。
Salesforceの[セットアップ]>[ユーザーを管理]セクションにある[プロファイル]ページに移動します
テストするユーザープロファイルを開きます
[複製]ボタンをクリックし、このプロファイルのコピーを作成します。複製プロファイルを使用することで、元のプロファイルを利用している別のユーザーへの影響を避けることができます。
複製プロファイルに名前を付けます
[保存]をクリックします
重要:ユーザープロファイルのシングルサインオンを有効にすると、そのユーザープロファイルが割り当てられているすべてのユーザーに影響します。最初に単一ユーザーでテストするときは、複製プロファイル(上記を参照)を作成してテストすることをお勧めします。
Salesforceの[セットアップ]>[ユーザーを管理]セクションにある[プロファイル]ページに移動します
ユーザープロファイルで[編集]をクリックし、[ユーザーの権限全般]セクションまでスクロールします。
[シングルサインオンが有効]チェックボックスをチェックします
[保存]をクリックします
重要:OktaがSalesforceユーザー管理APIへの接続に使用するSalesforceユーザーの委任認証は有効にしないでください。APIユーザーは、Oktaの[Salesforceユーザー管理]タブで指定されます。
Salesforceの[設定]>[ユーザーを管理]セクションにある[ユーザー]ページに移動します
シングルサインオンを有効にするユーザーの[編集]をクリックします
委任認証によるシングルサインオンが有効な[プロファイル]を選択します(テストには複製プロファイルを使用します)
[保存]をクリックします
Oktaで[ユーザー]リストに移動し、ユーザー名をクリックしてプロファイルを表示します
[アプリケーションを割り当て]をクリックします
リストからSalesforceを選択し、委任認証が有効化されたSalesforceユーザー名を入力します
[保存]をクリックします
こちらをクリックして、Salesforceのログインページに移動します
前のセクションで使用したSalesforceユーザー名を入力します
前述のSalesforceユーザー名が割り当てられているOktaユーザーのOktaパスワードを入力します
[ログイン]をクリックします
無事にログインるとすれば、これらの資格情報は、Microsoft OutlookプラグインなどのAPIのようなSalesforceクライアントアプリケーション統合でも利用できます。
ユーザーがSalesforceにシングル サインオンする準備が整いました。
[ユーザープロファイルとタイプ]で[Salesforceポータルユーザー]を選択した場合、次のSAML属性がサポートされます。
名称 | 値 |
---|---|
portal_id | [ポータルID]フィールドから([一般]タブ) |
organization_id | [組織のID]フィールドから([一般]タブ) |
siteURL | [サイトURL]フィールドから([一般]タブ) |
SalesforceドメインURLに移動します。IDプロバイダーを使ってログインするためのオプションが表示されます。