이 문서에서는 편집기에서 추가 iFrame 특성을 사용하도록 설정하는 방법을 설명합니다.
전제 조건
매니페스트에서 샌드박스 완화를 사용하도록 설정하면 다음이 발생합니다.
AAD 동의 범위: 워크로드가 다음 두 가지 범위를 요청합니다.
- 기본 패브릭 범위 - 모든 워크로드가 작동하는 데 필요한 표준 범위
- 패브릭 이완 범위 - 샌드박스 이완 기능을 위한 또 다른 범위
사용자 동의 흐름: 사용자가 샌드박스 완화를 사용하도록 설정된 워크로드에 처음 액세스하면 두 범위에 모두 동의하라는 메시지가 표시됩니다. 거부하면 iFrame이 로드되지 않습니다.
추가 iFrame 기능: 동의가 부여되면 iFrame은 다음과 같은 다른 샌드박스 특성을 받습니다.
-
allow-downloads- 워크로드에서 파일 다운로드를 사용하도록 설정 -
allow-forms- 외부 서비스에 양식 제출을 사용하도록 설정 -
allow-popups- 새 창 또는 탭을 열 수 있습니다.
기본 샌드박스(제한 없음):
allow-same-origin allow-scripts완화된 샌드박스(승인 포함):allow-same-origin allow-scripts allow-downloads allow-forms allow-popups-
모범 사례
완화된 각 권한은 잠재적인 보안 위험을 초래하므로 필요한 경우에만 샌드박스 완화를 요청합니다.
매니페스트에서 활성화
워크로드 매니페스트에 enableSandboxRelaxation 설정을 추가합니다.
<RemoteServiceConfiguration>
<CloudServiceConfiguration>
<Cloud>Public</Cloud>
<AADFEApp>
<AppId>0000000-0000-0000-0000-000000000000</AppId>
</AADFEApp>
<EnableSandboxRelaxation>true</EnableSandboxRelaxation>
중요합니다
이 기능을 사용하려면 줄을 <EnableSandboxRelaxation>true</EnableSandboxRelaxation> 포함해야 합니다.
개발 모드
로컬 개발의 경우, 개발 무시 설정을 사용하여 샌드박스 제약 해제 및 사용자 동의 우회를 수행할 수 있습니다. devParameters에 추가
const devParameters = {
name: process.env.WORKLOAD_NAME,
url: "http://127.0.0.1:60006",
devAADFEAppConfig: {
appId: process.env.DEV_AAD_CONFIG_FE_APPID,
},
devSandboxRelaxation: true
};
비고
이 줄을 devSandboxRelaxation: true 사용하면 사용자 동의 없이 개발 모드에서 샌드박스를 완화할 수 있습니다.