2021.05.20 「Salesforce - [私のドメイン] の Winter '22 必須化に備えましょう」
お世話になっております。
ウフル カスタマーサポート Salesforce 担当の 後藤 でございます。
大変ご無沙汰しておりました、諸事情あり、 昨年末を最後にカスタマーサポート通信の配信ができておりませんでした。
その間、Spring '21 のリリースもあり、 多くの新機能提供や従来機能の改善が行われており、 皆様にご案内するテーマのストックも徐々に増えてきました。
その折に、どうしても周知が必要な案件が2つ発生いたしました。
- Winter '22 (今年10月予定)での [私のドメイン] の必須化
- Spring '22 (来年2月予定)での [多要素認証 (MFA) ] の必須化
この二つは準備に際して考慮事項が多々あり、 時間をかけて慎重な準備が必要なため、 直前になって慌てないように今から準備を進めた方が好ましく、 ご利用者の皆様に周知するのを機に、 社内体制を整えてカスタマーサポート通信を定期的に配信できる状 況に戻す必要がある、と認識いたしました。
先ずは今回 [私のドメイン] の必須化への準備について、ご案内をさせていただきます。
* [私のドメイン] とは?有効化する利点は?
Salesforce を以前からご利用いただいているお客様でしたら、[私のドメイン] という機能名は聞いたことがあるかと思われます。
公式ヘルプの記載を引用いたします。
[私のドメイン] とは?
https://help.salesforce.com/articleView?id=sf.faq_domain_name_what.htm&type=5
===============================================
[私のドメイン] を使用して、Salesforce 組織の URL に含める顧客の固有名を指定できます。[私のドメイン] の名前は組織固有のサブドメイン (例: https://yourcompanyname.my.salesforce.com ) として使用されます。[私のドメイン] では、ログインページをカスタマイズして、 ユーザのログインと認証をより適切に管理することもできます。[ 私のドメイン] を使用する組織はセキュリティが強化されるため、多くの Salesforce 機能で必須です。
===============================================
[私のドメイン] を有効化すると、ホームページ URL は以下のように変更されます。
<[私のドメイン] 有効化前>
<[私のドメイン] 有効化後>
[私のドメイン] 有効化前は、インスタンス名が URL に含まれます。
ap0 や na16 といった文字列がインスタンス名です。
日本のお客様については、事前に申請をした場合を除き ap* が割り当てられます。
インスタンス名については、以前の記事でも触れていますので、 こちらも併せてご覧ください。
2020.03.26 「Salesforce - よくあるお問合せを深掘りします:vol.1 - インスタンス移行とセキュリティアラート」
https://csminfo.uhuru.jp/hc/ja/articles/900000403343
===============================================
この URL の "ap3" が、「マンション群 - 棟番号」を表しています。
これが「インスタンス」と呼ばれるものです。
===============================================
[私のドメイン] を有効化することで、インスタンス部分が "companyname.my" に置き換わります。
[私のドメイン] で使用する会社名などの文字列は、全ての Salesforce 組織にてユニークなものとなります。
つまり、レコード URL も完全にユニークなものとなります。
今までは会社内で複数の Salesforce 組織を管理している場合、 その両方が同じインスタンスに属していると(2015年くらいまでに契約した日本の顧客の場合、 インスタンスは一様に ap0 でした)、 レコードのリンクをメールに貼り付けて共有した際など、 どちらの組織のものかわからなくなるということがありましたが、 [私のドメイン] を有効化することで、レコード URL にも固有のドメイン名が含まれることになるので、 どの組織のレコードかが判別できるようになります。
併せて、複数の組織に(本番組織と Developer 組織のように) 同じブラウザの別タブで同時にログインして作業を行うケースも少 なくないと思いますが、 今までは同じインスタンスの複数組織に同時にログインできません でした(後からログインしたアカウントがブラウザ全体のセッションを上書 きしてしまうためです)。
それも [私のドメイン] を有効化することで、それぞれの組織のセッションが区別され、 複数組織に同時ログインしたうえでの並行作業が可能となります。
先述の過去記事でも触れましたが、Salesforce では「インスタンス移行」(または「インスタンス分割」) が不定期に実施されます。
これは、 特定のインスタンスに属する組織が増加することで負荷が増大しパ フォーマンスが低下するのを回避するため、 新しいインスタンスを作成して既存インスタンスの一部組織を移行 するというものです。
インスタンス移行により、URL のインスタンス名が ap3 → ap16 のように変更され、それに伴い、 組織内で設定したカスタムリンクや外部インテグレーションなどに 支障が無いかどうかを都度確認する必要が生じます。
それも、[私のドメイン] を有効化することで、有効化の際の確認さえクリアできれば、 今後はインスタンス移行の影響を受けることなく継続使用が可能と なります。
サーバエンドポイント参照時のベストプラクティス
https://help.salesforce.com/articleView?id=000339073&type=1&mode=1
[私のドメイン] を有効化することで、 会社のブランディングに役立つという側面もあります。
通常のログインページは login.salesforce.com になりますが、[私のドメイン] で指定された URL は、そのままお客様独自のログインページの URL になります。
ブランド設定により、 背景やボタンの色を会社のコーポレートカラーに変更したり、 Salesforce ロゴを会社のものに置き換えたりすることが可能になります。
ログインページのブランド設定は、ユーザに Salesforce への愛着を強めさせる効果もあるのではないでしょうか。
ブランドを使用した [私のドメイン] ログインページのカスタマイズ
https://help.salesforce.com/articleView?id=sf.domain_name_ login_branding.htm&type=5
他にも [私のドメイン] を有効化することで得られる利点は多々ありますが、 詳しくは後述の「[私のドメイン] を必要とする機能」にてご説明いたします。
なお、[私のドメイン] を有効化することで、インスタンス名が URL から判別できなくなり、 障害発生時に自社の組織が対象となっているかを確認できなくなる 、という懸念があるかと思われますが、心配ご無用、 Salesforce Trust サイトには、 ドメイン名で当該するインスタンスを特定してステータスを表示する機能があります。
自分の Salesforce 組織のインスタンス情報の表示
https://help.salesforce.com/articleView?id=000322728&type=1&mode=1
弊社運用組織の場合は AP3 インスタンスであることがわかり、 現在のステータスが表示されました。
* [私のドメイン] を必要とする機能
元々 [私のドメイン] は「一意の Salesforce 組織を特定する」ために用意されている意味合いが大きいので、 外部サービスと連携する機能を使用する場合はほぼ必須になります 。
ヘルプにも以下のように記載があります。
[私のドメイン] とは?
https://help.salesforce.com/articleView?id=sf.faq_domain_ name_what.htm&type=5
===============================================
[私のドメイン] には、次のような多くの Salesforce 機能を使用する必要があります。
- サードパーティ ID プロバイダを使用したシングルサインオン (SSO)
- Google や Facebook などの認証プロバイダを使用した SSO
- Lightning コンポーネントタブ、Lightning ページ、Lightning アプリケーションビルダー、 またはスタンドアロンアプリケーションの Lightning コンポーネント
===============================================
この状況で多くのお客様がテレワークを導入されているかと思われ ますが、その際にセキュリティリスクを減らすために SAML や OAuth といったシングルサインオンを用いて、ログイン管理を Salesforce に、もしくは Google など外部サービスに集約しているお客様も多いかと存じます。
Salesforce が ID プロバイダ /サービスプロバイダのどちらの場合でも、[私のドメイン] の設定が必須となるため、この一年で [私のドメイン] を導入されたお客様も多いのではないでしょうか。
私のドメインの設定オプションには、" https://login.salesforce.com からのログインを防止" というものがあります。
これは、外部サービスを ID プロバイダとするシングルサインオンを使用する際に、 Salesforce への直接ログインをブロックし、 必ず外部サービス経由でのログインを要求する際に用いられる機能です。
セキュリティを堅牢にするために [私のドメイン] が果たす役割は大きいです。
併せて、Lightning Experience のユーザインターフェース機能にも、[私のドメイン] を必要とするものが増えてきました。 特に Lightning Web コンポーネントでアプリケーション開発する場合、 外部連携の有無を問わず [私のドメイン] 有効化が必要となり、Lightning 環境においては実質的に [私のドメイン] 有効化が前提ともいえる状況になりました。
ユーザ自身が Lightning コンポーネントを構築しない場合でも、AppExchange からパッケージを入手してインストールする際に、 Lightning コンポーネントが含まれているために、インストールの必要要件に [私のドメイン] を有効化することが明記されているというケースも最近は増えてきました。
その結果、Winter '21 のタイミングで [私のドメイン] がデフォルト化されることになりました。
* Winter '21 にて [私のドメイン] がデフォルト化
従来 [私のドメイン] は必要に応じて有効化するものでしたが、Winter '21 (2020年10月) にて、新規組織については本番稼働開始のタイミングで [私のドメイン] が自動で有効化されるようになりました。
新しい Salesforce 組織作成時の [私のドメイン] の定義
https://help.salesforce.com/articleView?id=release-notes. rn_security_domains_my_domain_ by_default.htm&type=5&release=228
===============================================
Winter '21 以降で作成されたすべての Salesforce の本番組織では、デフォルトで [私のドメイン] を取得します。[私のドメイン] を使用すると、salesforce.com ドメイン内のサブドメインを取得します。たとえば、「 https ://examplecompany.my.salesforce.com 」などです。[私のドメイン] は、ブラウザ要件に準拠し、最新の Salesforce 機能を使用するために必要です。
===============================================
つまり、この半年以内に新規ご契約された組織は最初から [私のドメイン] が有効化されているので、 有効化に関する考慮事項については特に必要ないということになり ます。
希望したドメイン名が既に使用済みの場合、ドメイン名に対し " companyname-1.my.salesforce. com " というように勝手に番号が振られてしまうという問題もあるようで 、その場合はドメイン名の変更で対処できるようになっています。
以前は一回決めたドメイン名は簡単には変更できないようになっていたので(Salesforce サポートに問い合わせが必要)、変更が容易になったのは恐らく Winter '21 の新規組織に対するデフォルト化と連動しているものと考えられます。
* 既存顧客についても Winter '22 にて設定が必須化
Winter '21 以前からの組織については、 すぐにデフォルト化はされませんでしたが、併せて「一年後の Winter '22 リリースのタイミングで既存組織についても必須化する」 とのアナウンスがされました。
つまり今までシングルサインオンも外部連携も Lightning コンポーネントも使っていないため [私のドメイン] 有効化を求められることなくそのまま使用していた組織についても 、今年の10月までに有効化が必要になりました。
有効化にあたっては、いくつかの考慮事項があり、 かつ有効化した際の影響も確認しながら入念に進める必要がありま す。
新規で [私のドメイン] を有効化する場合、考慮事項は主に以下の4点です。
- ドメイン名が使用可能かどうか(既に使用されていないか)
- "login.salesforce.com からのログインを防止" オプションを有効化するかどうか
- 従来のインスタンス名を含む URL からのリダイレクトポリシー
- カスタムリンクや Visualforce に従来のインスタンス名を含むハードコーディングが存在したまま ではないかどうか
ドメイン名が使用可能かどうかについては、先述の通り「ドメイン名は全世界で一意」となるため、 既に使用されている場合は選択ができません。
グループ会社で複数の組織を持っているお客様の場合は、 今後のことも考えたうえでドメイン名を決める必要があります。
仮に Winter '22 リリースまで [私のドメイン] 有効化を放置していた場合、Winter '21 リリースノートによると、 ドメイン名はシステムによって任意の文 字列が振られるとのことになっています。
Salesforce Winter '21 リリースノート - [私のドメイン] のリリース (更新)
https://help.salesforce.com/articleView?id=release-notes.rn_security_domains_deploy_my_ domain_ru.htm&release=228&type=5
===============================================
時期: Salesforce は、この更新を Winter '22 で適用します。 インスタンスのメジャーリリースアップグレード日を確認するには 、Trust 状況に移動してインスタンスを検索し、[メンテナンス] タブをクリックします。
適用日までに [私のドメイン] をリリースしなかった場合、組織の会社名に基づいて Salesforce によって設定されます。別の名前を使用する場合は、設定後に [私のドメイン] を変更できます。
===============================================
英語環境の場合は、 組織プロファイルの会社名項目から直接引用され、 もし重複がある場合は "-2" などの通し番号が振られるものと考えられますが、 日本語環境の場合は会社名(普通は漢字・カタカナ・ ひらがなで構成されていると思われます) の文字列が使用できないため、 どのような文字列が振られるかは一切不明です。
恐らくユーザが納得するような文字列が振られることはないと思い ますので、もし自動でドメイン名が付与されても、 後で変更は必要になるものと考えられます。
ドメイン名が気に入らず変更が必要となった際、 ドメイン名は後から変更できますが、変更の際に発生する考慮事項は、 新規ドメイン名設定の際とは比べ物にならないレベルで山盛りです ので、極力事後変更が発生しないように、 最初から入念に考えたうえで、Winter '22 リリースまでに決定することを強くお勧めします。
[私のドメイン] の考慮事項
https://help.salesforce.com/articleView?id=sf.domain_name_considerations.htm&type=5
<私のドメインの設定>
[私のドメイン] の設定にある "login.salesforce.com からのログインを防止" については、シングルサインオンを使用して外部 ID プロバイダ経由のログインを強制する場合以外はそのままにします 。
login.salesforce.com からのログインをブロックすることによるメリットとして、「ドメイン名を知らない人からのログインを抑止する」ことがありますが、その場合も社内の周知は入念に行わないと、 本来ログインが必要な社内ユーザがログインできなくなるという事態が発生します。
"login.salesforce.com からのログインを防止" した場合の影響ですが、ポップアップにもある通り「SOAP API を除くすべてのログインに適用」されるため、 ブラウザ経由のログインはもとより、 モバイルアプリケーションを使用した場合でも「 カスタムドメインを使用」することが要求されます。
データローダのログインについては、基本的に SOAP API でのログインとなるため、デフォルトの login.salesforce.com からのログインで問題ありません。
但し、数万件のデータを含む CSV ファイルを処理するために [Setting] にて Bulk API を有効にした場合は、「SOAP API を除く」の定義から外れるため、Server host の URL をカスタムドメインのものに変更する必要があります。
インスタンス分割後:データローダにログインできない
https://help.salesforce.com/articleView?id=000337768&type=1&mode=1
===============================================
また、私のドメイン(マイドメイン) を利用している場合には、 https://login. salesforce.com からのログインを設定で制限している可能性があります。 その場合、
本番組織では、 https://mydomain.my.salesforce.com 等の、https://<マイドメイン名>. my.salesforce.com を
Sandbox 組織の場合には、 https://mydomain--dev1.cs3.my.salesforce.com 等の https://<マイドメイン名>--<Sandbox名>. <インスタンス名>.my.salesforce.com を指定し問題が解消されるかどうか確認してください。
===============================================
リダイレクトポリシーの設定には以下の3つがあります。
- ドメイン内の同じページにリダイレクト
- ドメイン内の同じページに警告付きでリダイレクト
- リダイレクトしない(推奨)
これは「(推奨)」とついているとおり、「リダイレクトしない」 で問題ありません。
先ほど「Winter '22 リリースまで [私のドメイン] を有効化しなかった場合、システムによって自動で有効化される」 旨ご案内しましたが、 その際にこれらの項目でデフォルト値がどのようになるかが気にな るところですが、SFDC 社のサポートに問い合わせたところ、 以下の通り回答がありました。
===============================================
恐れ入りますが、 こちらにつきまして公開している情報はございませんでした。
現在、通常の手順で「私のドメイン」 をご設定いただいた場合は下記の設定値となりますが、 自動適用時も同様の値となるかについてはご案内ができないものと なります。
- ログインが必要:チェックなし
- リダイレクトポリシー:ドメイン内の同じページにリダイレクト
つきましては、 バージョンアップ時に貴社の意図しない動作とならないよう、 Winter '22 までの間にテストの上、「私のドメイン」 を有効化いただけますようご検討をお願いいたします。
===============================================
ここで重要な文言がありました。
「Winter '22 までの間にテストの上」
[私のドメイン] リリースに限りませんが、システムの重要な変更に際しては、 事前テストを行うことが非常に重要です。
具体的には、Sandbox をひとつ作成もしくは更新したうえで、[私のドメイン] を有効化し、実際の業務と同じ操作にて動作テストを行います。
(※ あくまでも「動作テスト」の範疇に留まり、「受入テスト(UAT)」ほどのシビアさは求められないため、Sandbox の種類は "Developer Sandbox" で構いません。)
Sandbox の変更は本番組織には反映されず、 実運用から独立した環境で十分なテストを行うことができますので 、十分に事前確認をしたうえで、 本番組織へのスムーズなリリースが可能となります。
最後に、 新規ドメイン設定の際に最も考慮しなければいけないのが、 設定済みのカスタムリンクや Visualforce ページにて、インスタンス名を含む URL を直接参照する、いわゆる「ハードコーディング」 が存在していないか、という点です。
これに関しては、 インスタンス移行の記事でも取り上げている通り、「 同じ組織内での画面遷移の際は相対パスで URL を記述する」のはもはや必須です。
2020.03.26 「Salesforce - よくあるお問合せを深掘りします:vol.1 - インスタンス移行とセキュリティアラート」
https://csminfo.uhuru.jp/hc/ja/articles/900000403343
===============================================
同じ Salesforce 組織ならば、 各ページは一意のサブドメイン配下での相対関係にあることは、 Web に詳しい方ならすぐにお気づきになるはずです。
ならば、絶対的なロケーション識別子を省略して、 現在のページから見てどの位置にあるページに遷移するか、 の形式に URL を書き換えれば、 インスタンス移行による絶対的ロケーション識別子の変更の影響を 一切受けなくなります。
一般的には、ロケーション識別子を含む完全パス表示を 「絶対パス」 、現在の場所を基準に相対的な位置関係を示した部分パス表示を 「相対パス」 と呼びます。
===============================================
リダイレクトポリシーにて「ドメイン内の同じページにリダイレクト」を有効にすれば、 従来のインスタンス名がハードコーディングされた URL にアクセスしてもリダイレクトが機能しますが、推奨設定の「 リダイレクトしない」 に設定した際にリンクやページ表示が正しく機能しない可能性があ るので、 これを機にハードコーディングが無いかどうかを確認するとよいと 思われます。
[私のドメイン] 有効化後に、 インスタンス名の部分をカスタムドメイン名に置き換える、 という手もありますが、あくまでも URL 設定の推奨は「相対パス」「URLFOR() の使用」になる点はご留意いただきたく存じます。
一番簡単かつ確実な方法は、先ほどお伝えしたとおり、Sandbox を更新したうえで、本番組織よりも先に Sandbox に [私のドメイン] を有効化したうえで動作チェックをすることです。
リンク切れが確認されたら、本番組織で当該箇所の設定を確認し、 「相対パス」や「URLFOR() 」関数に置き換えるよう改修する方法を取れば、 より効率的な対処が可能となります。
実質的に [私のドメイン] 有効化の事前考慮事項の半分以上は「カスタムリンクや Visualforce のハードコーディングが無いかどうか」 が占めていると思われますので、 インスタンス移行の対象となることがなくチェックの機会が無かっ たお客様も、早め早めの確認を実施いただければと思います。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ご無沙汰しておりましたカスタマーサポート通信、 いかがでしたでしょうか。
今回は [私のドメイン] 必須化についてお送りしましたが、今後も「多要素認証の必須化」 など、お客様に大きな影響がある仕様変更が控えておりますので、 より多くの情報を迅速にお客様に共有できるよう努めさせていただ きたく存じます。
不明点ありましたら遠慮なくお知らせください。
お客様の疑問点は、弊社ならびにお客様全体の財産となります。
今後ともウフル カスタマーサポートを引き続きご愛顧いただきますよう、 何卒よろしくお願い申し上げます。
Salesforce・Googleの運用・サポートでお困りなら
カスタマーサポートへお問合せください。
コメント