内部ユーザーのシングルサインオンの設定
学習の目的
- 統合 ID を作成する。
- サードパーティ ID プロバイダーからのシングルサインオンを設定する。
- SAML 要求のトラブルシューティングに使用するツールを認識する。
シングルサインオン
- パスワードの管理に費やす時間が減少する。
- 従業員が Salesforce に手動でログインする必要がなければ、従業員の時間が節約される。ユーザーがオンラインアプリケーションにログインするまでに 5 ~ 20 秒かかっていることをご存知でしたか? 塵も積もれば山となります。
- Salesforce の利用者が増える。ユーザーは Salesforce レコードおよびレポートへのリンクを送信でき、受信者はワンクリックで開くことができます。
- 機密情報へのアクセスを 1 か所で管理できる。
この単元では、ユーザーが別のところ (オンプレミスアプリケーションなど) でログインし、その後 Salesforce にログインなしでアクセスする、インバウンド SSO の設定方法について説明します。また、ユーザーが Salesforce にログインし、その後他のサービスに再度ログインすることなくアクセスする、アウトバウンド SSO も設定できます。このトピックについては他のモジュールで取り上げます。
MFA の注意事項
最初の単元で取り上げた MFA 要件を覚えていますか? SSO ユーザーにもこの要件が適用されます。従業員がオンプレミスアプリケーションや SSO ID プロバイダーを使用して Salesforce にアクセスする場合も、最初に MFA を完了する必要があります。
ここでは、SSO ユーザーに MFA を適用する方法について説明しませんが、簡単に実行する方法があります。Salesforce に付属の MFA サービスを SSO 設定に使用する場合は、Salesforce ヘルプの「SSO での Salesforce MFA の使用」を参照してください。また、SSO プロバイダーの MFA サービスを利用する場合は、ユーザーが Salesforce にアクセスするときではなく、プロバイダーにログインするときに MFA を必須にすることもできます。
サードパーティ ID プロバイダーを使用したインバウンド SSO の設定
サードパーティ ID プロバイダーを使用したインバウンド SSO の設定を始めましょう。
IT 部門の Sean Sollo 部長から、Salesforce ユーザーに SSO を設定し、Jedeye ネットワークのログイン情報を使用して Salesforce 組織にログインできるようにすることを指示されます。ここでは、Jedeye Tech の新入社員である Sia Thripio の SSO を設定する手順を見ていきます。Axiom Heroku Web アプリケーションを ID プロバイダーとしてインバウンド SSO を設定します。
難しそうですか? そんなことはありません。細かいステップに分割して見ていきましょう。
- 各ユーザーの統合 ID を作成します。
- Salesforce で SSO の設定を行います。
- SSO プロバイダーで Salesforce の設定を行います。
- すべてが機能することを確認します。
ステップ 1: 統合 ID を作成する
統合 ID といっても、統合された組織の ID ではありません。基本的に、ID 業界が一意のユーザー ID に対して用いる用語です。
通常は、ユーザーアカウントを設定するときに統合 ID を割り当てます。本番環境に SSO を設定するときは、Salesforce データローダーなどのツールを使用して一度に多数のユーザーに統合 ID を割り当てることができます。ここでは、Jedeye Technologies の新入社員である Sia Thripio のアカウントを設定することにします。
- [設定] から、[クイック検索] ボックスに
Users
と入力し、[ユーザー] を選択します。 - Sia の名前の横にある [編集] をクリックします。
- [シングルサインオン情報] で、統合 ID に
「sia@jedeye-tech.com」
と入力します。ヒント: 統合 ID は、組織内のユーザーごとに一意でなければなりません。ユーザー名が便利なのはこのためです。他方、ユーザーが複数の組織に属している場合は、各組織でユーザーの同じ統合 ID を使用します。 - [保存] をクリックします。
ステップ 2: Salesforce に SSO プロバイダーを設定する
Salesforce 側で、SAML 設定を行います。SAML は、Salesforce Identity が SSO の実装に使用するプロトコルです。
ヒント: Salesforce 開発組織と Axiom アプリケーションの両方で作業します。この 2 つをそれぞれ別のブラウザーウィンドウで開いた状態にして、両者間でコピーアンドペーストできるようにします。
- 新しいブラウザーウィンドウで、https://axiomsso.herokuapp.com にアクセスします。
- [SAML ID プロバイダーとテスター] をクリックします。
- [ID プロバイダーの証明書をダウンロード] をクリックします。この証明書は後で Salesforce 組織にアップロードするため、保存先を覚えておきます。
- Salesforce 組織で、[設定] の [クイック検索] ボックスに
Single
と入力し、[シングルサインオン設定] を選択します。 - [編集] をクリックします。
- [SAML を有効化] を選択します。
- [保存] をクリックします。
- [SAML シングルサインオン設定] で、
- [新規] をクリックします。
- 次の値を入力します。
- 名前:
Axiom Test App
- 発行者:
https://axiomsso.herokuapp.com
- ID プロバイダーの証明書: ステップ 3 でダウンロードしたファイルを選択します。
- 署名要求メソッド: [RSA-SHA1] を選択します。
- SAML ID 種別: [アサーションには、ユーザーオブジェクトの統合 ID が含まれます] を選択します。
- SAML ID の場所: [ID は、Subject ステートメントの NameIdentifier 要素にあります] を選択します。
- サービスプロバイダーの起動要求バインド: [HTTP リダイレクト] を選択します。
- エンティティ ID: [私のドメイン] の URL を入力します。これは [私のドメイン] の [設定] ページに表示されています。エンティティ ID には「https」が含まれており、Salesforce ドメインを参照していることを確認してください。https://mydomain-dev-ed.my.salesforce.com のようになります。
- 名前:
- [保存] をクリックし、ブラウザーのページは開いたままにします。
ステップ 3: ID プロバイダーを Salesforce にリンクする
以下の Axiom フォームの数項目に値を入力します。簡単でしょう。Salesforce の SSO 設定を指定しているため、Salesforce 用と Axiom 用の 2 つのブラウザーウィンドウを開いたままにします。
- Axiom Web アプリケーションに戻ります。このアプリケーションがブラウザーウィンドウで開いていない場合は、https://axiomsso.herokuapp.com にアクセスします。
- [SAML ID プロバイダーとテスター] をクリックします。
- [SAML レスポンスを生成] をクリックします。
- 次の値を入力します。他の項目はそのままにします。
- SAML バージョン: 2.0
- ユーザー名または統合 ID: Sia の Salesforce ユーザーページから取得した統合 ID
- 発行者:
https://axiomsso.herokuapp.com
- 受信 URL: Salesforce SAML の [シングルサインオン設定] ページから取得した URL。どこにあるかわかりますか? ページ下部 (の [エンドポイント] セクション) に [ログイン URL] という表示ラベルがあります。
- エンティティ ID: Salesforce SAML の [シングルサインオン設定] ページから取得したエンティティ ID
終了すると、Axiom の設定ページが次のようになります。
ステップ 4: 正常に機能することを確認する
- Axion 設定のブラウザーウィンドウで、[SAML レスポンスを要求] をクリックします(このボタンはかなり下の方にあります)。
- Axiom により XML の SAML アサーションが生成されます。砂漠の基地にある水分蒸発器とのロボット通信に使われる言語のようですか? もう一度見てください。すべてが不可解なコードではないことがわかります。XML をスクロールして、必要な情報を見つけます。
- [ログイン] をクリックします。
正常に機能している場合は、Salesforce ホームページで Sia としてログインしています。Axiom アプリケーションから、割り当てられた統合 ID を使用して、Salesforce 組織にユーザーとしてログインできます。
お疲れさまでした。別のアプリケーションから Salesforce にアクセスするユーザーの Salesforce SSO を設定しました。演壇に上がってバッジを受け取ってください。