AEM as a Cloud Service 보안 고려 사항 security-considerations
AEM Trust Store aem-trust-store
AEM은 비대칭 암호화 작업을 지원하기 위해 콘텐츠 저장소 내의 전역 트러스트 스토어에 인증서를 저장합니다. 콘텐츠는 공개되며 기본적으로 게시자 인스턴스의 모든 사람이 익명으로 액세스할 수 있습니다.
Trust Store의 특징 truststore-characteristics
-
Trust Store는
/etc/truststore아래에 있으며 Java™ 키 저장소 파일, 키 저장소 암호 및 저장소 메타데이터로 구성됩니다. 포함된 인증서는 기본적으로 API를 통해 모든 사람이 액세스할 수 있지만, 암호와 키 저장소는 기술적인 이유로 암호화됩니다. -
기본 제공 인증서는 HTTPS 및 SAML 지원에만 사용되며 먼저 저장소를 수동으로 생성해야 합니다.
-
고객은 키 저장소 API를 통해 자신의 코드에서 사용할 수 있습니다.
-
Trust Store는 아래와 같이 도구 -보안 -Trust Store의 UI를 통해서 또는
https://serveraddress:serverport/libs/granite/security/content/truststore.html에 액세스하여 관리할 수 있습니다.
-
Trust Store에 대한 액세스는 사용 사례에 따라 저장소 액세스 제어에 의해 추가로 제한될 수 있습니다.
jcr:all 거부 정책을 사용할 수 있습니다.시스템 속성에 대한 익명 액세스 제한 restrict-anonymous-access-to-system-properties
AEM은 jcr:createdBy 및 jcr:lastModifiedBy과(와) 같은 시스템 메타데이터를 저장소의 일반 콘텐츠와 함께 노드 속성으로 저장합니다. 구성 및 액세스 제어 설정에 따라 이러한 노드를 JSON 또는 XML로 렌더링하면 PII(개인 식별 정보)가 노출될 수 있습니다.
다른 저장소 데이터와 마찬가지로 이러한 속성에 대한 액세스는 Oak 권한 부여 스택에 의해 제어됩니다. 최소 권한의 원칙에 따라 액세스를 제한합니다.
AEM as a Cloud Service에서 Repo Init을(를) 사용하여 저장소 루트에서 액세스 거부 제어 항목을 구성하여 특정 시스템 속성에 대한 익명 액세스를 제한할 수 있습니다.
구성 단계 configuration-steps
-
AEM 프로젝트에서 다음 디렉터리에 구성 파일을 만듭니다.
ui.config/src/main/content/jcr_root/apps/<name-of-program>/osgiconfig/config.publish/다음 파일 이름 사용:
org.apache.sling.jcr.repoinit.RepositoryInitializer-anonymousPermissions.config -
다음 구성을 파일에 추가합니다.
code language-text scripts=[" set ACL on / deny jcr:all for anonymous restriction(rep:itemNames, jcr:createdBy,jcr:lastModifiedBy,cq:lastModifiedBy,cq:lastReplicatedBy,cq:lastRolledoutBy) end "]rep:itemNames제한은 거부 항목을 나열된 이름으로 제한합니다. 이 구성은 익명 액세스를 다음 속성으로 제한합니다.jcr:createdByjcr:lastModifiedBycq:lastModifiedBycq:lastReplicatedBycq:lastRolledoutBy
-
구성 파일을 커밋하고 Git 저장소에 푸시한 다음 Cloud Manager 파이프라인을 통해 배포합니다.
config.publish에 배치된 구성이 게시 환경에 적용됩니다.
구성이 적용되면 타겟팅된 속성은 익명 사용자의 저장소 권한을 사용하여 생성된 JSON 또는 XML 출력에 더 이상 표시되지 않습니다.