Salesforce CLI pieteikšanās kļūmes tiek ziņotas kā viena problēma, un parasti tās ir trīs. CLI process darbojas kaut kur, pārlūks, kas pabeidz tīmekļa plūsmu, darbojas kaut kur, un vēlākais API izsaukums darbojas kaut kur, un šīm trim vietām nav jādala maršruts, risinātājs vai atļauto saraksts. To salīdzināšana ir ātrākais veids, kā noskaidrot, kuru no tiem tunelis patiešām bloķē. Nekas pieteikšanās izvadē nenorāda, kura no trim neizdevās.

Trīs resursdatori, viens pieteikšanās stāsts

Tīmekļa pieteikšanās plūsma identitātes soli nodod pārlūkam, un šis pārlūks bieži ir klēpjdatorā, kamēr CLI atrodas attālinātā izstrādes resursdatorā vai konteinerā. Klēpjdatoram ir VPN klients, attālinātajam resursdatoram ir tas, ko tam deva platformas komanda, un neviens no šiem izkārtojumiem automātiski neaptver otru. VPN ikona statusa joslā neko nepasaka par resursdatoru, kurā klients nekad nav palaists.

Pēc pieteikšanās CLI veic savus API pieprasījumus no vietas, kur dzīvo process. Šiem pieprasījumiem vajag DNS, maršrutēšanu, TLS uzticību un klienta autorizāciju org pusē, kas ir četras atsevišķas pārbaudes, un katra var neizdoties pati. Pārlūks, kas skaisti pieteicies, neko nepasaka par nevienu no tām.

Turiet abas puses vienā laika skalā, bet vērtējiet tās atsevišķi. Tad viena biļete var pateikt, kura puse salūza, nepārvēršot to strīdā par īpašumtiesībām.

Orga ierakstu ņemiet no orga, nevis no atmiņas

Tīmekļa plūsma paņem instanču URL un saglabā rezultātu zem aizstājvārda, un abām vērtībām jānāk no orga īpašnieka, nevis no kolēģa termināļa vēstures. Sandbox resursdators, kas nokopēts no vecas biļetes, ir izplatīts iemesls pieteikšanās, kas autentificējas pret nepareizo orgu un pēc tam neizdodas katrā vaicājumā.

Izmantojiet formu, ko dokumentē instalētais spraudnis, ar savu apstiprināto resursdatoru un aizstājvārdu. Šī dokumentācija ir atsauce uz karodziņiem, kas mainījās starp sfdx un pašreizējo CLI.

sf org login web --instance-url https://acme--uat.sandbox.my.salesforce.com --alias uat
sf org display --target-org uat

Iepriekš minētais resursdatora nosaukums un aizstājvārds ir piemēri, nevis noklusējuma vērtības, kas jums jākopē. Pabeidziet parastās pārlūka identitātes un MFA darbības, nevis apiet tās ar skriptu, un nekad neievietojiet paroli, sesijas identifikatoru vai autentifikatora sēklu čaulas komandā, lai izlaistu uzvedni.

Ko pierāda kešatmiņā saglabātā autorizācija

Aizstājvārds, kas parādās vietējā autorizācijas sarakstā, pierāda, ka pieteikšanās reiz ir izdevusies tajā mašīnā. Saraksts tiek lasīts no vietējās krātuves un nesazinās ar orgu, lai apstiprinātu, ka pilnvara joprojām darbojas, tāpēc veselīgi izskatošs ieraksts un noraidīts API izsaukums var būt abi patiesi. Uzskatiet kešatmiņu kā pagātnes ierakstu, nevis kā dzīvas savienojamības testu. Kešatmiņas pārbaude atbild uz atbalsta jautājumu, bet nekad neaizver savienojamības izmeklēšanu.

Tā pati atšķirība attiecas uz pārlūka sesiju. Cilne, kas joprojām rāda orgu, nenozīmē, ka CLI saglabātā pilnvara atbilst pašreizējai politikai, jo pilnvaras darbības laiks, IP ierobežojumi un klienta lietotnes noteikumi tiek piemēroti API robežās.

Izlasiet vietējo ierakstu pirms tā dzēšanas, jo aizstājvārds un orga resursdators ir divi fakti, ko atbalsts jautās. Aizstājvārda noņemšana ir atgriežama, bet nepareizā noņemšana incidenta vidū tikai pievieno otru problēmu.

Kur API pieprasījums faktiski tiek noraidīts

Izsekojiet vienu pieprasījumu no sākuma līdz beigām un atzīmējiet, kura sastāvdaļa atbild. TLS kļūda nosauc citu problēmu nekā 403, kas nosauc citu problēmu nekā taimauts, un taimauts ir vienīgais no trim, kas norāda uz tuneli kā pirmo aizdomās turamo. Kļūdas klases lasīšana pirms ziņojuma ietaupa daudz minējumu. Pierakstiet klasi pirms kaut ko palaižat vēlreiz.

Avota adreses ierobežojumi ir gadījums, kas dod pieteikšanos, kas strādā, un vaicājumu, kas nestrādā, jo pārlūka plūsma un API izsaukums var iziet caur dažādām adresēm. To labot ar plašāku atļauto sarakstu ir orga īpašnieka lēmums, nevis ērtība, un tam jābūt mazākajam diapazonam, kas aptver resursdatoru.

Fiksējiet neizdevušos komandu, aizstājvārdu, izpildes resursdatoru un laika zīmogu, un atstājiet pilnvaru ārpus visa, ko ielīmējat biļetē. Šis četru rindu kopsavilkums ir tas, kas orga īpašniekam vajadzīgs savas puses pārbaudei.

Pārbaudiet plūsmu no resursdatora, kas to izmantos

Testējiet no mašīnas, kas izpildīs darba slodzi. Pieteikšanās, kas pārbaudīta klēpjdatorā, neko nepasaka par būvēšanas aģentu citā tīkla zonā, un atšķirība ir tieši tas, ko mēģināt atrast.

Pārbaudei izmantojiet nekaitīgu atļautu lasīšanu, un, ja tā neizdodas, saglabājiet pirmo kļūdu.

sf org list auth
sf org display --target-org uat
sf data query --target-org uat --query "select Id, Name from Organization"

Kad pieteikšanās izdodas, bet vaicājums neizdodas, atlikušie kandidāti ir DNS, maršrutēšana, TLS pārtveršana un klienta politika orga pusē, un katram ir savs īpašnieks. Kad neizdodas pati pieteikšanās, pārlūks un CLI, iespējams, nav vienā resursdatorā, un labojums pieder izkārtojumam starp tiem, nevis tunelim. Automatizācija iegūst vēl vienu noteikumu: neuzraudzītam darbam vajadzīga apstiprināta sertifikātā balstīta pieteikšanās, jo kešatmiņā saglabātā interaktīvā sesija, kas nokopēta uz strādnieku, nav identitātes dizains.

Saistītie raksti