คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
Apigee Edge มอบเฟรมเวิร์ก OAuth 2.0 เพื่อ API ที่ปลอดภัย OAuth2 เป็นหนึ่งในการตรวจสอบสิทธิ์โดยใช้โทเค็นตามมาตรฐานแบบเปิดซึ่งได้รับความนิยมมากที่สุด รวมถึงแผนการให้สิทธิ์ แพลตฟอร์มนี้ช่วยให้แอปพลิเคชันไคลเอ็นต์เข้าถึง API ในนามของผู้ใช้ได้ การกำหนดให้ผู้ใช้เปิดเผยชื่อผู้ใช้และรหัสผ่าน
Apigee Edge ช่วยให้นักพัฒนาซอฟต์แวร์สร้างการเข้าถึงและ/หรือรีเฟรชโทเค็นได้ด้วยการใช้โทเค็นใดก็ตาม การให้สิทธิ์ OAuth2 ทั้ง 4 ประเภท ข้อมูลเข้าสู่ระบบของลูกค้า รหัสผ่าน implicit และ รหัสการให้สิทธิ์ - ใช้นโยบาย OAuthv2 แอปพลิเคชันไคลเอ็นต์ใช้โทเค็นเพื่อการเข้าถึงเพื่อใช้ API ที่ปลอดภัย โทเค็นเพื่อการเข้าถึงแต่ละรายการมีวันหมดอายุแตกต่างกัน ซึ่งตั้งค่าได้ในนโยบาย OAuthv2
คุณสามารถเลือกโทเค็นการรีเฟรชพร้อมกับโทเค็นเพื่อการเข้าถึงกับการให้สิทธิ์บางประเภท รีเฟรช ระบบจะใช้โทเค็นเพื่อการเข้าถึงใหม่ที่ถูกต้องหลังจากที่โทเค็นเพื่อการเข้าถึงเดิมหมดอายุ หรือ ถูกเพิกถอน นอกจากนี้ คุณยังตั้งเวลาหมดอายุของโทเค็นการรีเฟรชได้ในนโยบาย OAuthv2
ลาย Antipattern
การตั้งค่าเวลาหมดอายุที่ยาวนานสำหรับโทเค็นเพื่อการเข้าถึงและ/หรือโทเค็นการรีเฟรชในนโยบาย 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 รายการ ใน 1 วัน
- เนื่องจากโทเค็นการรีเฟรชจะหมดอายุหลังจาก 200 วันเท่านั้น โทเค็นเหล่านี้จะยังคงอยู่ในที่เก็บข้อมูล (Cassandra) เป็นเวลานาน ซึ่งจะนำไปสู่การสะสมอย่างต่อเนื่อง
ผลกระทบ
- นำไปสู่การเติบโตอย่างมากของการใช้พื้นที่ในดิสก์ในพื้นที่เก็บข้อมูล (Cassandra)
- สำหรับผู้ใช้ Private Cloud การเปลี่ยนแปลงนี้อาจเพิ่มค่าใช้จ่ายสำหรับพื้นที่เก็บข้อมูล หรือในกรณีที่แย่ที่สุด ดิสก์อาจเต็มและทำให้เกิดข้อผิดพลาดรันไทม์หรือการหยุดทำงาน
แนวทางปฏิบัติแนะนำ
ใช้เวลาหมดอายุที่เหมาะสมสำหรับการเข้าถึง OAuth และรีเฟรชโทเค็นโดยขึ้นอยู่กับ ด้านความปลอดภัย เพื่อให้ระบบลบข้อมูลออกถาวรอย่างรวดเร็ว เพื่อหลีกเลี่ยงการสะสม
ตั้งเวลาหมดอายุสำหรับโทเค็นการรีเฟรชให้ใช้งานได้นานขึ้นอีกนิด โทเค็นเพื่อการเข้าถึง เช่น หากตั้งค่าโทเค็นเพื่อการเข้าถึงไว้ที่ 30 นาที แล้วตั้งค่า 60 นาทีสำหรับ โทเค็นการรีเฟรช
ซึ่งมีประโยชน์ในการทำสิ่งต่อไปนี้
- คุณมีเวลามากพอที่จะใช้โทเค็นการรีเฟรชเพื่อสร้างการเข้าถึงใหม่และรีเฟรชโทเค็นหลังจาก โทเค็นเพื่อการเข้าถึงหมดอายุแล้ว
- โทเค็นการรีเฟรชจะหมดอายุในอีกสักครู่ และจะถูกลบถาวรอย่างทันท่วงทีเพื่อ เพื่อหลีกเลี่ยงการสะสม