Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
코드로 Salesforce 향상
사용자 정의 메타데이터 유형 및 레코드 패키지 시 액세스 규칙

사용자 정의 메타데이터 유형 및 레코드 패키지 시 액세스 규칙

사용자 정의 메타데이터 유형 및 레코드를 포함하거나 판독하는 관리 패키지를 개발할 경우 액세스 규칙을 이해하십시오.

필수 Edition

지원 제품: Salesforce Classic 및 Lightning Experience

관리 패키지의 보호된 사용자 정의 메타데이터 유형 지원 제품: Developer Edition 및 스크래치 조직

패키지 업로드 및 설치 지원 제품: Group, Enterprise, Performance, UnlimitedDeveloper Edition

설치된 패키지 GroupProfessional Edition에서 사용자 정의 메타데이터 유형 레코드를 작성, 편집 및 삭제합니다.

사용자 정의 메타데이터 유형을 만들 때 패키지 유형과 가시성 필드에 따라 사용자 정의 메타데이터 유형이 공개인지 아니면 비공개인지가 결정됩니다. 개발자 또는 스크래치 조직에서만 보호된 사용자 정의 메타데이터 유형을 만들 수 있으며 이후에는 관리 패키지에서 배포됩니다.

사용자 정의 메타데이터 유형이 2GP를 사용하여 패키지 수준으로 보호되는 경우 관리 패키지 내 코드에서만 레코드에 액세스할 수 있습니다. 또한 같은 네임스페이스 내에 있더라도 구독자 및 기타 패키지는 사용자 정의 메타데이터 유형이나 그 레코드에 액세스할 수 없습니다. 2GP는 Salesforce DX 명령줄 인터페이스(SFDX CLI)를 통해서만 작성할 수 있습니다.

사용자 정의 메타데이터 유형에 대한 패키지 수준 보호를 활성화하려면 선언적으로 가시성 필드를 PackageProtected로 설정하거나 메타데이터 API를 사용합니다.

사용자 정의 메타데이터 유형이 보호되는 네임스페이스인 경우 사용자 정의 메타데이터 유형과 같은 네임스페이스에 있는 코드는 레코드를 읽을 수 있습니다. 유형 또는 보호된 레코드를 포함하지 않는 네임스페이스에 있는 코드는 보호된 레코드를 판독할 수 없습니다. 패키지의 액세스 가능성을 네임스페이스로 보호됨으로 설정하려면 가시성 필드를 선언적으로 또는 메타데이터 API를 사용하여 보호됨으로 설정합니다.

경고
경고 보호 사용자 정의 메타데이터 유형이 관리 패키지 외부에 있을 경우 공개 사용자 정의 메타데이터 유형과 같은 방식으로 동작합니다. 공개 사용자 정의 메타데이터 유형은 게스트 사용자를 포함해 모든 프로필에 대해 읽을 수 있습니다. 암호, 개인 식별 정보 또는 비공개 데이터를 이러한 레코드에 저장하지 마십시오. 보호 사용자 정의 메타데이터 유형은 관리 패키지에서만 사용하십시오. 관리 패키지 외부에서는 명명된 자격 증명 또는 암호화된 사용자 정의 필드를 사용하여 OAuth 토큰과 같은 암호, 비밀번호 및 기타 기밀 자료를 저장하십시오.

유형이 공개 상태이면 해당 유형을 보호 상태로 변환할 수 없습니다. 구독자는 보호된 유형의 레코드를 만들 수 없습니다.

유형을 보호에서 공개 상태로 변경하는 경우 보호되는 해당 레코드는 보호 상태로 유지되고 기타 모든 레코드는 공개 상태가 됩니다. 설정을 사용하여 보호된 유형에 레코드를 만들면 기본적으로 보호된 구성 요소가 선택됩니다.

관리 패키지가 릴리스되면 패키지 후속 버전을 덜 제한적인 보호 수준으로 변경될 수 있습니다. 예를 들어 패키지로 보호된 사용자 정의 메타데이터 유형을 네임스페이스 보호됨으로 다시 릴리스할 수 있습니다. 그러나 관리 패키지로 릴리스된 후 더 제한적인 보호 수준으로 변경할 수는 없습니다.

엔티티 액세스 가능성
패키지 작성자 조직
  • 패키지를 개발하는 조직의 관리자가 해당 유형의 레코드 위치에 상관없이 자체 패키지에서 사용자 정의 메타데이터 레코드를 만들 수 있으며, 관리자가 패키지에 레코드를 추가하는 경우 레코드가 구독자 조직에 배포됩니다.
  • 패키지 작성자 조직은 유형이 다른 조직에서 생성된 경우에도 해당 유형이 생성된 조직에서 보호 상태의 관리되는 릴리스 레코드를 삭제할 수 있습니다. 구독자가 업그레이드하면 레코드가 구독자 조직에서 삭제됩니다.
메타데이터 API 콜아웃 메타데아터 API 콜아웃이 구독자 조직 코드에 의해 실행되는 것처럼 작동하며, 그 결과 일부 사용자는 콜아웃을 사용하여 구독자 조직에서 생성한 모든 레코드를 보거나 변경할 수 있습니다. 그러나 콜아웃은 설치된 관리 패키지의 공개 레코드를 보거나 변경하는 작업에만 사용됩니다. 구독자의 조직에서 메타데이터 API를 사용할 구독자의 메타데이터 API 끝점에 원격 사이트 설정을 구성합니다.
Apex의 메타데이터 Apex 콜아웃의 메타데이터는 구독자 조직 코드에 의해 실행되는 것처럼 작동하며, 그 결과 일부 사용자는 콜아웃을 사용하여 구독자 조직에서 생성한 모든 레코드를 보거나 변경할 수 있습니다. 콜아웃은 설치된 관리 패키지의 공개 레코드 및 보호된 레코드를 보거나 변경하는 작업에만 사용할 수 있습니다.
레코드 작성자
  • 조직에서 보호된 사용자 정의 메타데이터 레코드를 만드는 경우 사용자의 코드, 비관리 패키지의 코드 및 같은 네임스페이스의 코드만 레코드에 액세스할 수 있습니다.
  • 레코드 작성자는 메타데이터 API 콜아웃을 사용하면 관리되는 코드에서도 패키지가 해제된 레코드를 만들 수 있습니다. 관리되는 설치 코드에 모든 콜아웃을 실행하도록 구성된 원격 사이트 설정이 필요합니다. 그러나 작성자 및 구독자는 메타데이터 API를 사용하여 설치된 관리되는 패키지에 사용자 정의 메타데이터 레코드를 만들 수 없습니다.
  • 사용자 정의 메타데이터 유형의 필드가 업그레이드 가능 상태이면 레코드 작성자가 작성자의 자체 조직에서 레코드의 필드 값을 변경할 수 있습니다. 그런 다음 레코드 작성자는 다른 조직에서 유형을 만든 경우에도 새 버전의 패키지를 업로드할 수 있습니다. 레코드가 관리 패키지에 있는 경우 조직에서 새 버전으로 업그레이드하면 이러한 변경 사항이 구독자 조직에 전파됩니다.
  • 필드가 구독자 제어 상태인 경우 구독자는 자체 조직에서 값을 변경할 수도 있습니다. 레코드가 관리 패키지에 있으면 새 필드 값이 새 패키지 구독자에게만 전파됩니다. 최신 버전의 패키지로 업그레이드하는 기존 구독자에게는 새 필드 값이 제공되지 않습니다.
구독자 조직 필드가 구독자 제어 상태인 경우 구독자는 자체 조직에서 값을 변경할 수도 있습니다. 레코드가 관리 패키지에 있으면 새 필드 값이 구독자 조직 새 패키지 구독자에게만 전파됩니다. 최신 버전의 패키지로 업그레이드하는 기존 구독자에게는 새 필드 값이 제공되지 않습니다.
Apex의 SQL 쿼리

다음 조건 중 하나에 해당하는 경우 Apex 코드의 SOQL 쿼리를 사용하여 사용자 정의 메타데이터 레코드를 볼 수 있습니다.

  • 레코드는 공개 상태입니다.
  • Apex 코드가 사용자 정의 메타데이터 유형과 동일한 패키지에 있습니다.
  • Apex 코드가 레코드와 동일한 패키지에 있습니다.
 
로드 중
Salesforce Help | Article