Composer의 ThingWorx 모델 정의 > 보안 > 콘텐츠 보안 정책 > 콘텐츠 보안 정책 머리글 값 구성
콘텐츠 보안 정책 머리글 값 구성
CSP 머리글 값은 플랫폼 하위 시스템의 콘텐츠 보안 정책 규칙 탭에 있는 플랫폼 하위 시스템에 구성됩니다.
콘텐츠 보안 정책 규칙 탭은 관리자만 액세스할 수 있습니다. 비관리자가 액세스를 시도하면 관리자만 액세스할 수 있다는 경고가 표시됩니다.
페이지 상단에는 콘텐츠 보안 정책 지시문에 대한 간략한 설명과 ThingWorx Platform 도움말 센터의 관련 항목에 대한 링크가 있습니다.
CSP가 활성화되어 있지 않은 경우 여기에 경고가 표시되고 변경 후 변경 사항을 적용하는 데 최대 1분이 걸릴 수 있음을 관리자에게 경고합니다.
테이블 표시
테이블에는 구성된 모든 지시문, 해당 값 및 지시문 설명이 표시됩니다.
지시문, 설명 열은 정렬할 수 있습니다.
테이블 위의 필터 텍스트 상자를 사용하여 지시문, 값 및 설명을 필터링할 수 있습니다.
작업 열
처음에 작업 열은 비어 있습니다. 지시문을 추가하고 편집하면 아이콘이 작업 열에 채워져 변경 사항을 편집, 되돌리기 및 저장하는 데 도움이 됩니다.
재설정 - 이 옵션을 선택하면 지시문이 기본값으로 재설정됩니다. 기본 지시문에만 사용할 수 있습니다.
삭제 - 이 옵션을 선택하면 선택한 지시문이 삭제됩니다. 관리자가 추가한 지시문만 삭제할 수 있습니다.
지시문 열
웹 페이지에 표시할 수 있는 리소스와 차단된 리소스를 제어하는 구성된 CSP 지시문입니다. 지시문은 기본 엔트리와 특정 응용 프로그램을 지원하기 위해 추가된 추가 지시문의 조합입니다.
값 열
지정된 지시문에 대한 정책입니다. 공통 값은 'self'입니다.
설명 열
지시문에 대한 간략한 설명입니다. 수준 2 지시문에 대한 설명만 표시됩니다. 수준 3 사양이 완료되지 않았으므로 설명이 표시되지 않습니다.
지시문 추가
추가 버튼은 필터 텍스트 상자 옆의 테이블 위에 나타납니다. 이를 통해 관리자는 새 지시문을 추가할 수 있습니다.
추가 버튼을 선택하면 새 지시문 오른쪽 패널이 열립니다.
지시문을 추가하려면 다음 단계를 완료하십시오.
1. 추가를 클릭하여 새 지시문 패널을 엽니다.
2. 새 지시문 패널에서 다음 정보를 입력합니다.
지시문 - 유효한 CSP 수준 2 또는 수준 3 지시문 이름이며 두 사양 모두에 대해 유효성이 검사됩니다. 관리자는 유효한 지시문 이름을 수동으로 입력하거나 을 클릭하여 유효한 모든 수준 2 지시문이 포함된 대화 상자를 열 수 있습니다. 수준 3 지시문은 선택할 수 없지만 수동으로 입력할 수 있습니다. 이 필드는 필수입니다. 중복된 지시문 이름은 허용되지 않습니다. 지시문 이름은 100자로 제한됩니다.
허용됨 - 필수 값이며, 값이 없는 특정 지시문을 지원하기 위해 공백이 허용됩니다. 전체 CSP 정책에 존재하면 특정 동작이 허용됩니다. 허용됨 값은 CSP 라이브러리에 대해 유효성이 검사됩니다. 유효성 검사기가 키워드를 확인하고 잘못된 구문을 차단합니다. 세미콜론(;)은 허용되지 않으며 지시문이 저장되지 않습니다. 콜론(:)과 같은 기타 구문 문제는 경고를 발생시키지만 지시문은 저장할 수 있습니다. Composer는 잘못된 값이 수준 3에서 유효할 수 있으므로 관리자가 잘못된 값을 저장할 수 있지만 유효성 검사기는 수준 2를 준수합니다. 허용됨 값이 올바르지 않으면 패널에 오류 메시지가 표시됩니다.
허용되는 문자열은 1,200자로 제한되며 가능한 한 짧아야 합니다. 총 CSP 정책(모든 지시문이 결합됨)은 1,200자로 제한됩니다.
3. 확인 표시를 클릭하여 지시문을 추가합니다.
지시문 편집
테이블에서 지시문을 선택하면 관리자가 이전의 기존 지시문을 편집할 수 있는 지시문 편집 창이 열립니다.
지시문을 편집하려면 다음 단계를 완료하십시오.
1. 지시문을 선택하여 지시문 편집 창을 엽니다.
2. 지시문 편집 창에서 다음 정보를 입력합니다.
지시문 - 편집 중인 지시문 이름입니다. 읽기 전용.
ThingWorx에서 필요함 - ThingWorx가 제대로 작동하기 위해 필요한 지시문입니다. 읽기 전용.
허용됨 - 기본 지시문에 값을 추가할 수 있습니다. 허용되는 값은 문제(누락된 키워드, 중복된 키워드, 잘못된 키워드 등)에 대한 CSP 라이브러리의 유효성이 검사됩니다. 유효성 검사기가 키워드를 확인하고 잘못된 구문을 차단합니다. 세미콜론(;)은 허용되지 않으며 지시문이 저장되지 않도록 합니다. 콜론(:)과 같은 기타 구문 문제는 경고를 발생시키지만 지시문은 저장할 수 있습니다. Composer는 잘못된 값이 수준 3에서 유효할 수 있으므로 관리자가 잘못된 값을 저장할 수 있지만 유효성 검사기는 수준 2를 준수합니다. 허용되는 값이 잘못된 경우 롤아웃에 오류 메시지가 표시됩니다.
- 마지막 지시문 값입니다. 이는 ThingWorx에서 필요함허용됨 필드의 조합입니다. 값 문자열은 1,200자로 제한되며 가능한 한 짧아야 합니다. 총 CSP 정책(모든 지시문이 결합됨)은 1,200자로 제한됩니다.
* 
일반적으로 기본 설정과 허용됨 값이 결합되므로 CSP 머리글에 삽입된 값에는 기본값과 허용되는 값이 포함됩니다. 예를 들어, frame-ancestors는 기본적으로 'self'로 설정됩니다. 관리자가 https://*.somedomain.com을 포함하도록 frame-ancestors 지시문 구성을 업데이트하는 경우 최종 머리글 값은 'self' https://*.somedomain.com입니다.
object-src'none'으로 설정하려면 기본값을 늘리는 허용됨 값 대신 허용됨 값이 기본값을 대체합니다. 예를 들어, object-src의 기본 설정은 'self'입니다. object-srchttps://*.somedomain.com으로 업데이트하는 경우 CSP로 전송된 지시문은 https://*.somedomain.com뿐입니다. 'self'를 포함하려면 'https://*.somedomain.com' 'self'와 같이 'self'를 포함하도록 object-src를 명시적으로 구성해야 합니다.
object-src 구성에 'none'이 포함되어 있으면 다른 모든 설정이 재정의됩니다. 그래서 'self' 'none'은 사실상 'none'입니다. 따옴표가 필요한 경우 큰따옴표(")가 아닌 작은따옴표(')를 사용합니다.
* 
기본적으로 frame-ancestor는 설치 시 'self'로 설정됩니다. Clickjack 필터가 web.xml 및 ThingWorx에 구성되어 있으며 CSP로의 마이그레이션이 발생한 경우 frame-ancestor'self'로 설정되고 허용 목록은 Clickjack 필터에 정의됩니다.
CSP 구성 설정 저장 및 적용
저장을 클릭하여 CSP 구성에 대한 모든 변경 사항을 저장합니다. ThingWorx가 새 정책을 적용하는 데 추가 단계는 필요하지 않습니다. 그러나 CSP 머리글이 업데이트되어 사용되기 전까지 최대 1분 정도의 지연이 발생합니다.
CSP 평가
관리자는 CSP Evaluator를 방문하여 해당 CSP를 확인할 수 있습니다. 이렇게 하려면 브라우저의 개발자 도구에서 CSP 정책을 복사하고 다음을 수행하여 CSP Evaluator에서 테스트합니다.
1. 브라우저의 개발자 도구에서 네트워크를 엽니다.
2. 브라우저의 웹 페이지를 새로 고칩니다.
3. 요청을 선택하고 Content-Security-Policy 머리글을 엽니다.
4. 값을 복사하여 CSP Evaluator에서 붙여 넣습니다.
5. CSP Evaluator에서 설정을 분석합니다.
* 
Composer에는 'script-src'에 대해 구성된 'unsafe-eval''unsafe-inline''unsafe-inline'으로 구성된 'style-src'가 필요합니다. ThingWorx에서는 이러한 설정을 변경할 수 없습니다.
도움이 되셨나요?