Salesforceへのアクセス制限に関しては、セキュリティの厳しいお客様から非常によく聞かれますので、どのようなアクセス制限が可能か、また個体識別でのアクセス制御が可能かなどについて記事に纏めたいと思います。
本記事でわかること
- Salesforceのアクセス制御の種類
- 個体識別(個別の端末を識別)してのアクセス制御が可能か
Salesforceへのアクセス制御方法
まず、Salesforceはパブリッククラウドサービスのため、基本的にはインターネット経由でどこからでも、どんな端末からでもアクセス可能な仕組みとなっています。
セキュリティの観点から限られたユーザや端末のみからのアクセスを制限しないといけない要件がある場合には、以下のような方法が提供されています。
IPアドレス制限
組織単位もしくは、上記のようにプロファイル事にIPアドレス制限をすることが可能です。
IPアドレスのホワイトリスト登録を行います。許可するIPアドレスをFrom-Toで指定します。
デフォルトでは、本設定をしない限り全てのIPアドレスが許可された状態となっています。
ログイン時間帯の制御
プロファイル毎の制御となりますが、曜日ごとにログイン可能な時間帯を制御することができます。
開始から終了時間を設定すると、指定した時間帯以外はアクセス不可となります。
専用のVPN接続
閉域網のVPNでセキュアにアクセスするため専用のVPNを用意することも可能です。
こちらの詳細については以下、NTT Communications社が提供する「Salesforce over VPN」をご検討ください。
NTT Communications社公式サイト「Salesforce over VPN」
カスタムログインフロー
カスタムログインフローを使って、生体認証などの認証技術を組み合わせて、ユーザ認証を強化する方法もあります。
※今後は、全てのSalesforce組織で、多要素認証(MFA)の利用が必須となるため、さらに組み合わせて認証をするとかなり手間になることが想定されます。
カスタムログインフローを使うとログインの制御以外に、例えば、勤務時間外にログインしたユーザがいた場合に通知を送信するなどの仕組みを構築することができるため、お客様の要件によってはカスタムログインフローも使えると思います。
カスタムログインフローの詳細は以下を参照ください。
Salesforce公式HELPサイト「カスタムログインフロー」
個体識別(端末単位)でのアクセス制御について
例えば、Salesforceのモバイルアプリを利用してアクセスするのは許可するが、会社から貸与した端末だけしかアクセスは許可しない(私用携帯からはアクセス不可)というような要件がある場合にどのような対応が可能か説明します。
2022年1月10日現在)Salesforceが提供する機能だけで、端末単位にアクセス制御をすることは難しいという結論となります。
2022/03/30 モバイルデバイス追跡機能と、Apex+フローを組み合わせることで個別端末のアクセス制御が実現できそうです。
※詳しくは本章の最後をご確認ください。
Salesforceのモバイルアプリケーションを利用することで、Winter ’21 で正式リリースされる「モバイルデバイス追跡」機能を使うことで、端末固有の識別子(シリアル番号など)を捕捉することが可能となります。
そのため、この端末固有の識別子を使うことで、アクセスの制御をすることは可能(アクセスできないようにブロックすることが可能)となりますが、ブロックするためには、ログインされた後にシステム管理者によって、対象の端末をアクセスするというような作業が必要となってしまうという課題があります。
※ログイン前にアクセス制御することができない。
また、ブロックするためにはAPIやApexを使っての操作が必要となるため、端末一覧を表示してチェックされた端末をブロックするような画面とか処理を開発する必要がありそうです。
「モバイルデバイス追跡」の機能を利用する場合には、Salesforceサポートへ問い合わせをして有効化の手続きが必要となります。
詳細は、以下公式HELPサイトをご確認ください。
Salesforce公式HELPサイト「モバイルデバイス追跡」
Salesforce公式HELPサイト「モバイルデバイス追跡を使用したデバイスの表示および取り消し」
最後に注意点として、スマホやタブレットからSalesforceにアクセスする際にネイティブアプリのSalesforceモバイルアプリケーションを利用する場合には、上記モバイルデバイス追跡にて個体識別が可能となりますが、ブラウザ(ChromeやSafari)を使ってアクセスされた場合には、追跡ができないので注意が必要です。
【お勧めの対応方法】
モバイルのブラウザアクセスはプロファイルのIPアドレス制限で対応し、モバイルアプリからのアクセスはIPアドレス制限の緩和を実施し、モバイルデバイス追跡機能で制御するというやり方がよさそうです。
Update 2022/03/30
モバイルデバイス追跡機能と、Apex+フローを組み合わせることで、モバイル端末の初回ログインを制御することはできそうです。
ログインフローを使って、ログインユーザのIDで、UserDeviceオブジェクトを検索し(Apexが必要)、StatusがApprovedでない場合は強制ログアウトさせるという方法となります。
詳細は、別途記事を作成してご紹介したいと思います。
VPNを使っての制御
VPNを利用することで端末の制御を方法があります。
SalesforceにはVPNのアドレスだけをアクセス許可と設定しておき、許可したモバイル端末だけVPN接続できるようにすることで、アクセス制御します。
サードパーティーを使っての実現
サードパーティーの製品となりますが、conexio(コネクシオ社)の「verifycloud」という製品を利用することで、端末ごとにアクセスを制御することができるようです。
以下のような内容が実現可能ということです。
- デバイスごとにSalesforceのアクセス権を付与することが可能
- WebブラウザやSalesforceアプリのCookie情報をもとに認証するためVPNが不要
- 専用ブラウザではなく、SafariやGoogleChromeといった通常のブラウザ、Salesforceモバイルアプリが利用可能
費用体系は以下となっています。(2022/1/10現在)
1ライセンス ¥200/月[税抜]
年間契約(¥2,400)[税抜]・10ID単位
詳細は、以下のサイトをご確認ください。
https://sol.conexio.co.jp/biz/verifycloud
まとめ
現時点では、セールスフォースの標準機能だけでは、個別端末の制御はできないため、VPNやサードパーティー製品を用いて実現する必要がありそうです。
お客様の要件(何を実現したいか)によっては、IPアドレス制限や時間帯の制限、カスタムログインフロー等での対応も可能な場合もあると思います。