はじめに
ArcGIS Online や ArcGIS Enterprise では、OpenID Connect (OIDC) を利用したログインを構成することで、組織内で利用しているシステムと同じ認証情報を使用して、ArcGIS Online や ArcGIS Enterprise へサイン インすることが可能となります。これまで、OpenID Connect を利用した ArcGIS との連携は幾つかブログで紹介しています。
今回は、Salesforce のユーザーを使用して、ArcGIS Online へサイン インできるよう構成する手順についてご紹介していきます。
画面の流れは以下となり、ArcGIS Online のログイン画面から Salesforce の認証画面に遷移し、Salesforce のユーザーでサイン インすることで、ArcGIS Online を利用することができます。
Salesforce 側の設定
Salesforce は、クラウドベースの顧客関係管理(CRM)のソフトウェアです(CRM の詳細)。今回、Salesforceと ArcGIS Online との連携は、Salesforce の Developer Edition の環境を使用しました。Developer Edition は Salesforce 開発者がプライベートな環境として無料で利用できる環境です。Developer Edition は 180 日間ログインしていないと無効化され、使用できなくなります。
Developer Edition のサイン アップ手順については、Salesforce デベロッパーブログで紹介されていますので、ご確認ください。
それでは、Salesforce 側の設定について紹介していきます。
Salesforce 側の各種設定等については、Salesforce のヘルプ ドキュメントにも詳しく紹介されていますので、ご確認ください。今回は、OpenID Connect ID プロバイダーとしての Salesforce や OpenID Connect を使用した接続アプリケーションとしてサービス プロバイダーを統合のドキュメントを参考にしています。※ なお、弊社では、Salesforce のサポートは行っておりません。
はじめに Salesforce で接続アプリケーションを作成していきます。
設定のアプリケーション マネージャーの新規接続アプリケーションから「接続アプリケーションを作成」を選択して、続行をクリックします。
下記の画面で、「接続アプリケーション名」、「API 参照名」、「取引先責任者メール」に対して、任意の名前やメール アドレスを設定してください。
そして、API(OAuth 設定の有効化)セクションの「OAuth 設定の有効化」をチェックしてください。
「コールバック URL」 と「選択した OAuth 範囲」の設定を行います。
コールバック URL はこの時点では設定すべき値はないため、「https://hoge.hoge.com」などと設定します。あとで、ArcGIS Online 側で設定されるログイン リダイレクト URL とログアウト リダイレクト URL を設定します。
選択した 0Auth 範囲では、【ID URL サービスにアクセス】と【一意のユーザー識別子にアクセス】を選択して追加します。「サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求」のチェックを外します。設定が完了しまたら「保存」ボタンをクリックします。
保存ボタンをクリックしたら以下の画面に遷移します。コンシューマー キーと秘密セクションから「コンシューマーの詳細を管理」をクリックして、「コンシューマー鍵」と「コンシューマーの秘密」をコピーして保存しておきます。ArcGIS Online 側の設定で使用します。
ArcGIS Online側の設定
ArcGIS Online の設定について紹介していきます。詳細な設定方法については、ArcGIS Online のドキュメント「OpenID Connect ログインの設定」を参考にしてください。
組織サイトに管理者としてログインします。設定の [セキュリティ] をクリックして、[ログイン] セクションの [OpenID Connect ログイン] をクリックします。
下記の OpenID Connect ログインの設定画面が表示されます。[ログイン ボタン ラベル] には、任意の名前を設定します。[新規メンバーの加入を許可] は、[自動] オプションを選択します。[自動] にすることで、メンバーは、OpenID Connect ログインでサイン インすることで、組織サイトに加入できます。詳細については、ArcGIS Online のドキュメント「メンバーの招待と追加」をご確認ください。
[登録済みクライアント ID]、[認証方法] の [クライアント シークレット] には、Salesforce 側の設定で取得した「コンシューマー鍵」と「コンシューマーの秘密」を使用します。[登録済みクライアント ID] には、「コンシューマー鍵」、[認証方法] の [クライアント シークレット] には、「コンシューマーの秘密」を設定してください。
[プロバイダーの範囲/権限] には、openid、id、profile、email、address、phone を設定します。[プロバイダー発行者ID] には、https://≪MYDOMAIN≫.my.salesforce.com を設定します。
[OAuth 2.0 認証エンドポイント URL] や[トークン エンドポイント URL] などに必要な設定内容は、https:// ≪MYDOMAIN≫.my.salesforce.com/.well-known/openid-configuration を参照することで確認することができます。
それぞれ以下の内容を設定します。
・[OAuth 2.0 認証エンドポイント URL]:https://≪MYDOMAIN≫.my.salesforce.com/services/oauth2/authorize
・[トークン エンドポイント URL]:https:// ≪MYDOMAIN≫.my.salesforce.com/ services/oauth2/token
・[JSON Web キー セット (JWKS) URL]:https:// ≪MYDOMAIN≫.my.salesforce.com/id/keys
・[ユーザー プロファイル エンドポイント URL (推奨)]:https:// ≪MYDOMAIN≫.my.salesforce.com/services/oauth2/userinfo
すべての設定が完了したら保存ボタンをクリックします。[OpenID Connect ログイン] の横にある [ログインの構成] リンクをクリックして、OpenID Connect ログインの編集を開きます。
設定プロセスを完了することで、下記の画面の [ログイン リダイレクトURL] と [ログアウト リダイレクト URL] は、自動で生成されますので、Salesforce 側で設定したコールバック URL(https://hoge.hoge.com)を [ログイン リダイレクト URL] と [ログアウト リダイレクト URL] に置き換えます。下記の Salesforce 側の設定画面において、コールバック URL を置き換えます。
これですべての設定は完了です。Salesforce のユーザーとして、ArcGIS Online へサイン インして、ArcGIS Online を利用することが可能となります。
まとめ
今回は、OpenID Connect を利用して、ArcGIS Online と Salesforce との連携について紹介しました。ArcGIS Online は、OpenID Connect 認証プロトコルをサポートしているため、OpenID Connect をサポートしている Google や Okta などとの連携も可能です。
また、ArcGIS Online は、SAML ログイン アカウントの構成に SAML 2.0 をサポートしています。詳細は、ArcGIS Online のドキュメント「SAML ログインの設定」をご参照ください。
これまでに、ArcGIS Online / Enterprise および ADFS の連携ガイドやArcGIS Online / Enterprise および Shibboleth 連携ガイドも公開しています。
ArcGIS Online/ArcGIS Enterprise は、OpenID Connect や SAML 2.0 をサポートしているため、他システムとの連携も容易に可能となっています。
以上、参考となれば幸いです。
■参考サイト