Explicit Role 플러그인(인스턴스 보안 강화)

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기4분
  • 명시적 역할(com.glide.explicit_roles) 플러그인을 활성화하여 B2B 및 B2C 애플리케이션에 대한 새로운 snc_internal 및 snc_external 역할을 인스턴스에 제공하여 외부 사용자가 내부 데이터에 액세스하지 못하도록 합니다. 엔터프라이즈 사용자(직원)에게는 내부 역할이 있어야 하고 엔터프라이즈 사용자가 아닌 사용자(비직원)에게는 외부 역할이 있어야 합니다.

    명시적 역할 플러그인을 설치하는 경우:

    • 기존의 모든 사용자에게 새 snc_internal 역할이 할당됩니다. 또한 역할이 없는 모든 테이블에 snc_internal 역할을 할당합니다.
    • 명시적 역할 플러그인 Now Platform 을 활성화한 후 사용자 또는 테이블을 생성하면 사용자 또는 테이블에 snc_internal 역할이 할당됩니다.
    • 이렇게 하면 Now Platform snc_external 역할이 있는 사용자가 snc_external 역할과 명시적으로 할당되지 않은 테이블에 액세스하지 못합니다.
    • public 역할의 모든 테이블에는 내부 또는 외부 사용자가 액세스할 수 있습니다.
    • 일부 Service Portal 위젯에는 로그인이 필요하지만 특정 사용자 역할이 필요하지 않습니다. 명시적 역할 플러그인을 설치한 후에는 외부 사용자가 이러한 포털에 액세스할 수 없게 됩니다.
      • 외부 사용자에게 액세스를 허용하려면 위젯을 편집하여 필요한 역할을 공백 에서 snc_external snc_internal로 변경합니다.
      • 이 문제의 예로는 외부 사용자가 케이스 기록에 파일을 첨부할 수 있어야 하는 케이스 관리 애플리케이션을 사용하는 고객을 들 수 있습니다. 설명된 대로 encryption-context-picker 위젯의 구성을 변경하면 외부 사용자가 예상대로 연결할 수 있습니다.
      • 위젯 구성에 대한 자세한 내용은 위젯 인스턴스 옵션 구성을 참조하십시오
    주:
    Explicit Roles 플러그인이 활성화되거나 활성화되지 않은 인스턴스 간에 시스템 업데이트 세트를 이동하지 마십시오. 자세한 내용은 시스템 업데이트 세트를 참조하십시오.

    역할 요약

    snc_internal
    이 역할은 모든 내부 사용자(직원 또는 조직 내부)에 할당됩니다. 추가된 모든 새 사용자는 사용자에게 snc_external 역할이 이미 할당되어 있지 않은 경우 첫 번째 로그인/가장 중에 이 역할도 부여받습니다. 역할이 없는 기존의 모든 접근 제어 규칙(ACL)은 'snc_internal' 역할로 패치됩니다. 새 ACL의 경우 역할 없이 ACL이 저장되면 에서 Now Platform 이 역할을 자동으로 추가합니다.
    snc_external
    이 역할은 사용자가 조직 외부에 있으며 다음 경우를 제외하고는 자원에 액세스할 수 없음을 나타냅니다.
    • snc_external 역할에 대해 ACL을 통한 액세스를 명시적으로 허용하는 경우 또는
    • 명시적으로 추가 역할을 부여합니다.
    기본적으로 snc_external 역할을 가진 사용자는 프로세서나 UI 페이지와 같은 기록이 아닌 유형의 자원에도 액세스할 수 없습니다.
    공개
    공용 역할이 할당된 엔터티에는 snc_internal 사용자와 snc_external 사용자 모두가 액세스할 수 있습니다.
    Explicit Role 플러그인을 사용하는 경우:
    1. public 역할이 있는 테이블에 인증되지 않은 public 사용자를 포함하여 외부 사용자에 대한 중요한 기록이 포함되어 있지 않은지 검토하고 검증합니다.
    2. 공개 역할이 있는 테이블에 중요한 데이터가 포함되어 있고 외부 사용자의 중요한 기록을 제한하려면 다음 중 하나를 수행합니다.
      • 테이블에서 공개 역할을 제거하거나,
      • 추가 스크립트된 ACL을 테이블에 추가합니다.
    3. Scripted REST API GlideRecordSecure 와 같은 모든 엔드포인트가 canRead(),canWrite(),canUpdate()canDelete()를 사용하여 사용하거나 명시적으로 역할을 확인하는지 검토하고 확인합니다.

    추가 정보

    속성 설명
    플러그인 이름 com.glide.explicit_roles
    구성 유형 시스템 정의 > 플러그인
    인스턴스 보안 센터에서 구성 아니요
    목적 외부 사용자가 내부 데이터에 액세스하지 못하도록 합니다.
    권장 값 활성
    기능적 영향 (낮음) 플러그인이 테이블에 snc_internal 역할을 자동으로 할당하므로 기존 내부 사용자가 계속 필요한 접근 권한을 가지므로 큰 영향이 없습니다.
    보안 위험 (높음) 외부 사용자(비직원)는 역할이 할당되지 않은 여러 중요한 테이블에 Now Platform 액세스할 수 있습니다. 내부 사용자(직원)만 액세스할 수 있어야 합니다.
    참조 명시적 역할

    구성 단계

    명시적 역할이 있는 기능 또는 애플리케이션을 만드는 경우:
    1. 새 기능 또는 애플리케이션에 대한 snc_external 역할을 상속하는 역할을 생성합니다.
    2. 외부 사용자를 생성할 때 snc_internal 역할을 제거하고 snc_external 역할을 상속하는 새로 만든 역할을 추가합니다.
    3. 기존 테이블에 snc_external 역할을 상속하는 새 역할을 추가할 때 테이블에 중요한 기록이 포함되어 있지 않은지 검토하고 검증합니다.
    4. 테이블을 만들 때 권한 있는 내부 및 외부 사용자 역할만 테이블에 액세스할 수 있는지 확인합니다.
    5. Scripted REST API와 같은 엔드포인트를 만들 때 GlideRecordSecure를 사용하거나 canRead(),canWrite(), canUpdate() 및 canDelete()를 사용하여 역할을 명시적으로 확인합니다.

    public 역할로 테이블을 만들 때 테이블에 인증되지 않은 public 사용자를 포함하여 외부 사용자에 대한 중요한 레코드가 포함되어 있지 않은지 확인합니다.