롤: 상위롤을 가진 유저는 하위롤이 작성한 데이터에 액세스 가능, 
하위롤의 유저는 상위롤을 가진 유저가  작성한 데이터에 액세스 불가능
같은 계층의 롤을 가진유저끼리는 액세스 가능

 

예제)

 

 

점장의 경우

점원과 점원2의 역할(role)을 가진 유저가 작성한 레코드는 액세스가 가능하다

 

반대로, 점원과 점원2의 역할을 가진 유저는 점장이 작성한 레코드 액세스가 불가능하다

또한, 점원과 점원2의 경우 같은 계층이므로 서로가 작성한 레코드를 액세스 할 수 있다

1.프로필>설정>계정 로그인 액세스 허가
액세스 기간 설정

2.설정>회사설정>조직정보
세일즈포스 조직ID 저장

3.등록자조직 계정 로그인
Subscribers>세일즈포스 조직ID 입력>선택 후 관리자계정 로그인

4.로그>감시>디버깅로그

5.유저추적플래그 작성
추적대상 엔티티종류(유저, apex class, apex 트리거 등 )
추적대상 엔티티명(유저명, 클래스명 등)
개시일
유효기간
디버깅레벨 설정

 

세일즈포스는 프로필과 권한집합을 설정함으로써

유저가 액세스 가능한 오브젝트를 제한할 수 있다

 

사용방법은

 

점원 프로필을 가진 점원1과 점원2 유저가 있는데

점원2 유저의 경우 특별하게 점장과 동일한 권한을 부여하고 싶은경우

 

권한집합에서 점장과 동일한 권한을 부여하면 된다

따라서 프로필을 2개 작성하지 않아도 된다

 

사용자>프로필

추가한 오브젝트의 기본 액세스에서

읽기, 만들기, 편집, 삭제를 체크함으로써 권한이 부여된다

단, 데이터 행정의 모두보기, 모두수정을 체크한 경우

레코드에 대한 액세스 권한(공유 오브젝트)이 없어도 액세스가 가능해진다(풀 액세스권한이 부여됨)

 

사용자>권한집합

 

 

@부여방법

 

프로필의 경우

사용자>사용자>유저>편집

 

@권한집합의 경우

사용자>사용자>유저>정보>권한집합 할당

'OS > Salesforce' 카테고리의 다른 글

[salesforce] 역할(role)  (0) 2022.05.22
[salesforce] 사용자 로그취득  (0) 2022.05.22
[salesforce] 공유오브젝트  (0) 2022.05.22

https://developer.salesforce.com/docs/atlas.ja-jp.216.0.apexcode.meta/apexcode/apex_bulk_sharing_understanding.htm

 

共有の理解 | Apex 開発者ガイド | Salesforce Developers

共有は、すべてのカスタムオブジェクトと、Account、Contact、Opportunity、Case などの多くの標準オブジェクトのレコードレベルのアクセス制御を実現します。管理者は最初にオブジェクトの組織

developer.salesforce.com

레코드 소유자(owner) ALL : 자신의 데이터에 풀액세스 가능하다, 레코드 소유자의 ID가 등록된다
룰(rule) Read : 공유 룰에서 설정한 액세스권한, 그룹ID가 등록된다
Sharing Edit : 개발자가 추가한 권한, 그룹ID가 등록된다

 

共有の理解

共有は、すべてのカスタムオブジェクトと、Account、Contact、Opportunity、Case などの多くの標準オブジェクトのレコードレベルのアクセス制御を実現します。管理者は最初にオブジェクトの組織の共有アクセスレベルを設定し、レコード所有者、ロール階層、共有ルール、共有の直接設定などに基づいてその他のアクセス権を付与します。開発者は Apex 共有管理を使用できるようになり、Apex を使用したプログラムからのアクセス権の付与が可能になります。

レコードに対するほとんどの共有は、関連する共有オブジェクトで保持されます。これは、他のプラットフォームのアクセス制御リスト (ACL) と似た機能です。

共有のタイプ

Salesforce には、次のタイプの共有があります。

共有管理共有管理では、レコードの所有者、ロール階層、および共有ルールに基づいて Lightning プラットフォームによって付与される共有アクセス権を使用します。
レコードの所有者各レコードは、ユーザまたは場合によっては、カスタムオブジェクト、ケース、およびリードのキューが所有します。レコードの所有者にはフルアクセスが自動的に付与され、レコードを参照、編集、移行、共有、および削除できます。ロール階層ロール階層により、その階層内の別のユーザよりも上位のユーザが、下位ユーザの所有レコードまたは下位ユーザに共有されているレコードに対して、同じレベルのアクセス権を持つことができます。そのため、ロール階層内のレコード所有者より上位のユーザにも、そのレコードに対するフルアクセスが暗黙的に付与されます。ロール階層は共有するレコードと共に維持されません。代わりに、ロール階層アクセス権が実行時に取得されます。詳細は、Salesforce オンラインヘルプの「階層を使用したアクセス権の制御」を参照してください。共有ルール共有ルールは、システム管理者が、特定のユーザグループが所有するレコードへのアクセス権を特定のグループまたはロール内のユーザに自動的に付与する場合に使用します。共有ルールは、AppExchange からインストールしたアプリケーションのパッケージに追加したり、共有ロジックをサポートする目的で使用したりすることはできません。

共有ルールは、レコード所有者または他の条件に基づいて作成できます。条件に基づく共有ルールの作成に Apex は使用できません。また、Apex を使用して条件に基づく共有をテストできません。

Force.com による共有管理で追加された暗黙的な共有はすべて、Salesforce ユーザインターフェース、SOAP API、または Apex を使用して直接変更することはできません。

ユーザによる共有管理 (共有の直接設定)ユーザによる共有管理により、レコードの所有者や、レコードに対するフルアクセスを持つユーザは、ユーザまたはユーザグループとレコードを共有できます。一般にこの処理は、エンドユーザが単一レコードに対して実行します。レコードの所有者とロール階層内でその所有者の上位にあるユーザにのみ、レコードに対するフルアクセスが付与されます。他のユーザにフルアクセスを付与することはできません。特定のオブジェクトに対するオブジェクトレベルの「すべて変更」権限を持つユーザは、レコードを手動で共有することもできます。レコードの所有者が変更された場合や、共有で付与されたアクセス権でオブジェクトの組織の共有デフォルトアクセスレベルを超える追加アクセス権が許可されない場合に、ユーザによる共有管理が削除されます。Apex による共有管理開発者は、Apex による共有管理を使用すると、アプリケーションの特定の共有要件を Apex または SOAP API によるプログラムでサポートできるようになります。この種類の共有は、共有管理に類似しています。「すべてのデータの編集」権限を持つユーザのみが、レコードへの Apex による共有管理を追加または変更できます。Apex による共有管理は、レコードの所有者を変更しても維持されます。
 

メモ

Apex 共有の理由と Apex による共有管理の再適用は、カスタムオブジェクトでのみ使用できます。

共有の理由項目

Salesforce ユーザインターフェースでカスタムオブジェクトの [理由] 項目は、レコードで使用される共有の種類を指定します。この項目は、Apex または API では rowCause となります。

次の各リスト項目は、レコードに使用される共有の種類です。表は、[理由] 項目値と関連する rowCause 値を示します。
  • 共有管理
    [理由] 項目値rowCause 値 (Apex または API で使用)
    取引先の共有 ImplicitChild
    関連するレコードの所有者または共有 ImplicitParent
    所有者 Owner
    商談チーム Team
    共有ルール Rule
    テリトリー割り当てルール TerritoryRule
  • ユーザによる共有管理
    [理由] 項目値rowCause 値 (Apex または API で使用)
    共有の直接設定 Manual
    テリトリー直接設定 TerritoryManual
  • Apex による共有管理
    [理由] 項目値rowCause 値 (Apex または API で使用)
    開発者が定義 開発者が定義

Apex による共有管理で表示されている理由は開発者が定義します。

アクセスレベル

レコードへのユーザのアクセス権を決定する場合、最も権限の高いアクセスレベルを使用します。ほとんどの共有オブジェクトは、次のアクセスレベルをサポートしています。

アクセスレベルAPI 名説明
非公開 None レコードの所有者とロール階層内でその所有者の上位にあるユーザのみがレコードを参照または編集できます。このアクセスレベルは AccountShare オブジェクトにのみ適用されます。
参照のみ Read 指定されたユーザまたはグループがレコードの参照のみを実行できます。
参照・更新 Edit 指定されたユーザまたはグループがレコードを参照および編集できます。
フルアクセス All 指定されたユーザまたはグループがレコードを参照、編集、移行、共有、削除できます。
 
メモ
このアクセスレベルは、共有管理でのみ付与できます。

共有に関する考慮事項

Apex トリガとユーザレコードの共有次の方法で開始されたトリガがレコードの所有者を変更する場合は、実行ユーザに新しい所有者のユーザレコードへの参照アクセス権が必要です。
  • API
  • 標準ユーザインターフェース
  • Visualforce 標準コントローラ
  • with sharing キーワードで定義されたクラス
with sharing キーワードで定義されていないクラスを介して開始されたトリガは、システムモードで実行されます。この場合、トリガは実行ユーザに特定のアクセス権を要求しません。

+ Recent posts