Is-callouts Apex joħorġu minn Salesforce, mhux mill-VPN tiegħek
VPN fuq il-laptop tagħti mogħdija lill-browser tiegħek, mhux lil Apex jew lil Marketing Cloud. Qabbel il-veru sejjieħ ma' gateway pubbliku jew konnessjoni privata kwalifikata.
L-API privata twieġeb fil-browser tiegħek fil-mument li l-laptop jingħaqad mal-VPN, allura l-integrazzjoni għandha taħdem. Ma taħdimx, għax il-kodiċi li jagħmel is-callout jaħdem x'imkien ieħor għal kollox. Apex jaħdem fuq is-servers tal-applikazzjoni ta' Salesforce, u attività fuq in-naħa tas-server f'Marketing Cloud taħdem fir-runtime ta' dak il-prodott. Lanqas waħda minnhom ma tiret it-tunnel tal-laptop tiegħek. Mexxi dan bħala proċedura qasira: identifika s-sejjieħ, agħżel daħla li dak is-sejjieħ jista' jilħaq, qabbad il-mogħdija minn tarf għall-ieħor, imbagħad ivverifika mir-runtime stess.
Ikteb il-karta tas-sejjieħ qabel kull bidla fin-netwerk
Imla ħames oqsma u rrifjuta li taqta' xi waħda minnhom bil-preżunzjoni. Il-prodott tal-eżekuzzjoni u l-kuntest jiddeċiedu kollox wara, allura ibda minn hemm u mhux mill-firewall tas-server.
| Field | What it must answer |
|---|---|
| Runtime | Which product and execution context issues the request? |
| Endpoint | Which hostname must that runtime resolve, and to what? |
| Path | Which supported public entry or private connection carries it? |
| Identity | Which credential and which operation is the API asked to authorize? |
| Failure | How do responses return, and what happens when the path is down? |
Tab tal-browser u callout Apex huma żewġ klijenti differenti, u browser li jaħdem jipprova biss li teżisti mogħdija mill-iskrivanija tiegħek. Jekk il-qasam tar-runtime jgħid Apex, il-mistoqsija rilevanti hija minn liema indirizzi joħroġ Salesforce, mhux liema indirizzi għandu l-laptop tiegħek. Għalhekk tunnel li jġiegħel l-API tgħabbi fil-browser jista' jħalli l-integrazzjoni tfalli bl-istess timeout ta' qabel. Il-karta tas-sejjieħ teżisti biex twaqqaf dik l-iżball qabel ma xi ħadd jeditja firewall.
Agħżel id-daħla li s-sejjieħ jista' tassew juża
Iż-żewġ disinji huma leġittimi, u jsolvu problemi differenti. L-ewwel hija daħla pubblika maħsuba: gateway tal-API bl-HTTPS jew servizz tal-integrazzjoni li jawtentika lis-sejjieħ, japplika permessi dejqa u jżomm konnessjoni protetta mal-backend privat. Dan mhuwiex l-istess bħal tesponi kull servizz tal-backend jew tibgħat port tal-amministrazzjoni lejn l-internet.
It-tieni hija konnessjoni privata kwalifikata. Id-dokumentazzjoni ta' Private Connect il-barrani ta' Salesforce tiddeskrivi kif is-callouts appoġġjati jiġu rrotati permezz ta' Outbound Network Connection marbut ma' kredenzjali bl-isem, fuq l-arranġament AWS PrivateLink definit tiegħu. Il-karatteristika għandha restrizzjonijiet tal-edizzjoni, tal-liċenzja u tal-prodott, allura ikkonferma li l-organizzazzjoni tikkwalifika qabel ma tiddisinja madwarha.
Lanqas waħda mid-disinji mhu klijent OpenVPN installat ġewwa Salesforce, u l-allegazzjoni eqdem li kull integrazzjoni trid tilħaq backend pubbliku hija wiesgħa wisq fejn taqbel konnessjoni privata appoġġjata. Agħżel dik li tappoġġja r-runtime, imbagħad kompli l-mogħdija sal-API vera: endpoint AWS ma jafx ir-riżors lokali tiegħek u ma jirtx ir-rotta tal-laptop tiegħek. DNS, routing tal-backend, politika tal-aċċess u traffiku tar-risposta kollha jridu jsegwu l-arkitettura li għażilt. Mogħdija privata mibnija nofs triq tfalli b'mod li jidher eżattament bħal problema ta' awtentikazzjoni.
Qabbad il-mogħdija privata minn tarf għall-ieħor
Aħdem 'il barra mill-API u waqaf fl-ewwel vojt. Ikkonferma li l-backend iwieġeb lokalment, imbagħad li l-endpoint privat jilħaq, u mbagħad li l-kredenzjali bl-isem u l-konnessjoni barranija tiegħu jimmirjaw dak l-endpoint.
curl -sS -m 5 -o /dev/null -w '%{http_code}\n' http://10.40.8.20:8080/health
dig +short api.partner.example
sf apex run --file scripts/apex/callout-check.apex --target-org integrationL-ewwel kmand jipprova li l-backend huwa f'saħħtu minn ġewwa n-netwerk privat, it-tieni juri għal xiex jiġi riżolt l-isem, u t-tielet iwettaq callout mir-runtime vera ta' Salesforce. 200 mill-ewwel u falliment mit-tielet jiżolaw il-vojt fil-mogħdija jew fil-kredenzjali, mhux fis-servizz.
Żomm l-ambitu tal-identità preċiż waqt li tqabbad. Kredenzjali bl-isem ma ssewwix waħedha endpoint li ma jintlaħaqx, għax il-kredenzjali u l-konnessjoni privata huma settings relatati b'xogħlijiet separati. Lista tal-IP permessi tnaqqas id-dħul fin-netwerk u mhijiex kredenzjali tal-API, allura żomm il-validazzjoni normali tat-TLS u l-proċess ta' awtentikazzjoni u rotazzjoni tas-servizz stess. Jekk test jgħaddi biss wara li tiddiżattiva l-verifika taċ-ċertifikat, sibt problema tal-isem tal-host u mhux tal-mogħdija, u ċ-ċertifikat xorta jrid jaqbel.
Ivverifika mir-runtime, imbagħad irreġistra r-rollback
Aċċetta talba permessa u bla ħsara mir-runtime tal-integrazzjoni, mhux mill-magna tiegħek. Irreġistra s-sors osservat mis-servizz li jirċievi, il-prinċipal awtentikat, ir-riżultat, u talba waħda miċħuda apposta li trid tfalli.
curl -sS -o /dev/null -w '%{http_code} %{remote_ip}\n' https://api.partner.example/v1/ping
curl -sS -o /dev/null -w '%{http_code}\n' -H 'Authorization: Bearer invalid' https://api.partner.example/v1/pingMexxi l-istess żewġ probes min-netwerk tal-backend stess biex is-sors osservat jista' jitqabbel ma' dak li pproduċa r-runtime. 200 segwit minn 401 jew 403 hija l-forma li trid; żewġ 200 ifissru li l-mogħdija tar-rifjut ma hijiex tassew infurzata.
Ikteb ir-rollback qabel ma jkollok bżonnu: liema entrata tal-lista permessa, kredenzjali bl-isem jew konnessjoni barranija biddilt, min jippossjediha u kif terġa' tiġi restawrata l-valur preċedenti. Imbagħad agħlaq iċ-ċirku billi ssemmi s-sejjieħ fil-cloud u l-mogħdija sħiħa tas-servizz fil-biljett, sabiex ħadd ma jerġa' jiftaħ l-istess kwistjoni bħala problema tal-VPN.