แชร์ผ่าน


วิธีการ: ผ่อนคลาย iFrame

บทความนี้อธิบายวิธีที่คุณสามารถเปิดใช้งานแอตทริบิวต์ iFrame เพิ่มเติมสําหรับตัวแก้ไขของคุณ

ข้อกำหนดเบื้องต้น

เมื่อคุณเปิดใช้งานการผ่อนคลาย Sandbox ในรายการของคุณ สิ่งต่อไปนี้จะเกิดขึ้น:

  1. ขอบเขตความยินยอมของ AAD: ปริมาณงานของคุณขอสองขอบเขต:

    • ขอบเขต Basic Fabric - ขอบเขตมาตรฐานที่จําเป็นสําหรับปริมาณงานใดๆ ในการทํางาน
    • ขอบเขตการผ่อนคลายของผ้า - อีกขอบเขตหนึ่งสําหรับความสามารถในการผ่อนคลายแซนด์บ็อกซ์โดยเฉพาะ
  2. โฟลว์ความยินยอมของผู้ใช้: เมื่อผู้ใช้เข้าถึงปริมาณงานของคุณเป็นครั้งแรกโดยเปิดใช้งานการผ่อนคลาย Sandbox พวกเขาจะได้รับแจ้งให้ยินยอมทั้งสองขอบเขต หากปฏิเสธ 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> เพื่อเปิดใช้งานคุณลักษณะนี้

โหมดการพัฒนา

สําหรับการพัฒนาในท้องถิ่น คุณสามารถใช้การผ่อนคลาย Sandbox และเลี่ยงความยินยอมโดยใช้การแทนที่นักพัฒนา เพิ่มไปยัง 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
};

Note

บรรทัด devSandboxRelaxation: true นี้ช่วยให้สามารถผ่อนคลายแซนด์บ็อกซ์ในโหมดการพัฒนาโดยไม่ต้องได้รับความยินยอมจากผู้ใช้