LOCKED
ブログ一覧に戻る
ID管理・IGALOCKED DAS

Salesforceユーザー管理自動化の実装|プロファイル・権限セット・プロビジョニング

関連トピック: プロビジョニング自動化でIT基盤を次のレベルへ

はじめに

Salesforce(セールスフォース)は、顧客関係管理(CRM)プラットフォームとして、世界中の企業で導入されています。その強力な機能と柔軟性は、同時に複雑な権限管理体系をもたらしています。本記事では、Salesforceにおけるユーザー管理の複雑性、プロビジョニング 自動化による効率化、そしてLOCKED DASによる統合管理について詳しく解説します。

RFPテンプレート(無料)

IGA導入RFPテンプレート

IGA導入の社内稟議に使えるRFPテンプレート。要件定義、評価基準、ベンダー回答フォーマットをそのまま活用できます。

無料でダウンロード

Salesforceの権限管理体系

複雑な権限構造の理由

Salesforceは、エンタープライズグレードのCRMとして、業界標準的な権限管理を提供しています。これにより、大規模な組織内で異なるロール、職務、部門に応じて、細かく権限を制御することができます。しかし、この柔軟性が、ユーザー管理の複雑さにもつながっています。

Salesforceの権限管理には、以下の要素が関わります:

ユーザータイプ:System Administrator(システム管理者)、Standard User(標準ユーザー)、Community User(コミュニティユーザー)など、複数のユーザータイプが存在し、各タイプには異なるライセンス数と機能が割り当てられています。

プロファイル:プロファイルは、ユーザーが実行できる操作(作成、編集、削除、表示など)をオブジェクト単位で定義します。たとえば、営業ユーザープロファイルでは、顧客レコードの作成・編集は可能ですが、支払い情報の編集は制限されています。

権限セット:プロファイルだけでは対応できない追加的な権限を、権限セットで定義します。たとえば、営業ユーザーが特定のプロジェクトに対してマネージャー権限を一時的に持つ場合、その権限を権限セットで追加できます。

組織階層:Salesforce内の組織構造を定義し、上司と部下の関係を指定します。これにより、営業チームマネージャーが自分の部下の取引の詳細を見る権限を自動的に付与することができます。

ユーザータイプごとの権限

Salesforceでは、複数のユーザータイプが存在し、各タイプはライセンスコストと機能が異なります:

System Administrator:すべての機能にアクセスでき、システム全体の設定と運用を担当します。通常、IT部門が担当します。ライセンス数は制限なし(組織が所有する任意の数)。

Standard User:Salesforceの全機能にアクセスでき、CRM運用の中心的なユーザーとなります。営業ユーザーはこのタイプが一般的です。ライセンス数は購入したライセンス数に応じて制限されます。

Chatter Only User:メール、Chatter、ファイル機能に限定されたアクセスを持つユーザータイプです。タスク管理やレコード表示はできません。低コストのユーザーライセンスとして使用されます。

Community User:顧客や外部パートナーが、特定の情報のみを閲覧・編集するためのユーザータイプです。セキュリティが厳格に制御されます。

Platform User:カスタムアプリケーション向けの軽量なユーザータイプです。

各ユーザータイプのライセンス単価は、Standard User > Chatter Only User > Platform User の順で高いです。企業は自社の必要性に応じて、各ユーザータイプを適切に割り当てることで、ライセンス費用を最適化します。

Salesforceにおけるユーザー管理の課題

プロファイル・権限セットの設計の複雑さ

Salesforceを導入する際、組織内の全職務タイプに対して、適切なプロファイルを設計する必要があります。一般的に、大企業では10~30個のプロファイルを運用しています。各プロファイルに対して、数十~数百のオブジェクトレベルの権限を定義する必要があり、その設計と運用は非常に複雑です。

さらに、時間が経つにつれ、新しい要件が発生し、プロファイルが増加していきます。その結果、プロファイル数が不必要に増加し、管理が困難になるケースも多いです。

ユーザー追加時の設定ミス

新入社員がSalesforceを利用する際、以下のステップが必要です:

  1. System Adminが新規ユーザーアカウントを作成
  2. 該当するプロファイルを割り当て
  3. 関連する権限セットを追加
  4. 組織階層内の上司を指定
  5. チームをチーム管理機能で割り当て

これらのステップを手動で行うため、設定ミスが頻繁に発生します。例えば、プロファイルの選択を誤って、営業ユーザーが見るべき取引情報にアクセスできなくなることもあります。こうしたミスを防ぐには、事前にテンプレート化し、自動化することが重要です。

ライセンス管理の複雑さ

Salesforceのライセンスは、複数のタイプがあり、各タイプに購入数が設定されています。企業のニーズの変化に伴い、ライセンスの割り当てを頻繁に見直す必要があります。

例えば、営業チームのユーザー数が50人から80人に増加した場合、Standard Userライセンスを30個追加購入する必要があります。逆に、部門が統廃合されて、Chatter Only Userの需要が減少した場合、ライセンスを削減することも検討すべきです。

このライセンス最適化を自動化しないと、不要なライセンス購入により、年間数百万円の無駄が発生する可能性があります。

ユーザー情報の同期

Salesforceだけでなく、Slack、Zoom、Microsoft 365など、複数のSaaSを導入している企業では、これらのシステム間でユーザー情報を同期する必要があります。特に、従業員の転職や退職時に、すべてのSaaSから同時に削除する必要があります。

Salesforce単体では、他のSaaSとの統合が限定的であり、複数SaaS間の一元管理は困難です。

テンプレートベースの権限割り当て

プロファイルテンプレートの作成

ユーザー管理を自動化するには、まず組織内で必要なすべてのプロファイルを明確に定義し、テンプレート化する必要があります。推奨される手順は以下の通りです:

  1. 組織内の職務タイプを列挙:営業代表、営業マネージャー、カスタマーサクセス、サポート、マーケティング、経営層など、全職務タイプをリストアップします。

  2. 各職務タイプに必要な権限を定義:各職務タイプがアクセスすべきオブジェクト、実行可能な操作(作成、編集、削除)を定義します。たとえば、営業代表は顧客レコードを作成・編集できますが、価格設定を変更することはできません。

  3. 権限セットを設計:プロファイルだけでは対応できない追加権限を、権限セットで定義します。例えば、特定の地域の営業マネージャーには、その地域の全取引へのアクセス権を与えるという権限セットを作成します。

  4. テンプレートドキュメントを作成:各プロファイル・権限セット組み合わせについて、適用対象(部門、役職)を明確にしたドキュメントを作成します。このドキュメントは、ユーザー追加時のリファレンスとなります。

権限割り当てプロセスの自動化

Salesforce本体には、自動プロビジョニング機能が限定的なため、外部の統合ツールを使用する必要があります。以下のアプローチが一般的です:

HR システムとの連携:Workday、SuccessFactors、Bamboo HR等のHRシステムから、従業員情報を自動的に取得し、Salesforceに同期します。新入社員の情報がHRシステムに登録されると、自動的にSalesforceにユーザーアカウントが作成され、職務タイプに応じたプロファイルが割り当てられます。

APIベースの自動化:Salesforce REST APIを使用して、外部システムから自動的にユーザー情報を同期するカスタムスクリプトを開発します。このアプローチは、HRシステムがSalesforceのネイティブ統合に対応していない場合に有効です。

DAS(デジタルアクセスストレージ)ツール:Okta、LOCKED DAS、ジョーシスなどのSaaS管理ツールを使用して、Salesforceを含む複数SaaSのユーザー情報を一元管理し、自動的に同期します。

API連携による一括管理

Salesforce REST APIの活用

Salesforceは、REST API を通じてユーザー管理を自動化するためのエンドポイントを提供しています。主要なものは以下の通りです:

POST /services/data/v58.0/sobjects/User:新しいユーザーアカウントを作成します。パラメータには、ユーザー名、メールアドレス、プロファイルID、ロールID等を指定します。

PATCH /services/data/v58.0/sobjects/User/{userId}:既存ユーザーの情報を更新します。プロファイル変更、ロール変更、ユーザーの無効化などが可能です。

GET /services/data/v58.0/sobjects/User?fields=Id,Username,Email,Profile:ユーザー一覧を取得します。フィルタ条件を指定して、特定の部門のユーザーのみを取得することも可能です。

一括ユーザー更新の実装例

以下は、外部HRシステムからのユーザー情報をSalesforceに一括同期する例です:

  1. HRシステムからユーザーデータを取得:REST APIを通じて、HRシステムから全従業員データを取得します。データには、従業員ID、姓名、部門、役職、メールアドレスが含まれます。

  2. Salesforce側の現在のユーザー情報を取得:Salesforce REST APIを使用して、現在のユーザー一覧を取得します。

  3. 差分を検出:HRシステムと Salesforce のユーザー情報を比較し、以下の処理が必要なユーザーを特定します:

    • 新規追加:HRシステムに存在するが、Salesforceに存在しないユーザー
    • 更新が必要:Salesforceに存在し、プロフィール情報が変更されているユーザー
    • 削除対象:HRシステムに存在しないが、Salesforceに存在するユーザー(退職者など)
  4. 一括更新APIを実行:Salesforce Bulk API 2.0を使用して、差分を一括で適用します。これにより、数千のユーザーを効率的に更新できます。

  5. エラーハンドリングと確認:更新が完了したら、エラーログを確認し、失敗したレコードについて原因を特定して修正します。

スケーリング対応の設計

ユーザー数増加への対応

企業が成長し、Salesforceの利用ユーザー数が増加する場合、システム設計を見直す必要があります。Salesforceは1000万ユーザー以上をサポートできますが、ユーザー数が増加すると、以下の課題が生じます:

API呼び出しのパフォーマンス低下:ユーザー情報を一括取得する際に、API呼び出しの時間が増加します。数万ユーザーの場合、数分~数十分かかる可能性があります。これを対応するには、差分同期(前回の同期から変更されたユーザーのみを取得)を実装することが重要です。

権限セットの複雑性の増加:ユーザーが増加すると、職務タイプも増加し、それに伴って権限セットも増加します。不要な権限セットの整理や、権限セットの命名規則の統一が重要です。

ロール階層の管理:Salesforceの組織階層(ロール)は、アクセス権の委譲に使用されます。ユーザーが増加すると、ロール階層も複雑になります。ロール階層の設計を見直し、不必要に深い階層を避けることが重要です。

段階的な導入計画

大規模な組織では、一度にすべてのユーザーをSalesforceに移行するのではなく、段階的に導入することが現実的です。例えば、最初は営業部門(100人)から開始し、3ヶ月後にカスタマーサクセス部門(50人)を追加するといった段階的なアプローチが有効です。

各段階で、プロビジョニングプロセスをテストし、改善することで、本格的なスケール時の問題を最小化できます。

LOCKED DASによるSalesforce管理の統合

機能統合による効率化

LOCKED DASは、Salesforceを含む90社のSaaSを統合管理し、以下の課題を解決します。

プロビジョニング自動化

LOCKED DASのワークフロー機能により、複雑な条件分岐のプロビジョニングロジックを定義できます。例えば、「営業部門の新入社員には、Salesforceで営業ユーザープロファイルを割り当て、営業部門のロールを指定し、同時にSlackの営業チャンネルに追加する」といった複雑な処理が、一度のワークフロー定義で自動実行されます。

ライセンス最適化

LOCKED DASの棚卸し台帳機能により、Salesforce内の全ユーザーとライセンスタイプを定期的に自動スキャンします。これにより、以下が実現します:

  • 不要なライセンスの検出:非アクティブなユーザーや、不適切にライセンスが割り当てられているユーザーを自動検出
  • コスト削減提案:冗長なライセンスを削減し、年間のコスト削減額を自動計算
  • ライセンス利用率の可視化:各ユーザータイプの利用率をダッシュボード表示

複数SaaS間の権限管理

Salesforceの権限管理は複雑ですが、LOCKED DASを使用することで、Salesforce、Slack、Zendesk等の複数SaaS間での権限を統一管理できます。例えば、営業マネージャーに対して、Salesforceでマネージャープロファイルを付与するとともに、SlackでCRM_managersチャンネルへのアクセスを自動付与するといったことが可能です。

権限セットの自動割り当て

LOCKED DASのルールエンジンにより、ユーザーの属性(部門、職務、拠点など)に基づいて、自動的に適切な権限セットを割り当てることができます。例えば、「APAC地域の営業マネージャーには、APAC_Sales_Manager権限セットを自動付与する」といったルールを定義できます。

運用効率化の実績

業務削減

Salesforceのユーザー管理を自動化することで、IT管理者の月間業務時間が以下のように削減されます:

  • ユーザー追加・削除業務:従来は1ユーザーあたり30分(新規作成+テンプレート適用)かかっていたが、自動化により1分以下に削減
  • 権限変更業務:従来は1ユーザーあたり20分かかっていたが、自動化により2分に削減
  • ライセンス管理:従来は月間5時間かかっていた月次ライセンス監査が、自動化により15分に削減

月間100ユーザーの操作を想定すると、月間約100時間の業務削減が実現します。年間では約1200時間の削減となります。

セキュリティ向上

自動化による以下のセキュリティ向上が実現します:

  • 権限設定ミスの排除:手動による権限割り当てミスがなくなり、不適切な権限付与のリスクが99%削減
  • 退職者の速やかな削除:退職者が即座にすべてのSaaSから削除され、セキュリティリスク低減
  • 監査ログの自動生成:すべてのユーザー操作が自動記録され、コンプライアンス対応が容易

ベストプラクティス

1. プロファイル・権限セットの定期的な監査

Salesforceのプロファイル・権限セットは、時間とともに複雑化しやすいです。半年ごとに、不要なプロファイル・権限セットを削除し、ドキュメントを更新することが重要です。

2. テスト環境でのシミュレーション

自動化ロジックの変更は、必ずテスト環境で十分なテストを実施してから、本番環境に展開します。

3. エスカレーション処理の定義

自動化プロセスで問題が発生した場合の対応フローを事前に定義しておきます。

4. ユーザーへの周知

権限変更時には、ユーザーに事前に周知し、システムへのアクセス方法を確認することが重要です。

まとめ

Salesforceのユーザー管理は、プロファイル・権限セット・組織階層など複雑な要素が多く、手動管理では効率性とセキュリティが低下しやすいです。API連携とテンプレートベースの自動化により、これらの課題を解決できます。

さらに、複数のSaaS(Slack、Zendesk等)にまたがるユーザー管理を一元化するには、LOCKED DASのような専門的なツールの導入が現実的です。LOCKED DASにより、Salesforceを含む複数SaaSのプロビジョニング、ライセンス管理、権限制御が統合的に実現され、IT部門の負担が大幅に軽減されます。

LOCKEDの詳細を見る SaaSアカウント管理の自動化でお悩みなら、LOCKEDの無料デモをお試しください。 資料請求・デモ依頼はこちら →

関連記事

外部参考資料

商標について:本記事に記載されているOktaジョーシスMicrosoft 365SalesforceSlackZendesk等の製品名・サービス名は、各社の商標または登録商標です。

免責事項:本記事の情報は執筆時点のものであり、各製品の最新の機能・料金・仕様については、各社の公式サイトをご確認ください。本記事の内容に基づく判断・行動について、当社は一切の責任を負いかねます。

LOCKED DAS

この課題、LOCKEDで解決できます

「IGA導入RFPテンプレート」など、検討に役立つ資料を無料でご用意しています

LOCKEDシリーズの詳細資料を無料でダウンロード

導入事例、機能詳細、他社比較など、検討に必要な情報をまとめた資料をご用意しています

まずは資料で詳細を確認

製品資料で機能・料金・導入事例をまとめてご確認いただけます

資料をダウンロード