เรกคอร์ดสองรายการแยกกันเป็นตัวกำหนดว่าเซสชัน AnyConnect จะได้รับนโยบายกลุ่มใด และทั้งสองอยู่ในส่วนต่าง ๆ ของการตั้งค่าที่มีโหมดความล้มเหลวต่างกัน แผนที่แอตทริบิวต์ LDAP แปลงค่าจากไดเรกทอรีเป็นแอตทริบิวต์การอนุญาตของ ASA ระหว่างการพิสูจน์ตัวตน ส่วนเรกคอร์ด DAP จะประเมินเงื่อนไขภายหลังและสามารถเพิ่มหรือเขียนทับแอตทริบิวต์ได้ ทั้งสองอาจจบที่ชื่อนโยบายเดียวกัน ดังนั้นการล็อกอินที่สำเร็จจึงไม่ได้บอกอะไรว่ากลไกใดสร้างมันขึ้นมา จุดประสงค์ของการเปรียบเทียบคือการเลือกหนึ่งอย่างโดยเจตนาแทนที่จะปล่อยให้ตัวที่สองเขียนทับตัวแรกอย่างเงียบ ๆ

สองกลไก สองจุดตัดสินใจ

การเลือกสรุปได้เป็นสามคำถาม การตัดสินใจขึ้นอยู่กับค่าแอตทริบิวต์เดียวจากไดเรกทอรีหรือไม่ ต้องใช้มากกว่าค่านั้นหรือไม่ และกลไกใดได้รับอนุญาตให้ชนะเมื่อทั้งสองตรงกัน

หากอินพุตเดียวคือการเป็นสมาชิกกลุ่ม แผนที่แอตทริบิวต์เป็นเครื่องมือที่เล็กกว่าและตรวจสอบได้ง่ายกว่า: แผนที่หนึ่งรายการ ผูกกับเซิร์ฟเวอร์ AAA หนึ่งตัว โดยมีหนึ่งบรรทัดต่อกลุ่ม หากการเลือกต้องพิจารณาสถานะอุปกรณ์ ตัวตนของปลายทาง แอตทริบิวต์ที่สอง หรือหน้าต่างเวลา อินพุตของแผนที่จะหมดลง และ DAP คือกลไกที่แสดงกฎนั้นได้ หากใช้ทั้งสอง ต้องรู้ลำดับความสำคัญในรีลีสของคุณก่อนเขียนอันใดอันหนึ่ง เพราะเซสชันที่ตรงกับเรกคอร์ด DAP อาจไม่รักษานโยบายที่แผนที่ส่งคืนมา สิ่งอื่นทั้งหมดคือการทำบัญชี

เส้นทางของแผนที่แอตทริบิวต์ตามลำดับการตั้งค่า

เส้นทางของแผนที่เริ่มที่นิยามเซิร์ฟเวอร์ AAA แผนที่แอตทริบิวต์ต้องผูกกับรายการเซิร์ฟเวอร์ LDAP ที่โปรไฟล์การเชื่อมต่อใช้จริง แผนที่ที่มีอยู่ในการตั้งค่าที่ทำงานแต่ไม่ถูกอ้างถึงโดยเซิร์ฟเวอร์นั้นไม่เปลี่ยนอะไรเลย บรรทัดการผูกนั้นเองที่ทำให้ส่วนที่เหลือของการตั้งค่ามีชีวิต คู่มือการแมป LDAP ของ ASA เป็นเอกสารอ้างอิงสำหรับไวยากรณ์ของแผนที่ในเวอร์ชัน 9.x

ภายในแผนที่ คำสั่งหนึ่งระบุชื่อแอตทริบิวต์ของไดเรกทอรีและแอตทริบิวต์ ASA ที่มันป้อน และคำสั่งถัดไปแปลค่าที่เฉพาะเจาะจง map-name memberOf Group-Policy ตามด้วย map-value memberOf CN=VPN-Support,OU=Groups,DC=corp,DC=example Support-ReadOnly คือรูปแบบ ด้านซ้ายคือสิ่งที่ไดเรกทอรีส่งคืน ด้านขวาคือชื่อนโยบายกลุ่มที่ต้องมีอยู่แล้ว ชื่อที่แตกต่างและชื่อที่แสดงของนโยบายใช้แทนกันไม่ได้ และการเกือบตรงกันในสตริงใดสตริงหนึ่งไม่ทำให้เกิดข้อผิดพลาดตอนล็อกอิน

มีสองรายละเอียดที่กัดตรงนี้ memberOf ส่งคืนทุกกลุ่มที่บัญชีเป็นสมาชิก ดังนั้นผู้ใช้ที่อยู่ในสองกลุ่มที่แมปไว้จะให้ค่าที่เป็นไปได้สองค่าแก่แผนที่ และกฎตามตัวอักษรในคู่มือเป็นวิธีตัดสินเสมอเดียวที่คุณพึ่งพาได้แทนลำดับความสำคัญของคุณเอง ค่าที่ไม่ได้แมปจะไม่ให้อะไรเลย ซึ่งจะถอยกลับไปใช้นโยบายเริ่มต้นของโปรไฟล์อย่างเงียบ ๆ

เส้นทางของ DAP และสิ่งที่มันเพิ่ม

DAP ประเมินเงื่อนไขและใช้แอตทริบิวต์บนผลลัพธ์ของ AAA เรกคอร์ดมีลำดับความสำคัญ การกระทำ และชุดเงื่อนไข เรกคอร์ดจะถูกประเมินตามลำดับความสำคัญ และการกระทำเป็นตัวตัดสินว่าการประเมินจะดำเนินต่อหรือหยุด นี่เป็นรูปแบบการทำงานที่ต่างจากการค้นหาค่า และนั่นคือเหตุผลที่มันแสดงกฎที่แผนที่ทำไม่ได้

สิ่งที่ DAP เพิ่มคืออินพุต เงื่อนไขสามารถอ้างถึงแอตทริบิวต์ของไดเรกทอรี แอตทริบิวต์ของปลายทาง และสถานะอุปกรณ์ และเรกคอร์ดที่ตรงกันสามารถนำ ACL รายการ URL หรือตัวกรองสำหรับเซสชันนั้นได้ ดังนั้นกฎเช่นพนักงานสนับสนุนบนแล็ปท็อปที่ได้รับการจัดการได้รับนโยบายแบบอ่านอย่างเดียว ขณะที่พนักงานเดียวกันบนอุปกรณ์ที่ไม่ได้รับการจัดการได้รับแบบจำกัด จึงแสดงได้ใน DAP ไม่ใช่ในแผนที่แอตทริบิวต์ แผนที่มีอินพุตเดียวเท่านั้น: ค่าที่ไดเรกทอรีส่งคืนสำหรับแอตทริบิวต์ที่คุณระบุชื่อ

DAP ยังเพิ่มสถานที่ที่สองให้ดูเมื่อเซสชันไปจบในนโยบายที่ผิด เรกคอร์ดที่ตรงกับการกระทำแบบดำเนินต่อไม่ได้สิ้นสุดการประเมิน และเรกคอร์ดถัดไปยังเปลี่ยนผลลัพธ์ได้ ดังนั้นสิ่งที่คุณสังเกตคือผลของลำดับ ไม่ใช่การค้นหาครั้งเดียว อ่านหมายเลขลำดับความสำคัญตามลำดับ และจำไว้ว่าเรกคอร์ดสำรองอาจเป็นตัวที่ทำงานจริง แผนที่ตรงกันข้ามไม่มีลำดับ: แอตทริบิวต์หนึ่ง ค่าหนึ่ง คำตอบหนึ่ง

จุดที่ทั้งสองไม่ตรงกัน

ลำดับความสำคัญคือส่วนที่ทำให้การออกแบบพัง เมื่อเซสชันตรงกับทั้งรายการของแผนที่และเรกคอร์ด DAP ผลลัพธ์ขึ้นอยู่กับรีลีสและกับการกระทำของเรกคอร์ด ดังนั้นต้องตรวจสอบบน ASA ของคุณเองแทนที่จะถือว่ากลไกใดกลไกหนึ่งเป็นเจ้าของผลลัพธ์

โหมดความล้มเหลวสามแบบอธิบายความสับสนส่วนใหญ่ แผนที่ที่กำหนดไว้แต่ไม่เคยผูกกับแท็กเซิร์ฟเวอร์ที่โปรไฟล์ใช้จะให้ผลเป็นนโยบายเริ่มต้นโดยไม่มีข้อผิดพลาดที่ใดเลย สตริงเงื่อนไข DAP ที่ต่างจากค่าของไดเรกทอรีในเรื่องตัวพิมพ์ใหญ่เล็กหรือช่องว่างจะไม่ตรงกันเลย และเรกคอร์ดสำรองจะถูกใช้อย่างเงียบ ๆ และนโยบายกลุ่มที่ยังไม่มีอยู่จะถูกยอมรับโดยแผนที่ เพราะแผนที่ส่งคืนเพียงชื่อ ดังนั้นเซสชันจะไม่ได้รับสิทธิ์ใด ๆ ที่ตั้งใจไว้ และไม่มีอะไรในบันทึกที่ชี้ไปยังออบเจกต์ที่หายไป ตรวจสอบทั้งสามอย่างก่อนแตะต้องความเป็นสมาชิกกลุ่ม

การอ่านหลักฐานจากเซสชันที่ใช้งานอยู่

อ่านคำตอบจากเซสชันใหม่ไม่ใช่จากการตั้งค่า show vpn-sessiondb detail anyconnect filter name jdoe พิมพ์นโยบายกลุ่มที่เซสชันได้รับจริง และ show running-config ldap attribute-map ยืนยันว่าค่าใดที่แผนที่อาจส่งคืนได้ ฝั่งไดเรกทอรี test aaa-server authentication LDAP-AD username jdoe password <password> แสดงแอตทริบิวต์ที่ ASA ได้รับกลับมา และ debug ldap 255 แสดงการแลกเปลี่ยนเมื่อการทดสอบไม่ตรงกับที่คุณคาดไว้

จากนั้นกระทบยอดสี่เรกคอร์ดเป็นลายลักษณ์อักษร: ค่าของไดเรกทอรี แผนที่หรือเงื่อนไข DAP ที่ตั้งไว้ นโยบายกลุ่มภายใน และทรัพยากรที่ผู้ใช้เข้าถึงได้จริง หากสามอย่างแรกตรงกันและอย่างที่สี่ไม่ตรง ปัญหาอยู่ที่เนื้อหาของนโยบาย ไม่ใช่ที่การเลือก หากเซสชันแสดงชื่อนโยบายที่ถูกต้องแต่ ACL ผิด ให้เลิกดู LDAP ทั้งหมด เปลี่ยนทีละเรกคอร์ดและตรวจสอบเซสชันใหม่ เพราะเซสชันที่เชื่อมต่อใหม่เท่านั้นที่เป็นหลักฐานที่สะท้อนการตั้งค่าที่คุณเพิ่งเขียน

บทความที่เกี่ยวข้อง