OpenAMとSalesforceのSAML連携


目次

このページではOpenAMをIdPとし、SalesforceをSPとしてSAML連携させる方法を説明します。

事前準備

IdP構築

OpenAMはIdPとして構築が済んでいるものとします。
OpenAMのメタデータを出力し、保存しておきます。

ユーザー情報の確認

OpenAM側とSalesforce側に同じ名前のユーザーが登録されている必要があります。
OpenAMに登録されているユーザーの「汎用ID」とSalesforceに登録されているユーザーの「統合ID」が一致していることを確認して下さい。

OpenAMのユーザー情報は管理コンソールの「(レルム名)」→「対象」から確認できます。 OpenAMの汎用ID Salesforceのユーザー情報は管理者アカウントの「ユーザ」→「ユーザ」→「(ユーザー名)」をクリックすると確認できます。 Salesforceの統合ID

Salesforce側の設定

SAMLでのログインを有効化

「ID」→「シングルサインオン設定」を開きます。
「編集」をクリックし、「SAMLを有効化」にチェックを入れてから「保存」をクリックします。 SAMLを有効化

IdPの登録

「ID」→「シングルサインオン設定」を開きます。
「参照」をクリックし、OpenAMのメタデータをアップロードします。 OpenAMのメタデータを登録

アップロードが完了すると、Salesforce側の挙動を設定する画面にうつります。
この画面で以下の設定を行います。

  1. 「名前」に任意の名前を設定します。この名前が後の設定時に表示されます。
  2. 「SAML ID種別」は「アサーションには、ユーザオブジェクトの統合IDが含まれます」を選択します。
  3. 「SAML IDの場所」は「IDは、SubjectステートメントのNameIdentifier要素にあります」を選択します。
  4. 「サービスプロバイダの起動要求バインド」は「HTTPリダイレクト」を選択します。
  5. 「シングルログアウトを有効にする」のチェックを外します。

「保存」をクリックして設定した内容を保存します。
「メタデータのダウンロード」をクリックし、Salesforceのメタデータを保存しておきます。このメタデータは後にOpenAMにSalesforceの情報を登録する際に使用します。

ログイン方法の変更

「会社の設定」→「私のドメイン」→「認証設定」→「編集」をクリックします。
「認証サービス」の「ログインフォーム」のチェックを外し、先ほど設定した名前の方にチェックを入れて「保存」をクリックします。 ログイン方法の変更

これでログイン時にSalesforceの認証フォームではなく、SAMLでの認証が行われるようになります。
以上でSalesforce側の設定は完了です。

OpenAM側の設定

SPの登録

管理コンソールを開き「連携」→「エンティティのインポート」をクリックします。 エンティティのインポート

「レルム名」の選択欄でサービスを利用するレルムを選択します。
「メタデータはどこに存在しますか?」は「ファイル」を選択し、「アップロード」をクリックしてSalesforceのメタデータをアップロードします。
「了解」をクリックするとSalesforceのデータが登録されます。 Salesforceのメタデータを登録

SPをトラストサークルに追加

「(トラストサークル名)」をクリックします。 トラストサークルを選択

「選択可能」の欄にあるSalesforceのエンティティIDを選択し(「私のドメイン」のURLが設定されます)、「追加」をクリックします。
「保存」をクリックして変更を反映します。 トラストサークルに追加

ユーザー情報のマッピングの設定

「連携」に戻り、「エンティティプロバイダ」のOpenAMのエンティティIDをクリックします。 OpenAMのエンティティを選択

NameID 値マップに「urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified=uid」を追加します。 既に設定されている場合はこの作業は不要です。

  • 「urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified=」を選択し「削除」をクリックします。
  • 「新しい値」に「urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified=uid」を入力し「追加」をクリックします。

「保存」をクリックして変更を反映します。 NameIDマッピング値の変更

以上でOpenAM側の設定は完了です。

実際にログインしてみる

ここまでで設定は完了です。正しく設定できているか、実際にログインして確認してみましょう。

Salsforceの「会社の設定」→「私のドメイン」の設定を確認します。このドメインがログインURLになります。 私のドメイン

このURLにアクセスすると、OpenAMのログイン画面にリダイレクトされます。 ログイン画面

ユーザー名とパスワードを入力し、OpenAMでの認証に成功するとSalesforceの画面にリダイレクトされます。 ログイン成功

OpenAMの認証でSalesforceにログインすることができました。

Go To Top