開発システムアーキテクチャSalesforce システムライセンスとプロファイル

ライセンスとプロファイル

Salesforceのユーザーライセンスタイプ、プロファイル、Portal Roleの構成と、それぞれの権限について解説します。


ライセンスタイプの概要

本システムで使用しているライセンス

ライセンスタイプ用途対象ユーザー費用
Salesforce内部ユーザー従業員、管理者
Customer Community外部ユーザー(カスタマー)一部のブランドユーザー
Partner Community外部ユーザー(パートナー)主要なブランドユーザー中〜高
💡

Customer vs Partner Community

  • Customer Community: 限定的な機能。主に閲覧と簡単な編集。
  • Partner Community: より多くの機能。営業プロセス、レポート、Dashboardなどにアクセス可能。

本システムでは、ブランドユーザーの役割に応じて使い分けています。


ライセンスタイプ別の機能比較

基本機能

機能SalesforceCustomer CommunityPartner Community
基本オブジェクトアクセス✅ 全て⚠️ 制限あり✅ ほぼ全て
カスタムオブジェクト✅ 無制限⚠️ 10個まで(Plus: 100個)✅ 無制限
Chatter
Reports & Dashboards❌(Plus: ✅)
API Access⚠️ 制限あり
Sharing Sets(旧)N/A
Sharing Set SettingsN/A

共有設定に関する制約

項目Customer CommunityPartner Community
Sharing Sets(旧)❌ 使用不可✅ 使用可能
Sharing Set Settings✅ 使用可能✅ 使用可能
Role Hierarchy❌(Portal Roleのみ)❌(Portal Roleのみ)
Sharing Rules✅(Portal Role経由)✅(Portal Role経由)
⚠️

重要: 本システムでは Sharing Set Settings(新しい方)を使用しているため、Customer Community Licenseでも問題なく動作します。


プロファイル構成

主要なプロファイル

内部ユーザー向け

プロファイル名対象ユーザー主な権限
System Administratorシステム管理者すべての権限
Standard User一般従業員標準的な権限
Executive経営陣高度な閲覧権限

外部ユーザー向け(Community)

プロファイル名ライセンス対象ユーザー
R Design | Maker Community UserCustomer/Partner Communityブランド企業の一般ユーザー
R Design | Maker Community AdminPartner Communityブランド企業の管理者
R Design | Order Fulfillment UserPartner Community製造・物流パートナー
R Design | Support TeamPartner Communityサポートチーム

プロファイル詳細: R Design | Maker Community User

基本情報

Profile Name: R Design | Maker Community User
User License: Customer Community または Partner Community
Description: ブランド企業の一般ユーザー向けプロファイル

オブジェクト権限(主要なもの)

ObjectCreateReadEditDeleteView AllModify All
Account⚠️
Contact⚠️
Opportunity⚠️⚠️
Product (Product__c)
Design Family
My Catalog
Vendor Brand⚠️

⚠️ = Sharing Set Settingsで制御

システム権限

権限有効/無効
API Enabled
View Setup and Configuration
Customize Application
Manage Users
View All Data
Modify All Data

Sharing Set Settings

適用されるSharing Set: Maker Community User

アクセス許可:

ObjectAccess Determined ByAccess Level
AccountUser.Contact.Account = Account.Owner.AccountRead/Write
Vendor BrandUser.Account = Vendor Brand.Owner_Account__cRead/Write
デザイン・ファミリーUser.Account = デザイン・ファミリー.Maker_Code__c.Owner_Account__cRead/Write
ProductUser.Account = Product.Owner_Account__cRead/Write
Associated MaterialUser.Account = Associated Material.Owner.AccountRead/Write
Associated ProductsUser.Account = Associated Products.Owner.AccountRead/Write
CategoryUser.Account.Customer_Users_Access_to_Default_Data__c = Category.Owner_Account__cRead Only

Portal Role Hierarchy

概念

Community Userには、標準のRole Hierarchyの代わりに、Portal Roleが割り当てられます。

主要なPortal Role

[Internal Roles]
  └─ Executives
      └─ Managers

[Portal Roles]
  ├─ AMOCC PTE. LTD.(システム管理会社)
  │   └─ AMOCC Admin

  ├─ R.Design Support Team(サポートチーム)
  │   └─ Support Staff

  ├─ Brand A Standard
  │   └─ Brand A Staff

  ├─ Brand B Standard
  │   └─ Brand B Staff

  └─ Order Fulfillment Partner
      └─ Fulfillment Staff
🔗

Portal Roleの階層

上位Roleのユーザーは、下位Roleのユーザーが所有するレコードに自動的にアクセス可能です(OWD設定による)。

Portal Roleの設定

Setup → Digital Experiences → All Sites → [Site Name] → Administration 
→ Members → [User詳細] → Portal Role

ユーザー作成フロー

新規ブランドユーザーのオンボーディング

1. Contactレコードの作成

Object: Contact
Fields:
  - FirstName: ユーザーの名
  - LastName: ユーザーの姓
  - Email: ログインメールアドレス
  - AccountId: Community Licensee Account(所属ブランド)

2. Userレコードの作成

Setup → Users → New User

必須フィールド:
  - First Name: [名]
  - Last Name: [姓]
  - Email: [メールアドレス]
  - Username: [一意のユーザー名]@example.com
  - User License: Customer Community または Partner Community
  - Profile: R Design | Maker Community User
  - Contact: [手順1で作成したContact]
  - Active: ✅

3. Portal Roleの設定

User詳細ページ → Portal Role → [ブランド名] Standard

4. Vendor BrandのOwner_Account__cを確認

SELECT Id, Name, Owner_Account__c
FROM Maker_Code__c
WHERE Account__c = [ブランドのBusiness Account]

Owner_Account__c が Community Licensee Account のIDと一致していることを確認。

5. テスト

  1. ユーザーとしてログイン
  2. 自ブランドのレコードにアクセス可能か確認
  3. 他ブランドのレコードにアクセス不可か確認

権限の累積効果

レコードアクセス権限の決定フロー

権限レベルの累積

例: Brand A User1 が Brand A User2 のレコードにアクセス

1. OWD = Private → アクセス不可(初期状態)
2. Sharing Set Setting → Edit権限を追加
3. 最終結果 → Edit権限

ライセンスコストの最適化

Customer vs Partner Community の選択基準

要件推奨ライセンス
基本的なレコード閲覧・編集のみCustomer Community
カスタムオブジェクトが10個以下Customer Community
Reports & Dashboards が必要Customer Community Plus または Partner Community
複雑なビジネスプロセスPartner Community
API統合が必要Partner Community
💰

コスト考慮事項

  • Customer Community: ユーザーあたり月額数千円程度
  • Partner Community: ユーザーあたり月額1万円以上

ブランドごとに必要な機能を精査し、適切なライセンスを選択することで、コストを最適化できます。


Permission Sets(権限セット)

概念

Profileに追加して、特定のユーザーに追加権限を付与する仕組み。

使用例

Brand Admin Permission Set

用途: ブランド内の管理者に追加権限を付与

追加権限:

  • Vendor Brand の Edit権限拡大
  • Opportunityの作成権限
  • Reportの実行権限

割り当て方法:

User詳細ページ → Permission Set Assignments → Assign Permission Sets

セキュリティのベストプラクティス

1. 最小権限の原則

✅ 必要最小限の権限のみを付与
❌ "念のため" の権限付与は避ける

2. Profile vs Permission Set

Profile: 基本的な権限(すべてのユーザー共通)
Permission Set: 追加権限(特定のユーザーのみ)

3. 定期的なレビュー

  • 四半期ごとにユーザー権限をレビュー
  • 不要になった権限を削除
  • 退職者のアカウントを無効化

4. ログ監視

Setup → Audit Trail
Setup → Login History
Setup → Field History Tracking

トラブルシューティング

「ログインできない」

診断手順

  1. ユーザーがActiveか確認

    SELECT Id, Name, IsActive, UserType
    FROM User
    WHERE Email = 'user@example.com'
  2. Contactに紐付いているか確認

    SELECT Id, Name, ContactId, Contact.AccountId
    FROM User
    WHERE Email = 'user@example.com'
  3. Profileが正しいか確認

    SELECT Id, Name, Profile.Name, Profile.UserLicense.Name
    FROM User
    WHERE Email = 'user@example.com'

「レコードにアクセスできない」

診断手順

  1. Profileのオブジェクト権限を確認

    Setup → Profiles → [Profile Name] → Object Settings
  2. Sharing Set Settingsを確認

    Setup → Sharing Settings → Sharing Set Settings
  3. Accountが一致しているか確認

    SELECT 
      User.Contact.AccountId as UserAccount,
      Design_Family_Name__c.Maker_Code__r.Owner_Account__c as RecordAccount
    FROM Design_Family_Name__c
    WHERE Id = 'a1x...'

関連ドキュメント


更新履歴

  • 2026年1月21日: 初版作成