다음을 통해 공유


방법: iFrame 느슨하게 하기

이 문서에서는 편집기에서 추가 iFrame 특성을 사용하도록 설정하는 방법을 설명합니다.

전제 조건

매니페스트에서 샌드박스 완화를 사용하도록 설정하면 다음이 발생합니다.

  1. AAD 동의 범위: 워크로드가 다음 두 가지 범위를 요청합니다.

    • 기본 패브릭 범위 - 모든 워크로드가 작동하는 데 필요한 표준 범위
    • 패브릭 이완 범위 - 샌드박스 이완 기능을 위한 또 다른 범위
  2. 사용자 동의 흐름: 사용자가 샌드박스 완화를 사용하도록 설정된 워크로드에 처음 액세스하면 두 범위에 모두 동의하라는 메시지가 표시됩니다. 거부하면 iFrame이 로드되지 않습니다.

  3. 추가 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 사용하면 사용자 동의 없이 개발 모드에서 샌드박스를 완화할 수 있습니다.