คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
Apigee Edge มีเฟรมเวิร์ก OAuth 2.0 เพื่อ รักษาความปลอดภัยของ API OAuth2 เป็นหนึ่งในรูปแบบการตรวจสอบสิทธิ์และการให้สิทธิ์แบบโอเพนสแตนดาร์ดที่อิงตามโทเค็นที่ได้รับความนิยมมากที่สุด ซึ่งช่วยให้แอปพลิเคชันไคลเอ็นต์เข้าถึง API ในนามของผู้ใช้ได้โดยไม่ต้อง ให้ผู้ใช้เปิดเผยชื่อผู้ใช้และรหัสผ่าน
Apigee Edge ช่วยให้นักพัฒนาแอปสร้างโทเค็นเพื่อการเข้าถึงและ/หรือโทเค็นการรีเฟรชได้โดยการใช้ประเภทการให้สิทธิ์ OAuth2 อย่างใดอย่างหนึ่งจาก 4 ประเภท ได้แก่ ข้อมูลเข้าสู่ระบบของไคลเอ็นต์, รหัสผ่าน, โดยนัย และ รหัสการให้สิทธิ์ - โดยใช้นโยบาย OAuthv2 แอปพลิเคชันไคลเอ็นต์ใช้โทเค็นเพื่อการเข้าถึงในการใช้ API ที่ปลอดภัย โทเค็นเพื่อการเข้าถึงแต่ละรายการจะมีเวลาหมดอายุของตัวเอง ซึ่งสามารถตั้งค่าได้ในนโยบาย OAuthv2
ระบบจะออกโทเค็นการรีเฟรชพร้อมกับโทเค็นเพื่อการเข้าถึงสำหรับประเภทการให้สิทธิ์บางประเภท (ไม่บังคับ) โทเค็นการรีเฟรช ใช้เพื่อรับโทเค็นเพื่อการเข้าถึงใหม่ที่ใช้งานได้หลังจากโทเค็นเพื่อการเข้าถึงเดิมหมดอายุหรือ ถูกเพิกถอน นอกจากนี้ คุณยังตั้งเวลาหมดอายุสำหรับโทเค็นการรีเฟรชได้ในนโยบาย OAuthv2
รูปแบบที่ไม่แนะนำ
การตั้งเวลาหมดอายุที่นานสำหรับโทเค็นเพื่อการเข้าถึงและ/หรือโทเค็นการรีเฟรชในนโยบาย OAuthv2 จะทำให้โทเค็น OAuth สะสมและใช้พื้นที่ดิสก์มากขึ้นในโหนด Cassandra
ตัวอย่างนโยบาย OAuthV2 ต่อไปนี้แสดงเวลาหมดอายุที่นาน 200 วันสำหรับโทเค็นการรีเฟรช
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days --> <SupportedGrantTypes> <GrantType>password</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
ในตัวอย่างข้างต้น
- โทเค็นเพื่อการเข้าถึงตั้งค่าเวลาหมดอายุไว้ที่ 30 นาที ซึ่งเป็นเวลาที่สั้นกว่าอย่างสมเหตุสมผล
- โทเค็นการรีเฟรชตั้งค่าเวลาหมดอายุไว้ที่ 200 วัน ซึ่งเป็นเวลาที่นานมาก
- หากการรับส่งข้อมูลไปยัง API นี้อยู่ที่ 10 คำขอ/วินาที ระบบจะสร้างโทเค็นได้มากถึง 864,000 รายการ ต่อวัน
- เนื่องจากโทเค็นการรีเฟรชจะหมดอายุหลังจากผ่านไป 200 วันเท่านั้น โทเค็นเหล่านี้จึงยังคงอยู่ในที่เก็บข้อมูล (Cassandra) เป็นเวลานาน ซึ่งนำไปสู่การสะสมอย่างต่อเนื่อง
ผลกระทบ
- ทำให้การใช้พื้นที่ดิสก์ในที่เก็บข้อมูล (Cassandra) เพิ่มขึ้นอย่างมาก
- สำหรับผู้ใช้ Private Cloud การดำเนินการนี้อาจเพิ่มค่าใช้จ่ายในการจัดเก็บข้อมูล หรือในกรณีที่เลวร้ายที่สุด ดิสก์อาจเต็มและทำให้เกิดข้อผิดพลาดขณะรันไทม์หรือการหยุดทำงาน
แนวทางปฏิบัติแนะนำ
ใช้เวลาหมดอายุที่สั้นลงสำหรับโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช OAuth ตามข้อกำหนดด้านความปลอดภัยที่เฉพาะเจาะจง เพื่อให้ระบบล้างโทเค็นได้อย่างรวดเร็วและหลีกเลี่ยงการสะสม
ตั้งเวลาหมดอายุสำหรับโทเค็นการรีเฟรชให้มีระยะเวลานานกว่าโทเค็นเพื่อการเข้าถึงเล็กน้อย เช่น หากคุณตั้งเวลาหมดอายุสำหรับโทเค็นเพื่อการเข้าถึงไว้ที่ 30 นาที จากนั้นตั้งเวลาหมดอายุสำหรับ โทเค็นการรีเฟรชไว้ที่ 60 นาที
การดำเนินการนี้จะช่วยให้มั่นใจได้ว่า
- มีเวลาเพียงพอที่จะใช้โทเค็นการรีเฟรชเพื่อสร้างโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชใหม่หลังจากโทเค็นเพื่อการเข้าถึงหมดอายุ
- โทเค็นการรีเฟรชจะหมดอายุในอีกสักครู่และสามารถล้างได้ทันเวลาเพื่อ หลีกเลี่ยงการสะสม