매시업 보안
Sterling Store Engagement에 대해 API 보안이 꺼집니다. 대신 유사한 기능이 매시업 계층에서 구현됩니다.
클라이언트에서 API 호출의 액세스를 제어하는 것은 웹 애플리케이션에 필수적입니다. Sterling Store Engagement에서 API 보안은 직접 구현되지 않습니다. 대신, API 액세스는 매시업 계층에서 제한됩니다. 현재 프레임워크에서 클라이언트의 API 호출에 대해 다음 프로세스가 노출됩니다.
- 모든 매시업 (API) 호출은 컨트롤러 (초기화 또는 동작) URL을 통해 수행됩니다.
- 모든 제어기 URL은 공통 struts 조치를 거칩니다.
- 컨트롤러 URL에 대한 입력의 일부로 모든 매시업 입력이 전송됩니다.
- 백엔드 컨트롤러 구현은 모든 입력을 사용하고 입력에 있는 해당 매시업을 호출합니다.
애플리케이션에 대한 API 보안이 꺼짐에 따라 API 호출은 다음과 같은 방식으로 보안 설정됩니다.
- 각 매시업 호출은 현재 사용자에게 매시업을 호출하는 데 필요한 권한이 있는지 확인하기 위해 확인됩니다.
- 보안 취약성을 유발할 수 있는 원하지 않는 입력이 클라이언트에 의해 전달되지 않도록 각 매시업 입력은 매시업 정의에 정의된 입력 템플리트에 대해 확인됩니다.
- API 호출의 출력은 클라이언트에서 조작할 수 없는 매시업 정의의 출력 템플리트에 의해 제어됩니다.
Sterling Store Engagement 보안을 설정하기 위해 매시업 보안 기능이 구현됩니다.
- 모든 매시업 정의에는 현재 매시업을 호출할 수 있는 권한이 있는 자원을 정의하는 여러
AternateResourceId가 연관되어 있습니다.- 여러 화면 또는 모듈에서 단일 매시업을 호출할 수 있습니다. 따라서 이러한 매시업에는 여러 개의
AlternateResourceId가 연관되어 있습니다. WSCSYS00001일반적인 매시업이나 데이터 제공자 매시업은 해당ResourceId애플리케이션과 연결되어 있으며, 이 애플리케이션에 대한 권한은 모든 사용자에게 부여됩니다.
- 여러 화면 또는 모듈에서 단일 매시업을 호출할 수 있습니다. 따라서 이러한 매시업에는 여러 개의
- 매시업 정의에서 API 호출에 대한 입력 템플리트는 제한적이며 현재 매시업 호출에 입력으로 전달될 수 있는 속성만 허용하도록 제어됩니다.
- 사용자에게 특정 데이터를 볼 수 있는 권한이 없는 경우 특정 시나리오에 대한 특정 입력만 허용하도록 사용자 정의 매시업을 사용하여 동일한 매시업이 권한에 종속된 다른 화면 또는 모듈에서 호출되는 시나리오를 신중하게 처리해야 합니다. 예를 들어, 제품을 추가하기 위해 제품 추가 화면에서 호출되는 매시업은 가격을 재설정하기 위해서도 호출됩니다. 그러나 가격 대체 기능은 권한으로 제어됩니다. 따라서 이 시나리오의 경우 백엔드에 사용자 정의 매시업이 있어야 하며 해당 백엔드 클래스는 사용자에게 대체 가격에 대한 권한이 있는지 여부를 확인한 후
changeOrderAPI 호출에서 대체 가격 속성만 허용해야 합니다.
- 사용자에게 특정 데이터를 볼 수 있는 권한이 없는 경우 특정 시나리오에 대한 특정 입력만 허용하도록 사용자 정의 매시업을 사용하여 동일한 매시업이 권한에 종속된 다른 화면 또는 모듈에서 호출되는 시나리오를 신중하게 처리해야 합니다. 예를 들어, 제품을 추가하기 위해 제품 추가 화면에서 호출되는 매시업은 가격을 재설정하기 위해서도 호출됩니다. 그러나 가격 대체 기능은 권한으로 제어됩니다. 따라서 이 시나리오의 경우 백엔드에 사용자 정의 매시업이 있어야 하며 해당 백엔드 클래스는 사용자에게 대체 가격에 대한 권한이 있는지 여부를 확인한 후
플랫폼 클래스
SCUIXAPIActionUtils (메소드 validateMashupInput) 는 매시업 호출에 대한 입력 템플리트 유효성 검증을 수행할 책임이 있습니다.- 매시업 정의의 입력 템플리트는 매시업 계층에 추가된 공통 속성을 포함하여 매시업 계층이 API 호출에 전달하는 템플리트와 동일해야 합니다.
- 입력 유효성 검증을 위한 매시업 보안 기능에는 다음과 같은 모드가 있습니다.
- ERROR (기본값): 모든 위반이 오류로 표시됩니다.
- DEBUG: 모든 위반이 로그에 오류로 로그되지만 매시업 호출이 진행됩니다.
- NONE: 매시업 계층에서 API 호출에 대한 입력 유효성 검증이 발생하지 않습니다.
scui-xapi-mashup-security-mode 은 모드 중 하나로 설정할 수 있습니다. 기본 모드는 ERROR입니다.플랫폼 매시업 헬퍼 클래스는 매시업 정의에 정의된 AlternateResourceId에 대한 매시업 호출의 승인을 수행합니다. 매시업 정의에 정의된 resourceIds 중 하나에 이 매시업을 호출할 수 있는 권한이 있는 경우 매시업 호출이 진행됩니다.