Яагаад Apps Script VPN-ээр дамжуулан таны дотоод апп-д хүрч чадахгүй вэ
Apps Script Google-ийн сүлжээнд ажилладаг бөгөөд VPN-тэй зөөврийн компьютер дээр биш. Хүсэлт илгээдэг машинд зориулж өгөгдлийн замыг зохион бүтээгээрэй.
Хяналтын самбар зөөврийн компьютерийн хөтч дээр сайн нээгддэг ч мөн тэр хүснэгтийн скрипт хаяг боломжгүй гэсэн алдаагаар бүтэлгүйтдэг. VPN-ийг асаах эсвэл унтраах нь юу ч өөрчлөхгүй, яагаад гэвэл хүсэлт зөөврийн компьютероос огт гарахгүй. Apps Script Google-ийн дэд бүтэц дээр ажиллаж, тэндээс өөрийн холболтыг нээдэг. Энэ нэг баримт бүх загварыг тодорхойлдог.
Ямар нэгэн зүйлийг өөрчлөхөөс өмнө хоёр асуултыг тусгаарлаарай: аль машин хүсэлт илгээдэг, хүлээн авагч ямар итгэмжлэл хүлээж авдаг.
Хүсэлт хэзээ ч таны зөөврийн компьютер дээр эхлэхгүй
Хөтчийн таб зөөврийн компьютероос VPN адаптер, дотоод DNS дагавар дамжуулан хувийн дэд сүлжээнд илгээдэг. UrlFetchApp Google-ийн удирддаг хостоос илгээдэг, тиймээс Google-ийн шийдвэрлэгч, Google-ийн гарах хаягуудыг хардаг бөгөөд таны split-tunnel маршрутуудын нэгийг ч хардаггүй. Хоёр зам нэг хүснэгтийн баримт бичгийг хуваалцдаг, сүлжээний байршил биш. Аппын нэвтрэлтийн бүртгэлд скриптийн оролдлого VPN-ийн сангийн хаяг биш, Google хаяг хэлбэрээр харагддаг бөгөөд энэ нь таны авах хамгийн хурдан баталгаа юм.
Тиймээс локал засварууд юу ч хийдэггүй. Зөөврийн компьютерийг өөр шийдвэрлэгч рүү чиглүүлэх, VPN клиентийг дахин эхлүүлэх эсвэл hosts-д бичлэг нэмэх нь хөтчийн замыг өөрчилж, скриптийн замыг яг байсан шигээ үлдээдэг.
Энэ юуг үгүйсгэдэг вэ
Зөвхөн дотоод төгсгөлийн цэг рүү Apps Script-ээс хүрэх боломжгүй бөгөөд зөвшөөрөгдсөн IP жагсаалт энэ байрлалд нэвтрэх хяналтын сул орлуулагч юм. Google-ийн гарах хүрээнүүд өргөн, бусад үйлчлүүлэгчтэй хуваалцдаг бөгөөд нэг скриптэд холбох боломжгүй. UrlFetchApp-ийн лавлагаа хүсэлтүүд Google-ийн IP сангаас гаралтай гэж заасан бөгөөд энэ нь тухайн мэдэгдлийн эрх бүхий хувилбар юм. Дотоод аппыг эдгээр хүрээнд нээх нь таны холбож чадахгүй урсгалыг оруулна.
Хөтчийн сессүүд мөн адил ажилладаг. Зөөврийн компьютерийн хөтч дэх күүки эсвэл SSO сесс хүсэлтийн хамт аялахгүй, учир нь хүсэлт нь сессийн төлөвгүй шинэ HTTPS клиент юм. Хөтчийн SSO дахин чиглүүлэлтээс хамааралтай бүхэн таны өгөгдөл дээр биш, тэр дахин чиглүүлэлт дээр дуусдаг.
Хоёр хэрэгжих боломжтой хэлбэр
Эхний хэлбэр скриптэд зөвшөөрөгдсөн API өгдөг. Дотоод үйлчилгээг дуудагчийг баталгаажуулдаг гарцын ард нийтэлж, дараа нь скрипт гарцын хүлээн авдаг итгэмжлэл, жишээ нь үйлчилгээний бүртгэлийн токеныг танилцуулна. Apps Script-д энэ нь OAuth2 номын сан эсвэл ScriptApp.getOAuthToken() гэсэн үг бөгөөд API талд IP жагсаалтын оронд дуудагчийн таних тэмдгийн зөвшөөрөгдсөн жагсаалт.
Хоёр дахь хэлбэр чиглэлийг эргүүлдэг. Дотоод ажил хувийн системээс асууж, хяналттай үр дүнг скриптийн уншдаг Sheet, Cloud Storage объект эсвэл BigQuery хүснэгтэд нийтэлдэг. Cloud Run ажил, локал төлөвлөгч эсвэл одоо байгаа ETL алхам бүгд тэр ажил байж болох бөгөөд тэдгээрийн аль нь ч ирж буй холболтыг хүлээн авах шаардлагагүй. Дараа нь хүснэгт интерфэйсийн оронд өгөгдлийн багцыг хэрэглэдэг.
Аль хэлбэр ялах нь шинэлэг байдал, талбарын түвшний хяналт, уншигчийг хэн аудит хийж чадах ёстойгоос хамаарна.
Нийтэлсэн үр дүнд юу байх ёстой вэ
Эсрэг чиглэлийн урсгалд тодорхой гэрээ хэрэгтэй: тээвэрлэх талбарууд, шинэчлэх давтамж, уншигчдын бүлэг, дотоод ажил бүтэлгүйтэхэд юу болох. Эдгээр дөрөвгүйгээр хүснэгт чимээгүй өчигдрийн тоог харуулна. Үүсгэсэн цагийн тэмдгийн багана, мөрийн тоог нэмбэл хуучирсан эсвэл хэсэгчилсэн нийтлэл хэнийг ч бүртгэл нээхгүйгээр хүснэгтэд өөрөө харагдана.
API чиглэлд ч гэрээ хэрэгтэй: гарц ямар итгэмжлэл хүлээн авдаг, токен ямар scopes тээдэг, ямар дуудагчийн таних тэмдэг зөвшөөрөгдсөн. Нэвтрэх хуудас агуулсан 200 хариу амжилттай дуудлага биш, тиймээс зөвхөн төлөвийн код биш, биеийг ч шалгаарай.
Алдааг зөв талаас уншина уу
Apps Script хүрэх боломжгүй хостодыг хаяг боломжгүй гэсэн үл хамаарах зүйлээр мэдээлдэг бөгөөд энэ нь хөтчийн холболт татгалзсан гэсэн мессеж биш. Гарцаас ирсэн 403 нь хүсэлт ирсэн бөгөөд итгэмжлэл эсвэл бодлого татгалзсан гэсэн үг. HTML нэвтрэх хуудас нь хүсэлт скрипт гүйцэтгэж чадахгүй интерактив давхаргад хүрсэн гэсэн үг. Гурван өөр бүтэлгүйтэл, гурван өөр хариуцлагатай.
Скриптийн бүртгэлийг хөтчийн үр дүнгийн дэргэд хадгалаарай, нэгийг нөгөөгөөр солихгүй. Дараа нь үлдсэн асуулт бол энгийн интеграцийн шийдвэр: тэр орчинд шаардлагатай нэвтрэх эрхийг өгөх эсвэл түүнд хяналттай үр дүн хүргэх.