ライセンスとプロファイル
Salesforceのユーザーライセンスタイプ、プロファイル、Portal Roleの構成と、それぞれの権限について解説します。
ライセンスタイプの概要
本システムで使用しているライセンス
| ライセンスタイプ | 用途 | 対象ユーザー | 費用 |
|---|---|---|---|
| Salesforce | 内部ユーザー | 従業員、管理者 | 高 |
| Customer Community | 外部ユーザー(カスタマー) | 一部のブランドユーザー | 中 |
| Partner Community | 外部ユーザー(パートナー) | 主要なブランドユーザー | 中〜高 |
💡
Customer vs Partner Community
- Customer Community: 限定的な機能。主に閲覧と簡単な編集。
- Partner Community: より多くの機能。営業プロセス、レポート、Dashboardなどにアクセス可能。
本システムでは、ブランドユーザーの役割に応じて使い分けています。
ライセンスタイプ別の機能比較
基本機能
| 機能 | Salesforce | Customer Community | Partner Community |
|---|---|---|---|
| 基本オブジェクトアクセス | ✅ 全て | ⚠️ 制限あり | ✅ ほぼ全て |
| カスタムオブジェクト | ✅ 無制限 | ⚠️ 10個まで(Plus: 100個) | ✅ 無制限 |
| Chatter | ✅ | ✅ | ✅ |
| Reports & Dashboards | ✅ | ❌(Plus: ✅) | ✅ |
| API Access | ✅ | ⚠️ 制限あり | ✅ |
| Sharing Sets(旧) | N/A | ❌ | ✅ |
| Sharing Set Settings | N/A | ✅ | ✅ |
共有設定に関する制約
| 項目 | Customer Community | Partner 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 User | Customer/Partner Community | ブランド企業の一般ユーザー |
| R Design | Maker Community Admin | Partner Community | ブランド企業の管理者 |
| R Design | Order Fulfillment User | Partner Community | 製造・物流パートナー |
| R Design | Support Team | Partner Community | サポートチーム |
プロファイル詳細: R Design | Maker Community User
基本情報
Profile Name: R Design | Maker Community User
User License: Customer Community または Partner Community
Description: ブランド企業の一般ユーザー向けプロファイルオブジェクト権限(主要なもの)
| Object | Create | Read | Edit | Delete | View All | Modify 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
アクセス許可:
| Object | Access Determined By | Access Level |
|---|---|---|
| Account | User.Contact.Account = Account.Owner.Account | Read/Write |
| Vendor Brand | User.Account = Vendor Brand.Owner_Account__c | Read/Write |
| デザイン・ファミリー | User.Account = デザイン・ファミリー.Maker_Code__c.Owner_Account__c | Read/Write |
| Product | User.Account = Product.Owner_Account__c | Read/Write |
| Associated Material | User.Account = Associated Material.Owner.Account | Read/Write |
| Associated Products | User.Account = Associated Products.Owner.Account | Read/Write |
| Category | User.Account.Customer_Users_Access_to_Default_Data__c = Category.Owner_Account__c | Read 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 → [ブランド名] Standard4. 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. テスト
- ユーザーとしてログイン
- 自ブランドのレコードにアクセス可能か確認
- 他ブランドのレコードにアクセス不可か確認
権限の累積効果
レコードアクセス権限の決定フロー
権限レベルの累積
例: 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トラブルシューティング
「ログインできない」
診断手順
-
ユーザーがActiveか確認
SELECT Id, Name, IsActive, UserType FROM User WHERE Email = 'user@example.com' -
Contactに紐付いているか確認
SELECT Id, Name, ContactId, Contact.AccountId FROM User WHERE Email = 'user@example.com' -
Profileが正しいか確認
SELECT Id, Name, Profile.Name, Profile.UserLicense.Name FROM User WHERE Email = 'user@example.com'
「レコードにアクセスできない」
診断手順
-
Profileのオブジェクト権限を確認
Setup → Profiles → [Profile Name] → Object Settings -
Sharing Set Settingsを確認
Setup → Sharing Settings → Sharing Set Settings -
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日: 初版作成