Explicit Role 플러그인(인스턴스 보안 강화)
명시적 역할(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_internal 사용자와 snc_external 사용자 모두가 액세스할 수 있습니다.
Explicit Role 플러그인을 사용하는 경우:
- public 역할이 있는 테이블에 인증되지 않은 public 사용자를 포함하여 외부 사용자에 대한 중요한 기록이 포함되어 있지 않은지 검토하고 검증합니다.
- 공개 역할이 있는 테이블에 중요한 데이터가 포함되어 있고 외부 사용자의 중요한 기록을 제한하려면 다음 중 하나를 수행합니다.
- 테이블에서 공개 역할을 제거하거나,
- 추가 스크립트된 ACL을 테이블에 추가합니다.
- Scripted REST API GlideRecordSecure 와 같은 모든 엔드포인트가
canRead(),canWrite(),canUpdate()및canDelete()를 사용하여 사용하거나 명시적으로 역할을 확인하는지 검토하고 확인합니다.
추가 정보
| 속성 | 설명 |
|---|---|
| 플러그인 이름 | com.glide.explicit_roles |
| 구성 유형 | 시스템 정의 > 플러그인 |
| 인스턴스 보안 센터에서 구성 | 아니요 |
| 목적 | 외부 사용자가 내부 데이터에 액세스하지 못하도록 합니다. |
| 권장 값 | 활성 |
| 기능적 영향 | (낮음) 플러그인이 테이블에 snc_internal 역할을 자동으로 할당하므로 기존 내부 사용자가 계속 필요한 접근 권한을 가지므로 큰 영향이 없습니다. |
| 보안 위험 | (높음) 외부 사용자(비직원)는 역할이 할당되지 않은 여러 중요한 테이블에 Now Platform 액세스할 수 있습니다. 내부 사용자(직원)만 액세스할 수 있어야 합니다. |
| 참조 | 명시적 역할 |
구성 단계
명시적 역할이 있는 기능 또는 애플리케이션을 만드는 경우:
- 새 기능 또는 애플리케이션에 대한 snc_external 역할을 상속하는 역할을 생성합니다.
- 외부 사용자를 생성할 때 snc_internal 역할을 제거하고 snc_external 역할을 상속하는 새로 만든 역할을 추가합니다.
- 기존 테이블에 snc_external 역할을 상속하는 새 역할을 추가할 때 테이블에 중요한 기록이 포함되어 있지 않은지 검토하고 검증합니다.
- 테이블을 만들 때 권한 있는 내부 및 외부 사용자 역할만 테이블에 액세스할 수 있는지 확인합니다.
- Scripted REST API와 같은 엔드포인트를 만들 때 GlideRecordSecure를 사용하거나
canRead(),canWrite(),canUpdate() 및canDelete()를 사용하여 역할을 명시적으로 확인합니다.
public 역할로 테이블을 만들 때 테이블에 인증되지 않은 public 사용자를 포함하여 외부 사용자에 대한 중요한 레코드가 포함되어 있지 않은지 확인합니다.