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