პროდუქტის გვერდი ამბობს, რომ მას API აქვს, და ინტეგრაციის შეხვედრა მეორე კითხვაზე ჩერდება. რომელი ოპერაცია, რომელ ობიექტზე, ვის მიერ გამოძახებული და რა ითვლება წარმატებად? ამ ოთხზე პასუხი პროდუქტების შედარებამდე, როგორც წესი, კანდიდატების ნახევარს აცილებს. ის ასევე დარჩენილ შედარებას აქცევს რაღაცად, რაზეც ტესტს შეუძლია გადაწყვეტილების მიღება.

შეცვალეთ მტკიცება API-ის არსებობაზე ერთი ოპერაციით

API ტრანსპორტია და არა შესაძლებლობა. REST-ის ბოლო წერტილი, ლოკალური სოკეტი და ბრძანების ხაზის გარსი ყველა API-ად შეიძლება ეწოდოს, და ისინი ეკვივალენტურ ოპერაციებს არ გვთავაზობენ.

ჩაწერეთ ოპერაცია წინადადების სახით, სანამ დოკუმენტაციას გახსნით.

ლოკალური კავშირის დაწყება კლიენტის მხარის მოქმედებაა, რომლის წინაშეც მომხმარებელია. მოწყობილობის პროფილის გაცემა მიწოდების მოქმედებაა, რომლის უკანაც ინვენტარია. მომხმარებლის წვდომის გამორთვა ადმინისტრაციული მოქმედებაა აუდიტის კვალით. ეს სამი ჩვეულებრივ სხვადასხვა კომპონენტში ცხოვრობს, სხვადასხვა გუნდის საკუთრებაში, სხვადასხვა უფლებამოსილებით.

ოთხი ველი, რომელიც ხელშეკრულებას შესამოწმებელს ხდის

შეავსეთ ოთხი ველი თითოეული ოპერაციისთვის: ობიექტი, მოქმედება, გამომძახებელი და წარმატების პირობა. ხელშეკრულება დაკარგული ველით სურვილია.

ცხრილი მთელი სამუშაო ფურცელია:

FieldQuestionExample
ObjectWhat is being acted on?One enrolled device
ActionObserve, create, change, start, stop, or revoke?Revoke
CallerWhich identity calls it?Deployment service
SuccessWhat observable state proves it?Future sign-in denied

წარმატების პირობა ის ველია, რომელსაც ხალხი გამოტოვებს, და სწორედ ის წყვეტს, მუშაობს თუ არა ინტეგრაცია. შენახული პარამეტრი აქტიური გვირაბი არ არის, და გამორთული ანგარიში დასრულებული სესია არ არის.

თუ ორ ოპერაციას სხვადასხვა გამომძახებელი სჭირდება, ეს ორი ინტეგრაციაა. მათი ერთ სერვისულ ანგარიშში გაერთიანება ჩვეულებრივ ნიშნავს მეტი უფლებამოსილების მიცემას, ვიდრე რომელიმეს სჭირდება.

შეუსაბამეთ ინტერფეისი მის რეალურ შრეს

OpenVPN-ის საზოგადოებრივი მართვის ინტერფეისი დემონს ესაუბრება TCP-ის ან Unix სოკეტის მეშვეობით. მის ბრძანებებში შედის მდგომარეობის დაკვირვება და სიგნალები დემონისთვის.

ეს მას დემონის მართვის არხად აქცევს, და არა ჰოსტინგური გამოწერის API ან მომხმარებელთა რეგისტრაციის სერვისი. მისი დოკუმენტაციის ყურადღებით კითხვა გიხსნით იმ შრეზე აშენებისგან, რომელიც ობიექტს არ ფლობს.

იგივე დოკუმენტაცია ამბობს, რომ პროტოკოლს საკუთარი დაშიფვრა არ გააჩნია. ვისაც სოკეტამდე მიწვდომა შეუძლია, დემონს გააკონტროლებს, ამიტომ მას მგრძნობიარე კონტროლად მოეპყარით და არა მეტრიკების ნაკადად. მიაბით ის loopback-ს ან Unix სოკეტს, და მოათავსეთ შეზღუდული წესრიგის უკან, თუ დისტანციურ გამომძახებელს სჭირდება. მისი ინტერნეტში გამოტანა მოხერხებულობისთვის მართვის არხს ინციდენტად აქცევს.

განსაზღვრეთ ქცევა გამოძახების შემდეგ

მიღება არ არის იგივე, რაც დასრულება. დემონი შეიძლება დაბრუნდეს გვირაბის აწევამდე, ამიტომ დაელოდეთ დოკუმენტირებულ დასრულების ან წარუმატებლობის მოვლენას და დაუკავშირეთ ის გაგზავნილ მოთხოვნას.

გადაწყვიტეთ, რას აკეთებს გამომძახებელი, თუ პასუხი დაიკარგა. შექმნის ან ხელახალი დაკავშირების ბრმად გამეორება არ არის იგივე, რაც შემოწმება, უკვე იმოქმედა თუ არა პირველმა მოთხოვნამ.

წვდომის მოხსნა სულ ცოტა სამი განსხვავებული მოქმედებაა: მომავალი შესვლის დაბლოკვა, აქტიური სესიის დასრულება და სერტიფიკატის გაუქმება. მოითხოვეთ ის, რასაც პოლიტიკა ნამდვილად ითხოვს, და ხელშეკრულებაში თქვით, რომელი რომელია. ნუ უწოდებთ ერთ წარმატებულ ანგარიშის განახლებას სრულ გაუქმებას მტკიცებულების გარეშე. განსხვავებას მნიშვნელობა აქვს ინციდენტის დროს, როცა საათი მიდის.

შეამოწმეთ ხელშეკრულება პილოტით

მცირე დამტკიცებულმა პილოტმა უნდა დაფაროს წარმატება, უარი, შეწყვეტა და ხელახალი ცდა, შემდეგ კი ის აპლიკაციის ოპერაცია, რომელიც უნდა დაშვებულ იქნას ან აკრძალულ იქნას.

დემონის დონის ინტერფეისისთვის ორი ბრძანება ვარჯიშობს დაკვირვებას და სიგნალს:

echo state | nc -w 2 127.0.0.1 7505
echo signal SIGTERM | nc -w 2 127.0.0.1 7505

მიეცით მხოლოდ ის უფლებამოსილება, რომელსაც ოპერაცია ითხოვს. შეინახეთ საიდუმლოებები რუტინული ჟურნალების გარეთ, და ჩაწერეთ საკმარისი პირადი დეტალები, რომ თქვათ, რომელი სამიზნე დაზარალდა და როგორ დასრულდა.

ჩაწერეთ აღდგენის გზა იმ შემთხვევისთვის, როცა თავად მართვის API მიუწვდომელია. აირჩიეთ ის ინტერფეისი, რომელიც ფლობს ობიექტს და მის სასიცოცხლო ციკლს; პროდუქტის გვერდზე ავტომატიზაციის მტკიცებები შემცვლელი არ არის.

დაკავშირებული სტატიები