ID region
REGION_ID
adalah kode singkat yang ditetapkan Google berdasarkan region yang Anda pilih saat membuat aplikasi. Kode ini tidak sesuai dengan negara atau provinsi, meskipun beberapa ID region mungkin tampak mirip dengan kode negara dan provinsi yang umum digunakan. Untuk aplikasi yang dibuat setelah Februari 2020, REGION_ID.r
disertakan dalam URL App Engine. Untuk aplikasi lama yang dibuat sebelum tanggal tersebut, ID region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
App Identity API memungkinkan aplikasi menemukan ID aplikasinya (juga disebut ID project). Dengan menggunakan ID ini, aplikasi App Engine dapat menegaskan identitasnya ke Aplikasi App Engine lainnya, Google API, serta aplikasi dan layanan pihak ketiga. ID aplikasi juga dapat digunakan untuk membuat URL atau alamat email, atau untuk membuat keputusan run-time.
Mendapatkan ID project
Project ID dapat ditemukan menggunakan
metode app_identity.get_application_id()
. Lingkungan WSGI atau CGI menampilkan
beberapa detail implementasi, yang ditangani oleh API.
Mendapatkan nama host aplikasi
Secara default, aplikasi App Engine disalurkan dari URL dalam bentuk
https://PROJECT_ID.REGION_ID.r.appspot.com
, dengan ID project merupakan bagian dari nama host.
Jika aplikasi disalurkan dari domain kustom, aplikasi tersebut mungkin perlu mengambil
seluruh komponen nama host. Anda dapat melakukannya menggunakan metode app_identity.get_default_version_hostname()
.
Menyatakan identitas ke aplikasi App Engine lainnya
Jika ingin menentukan identitas aplikasi App Engine yang membuat permintaan ke aplikasi App Engine Anda, Anda dapat menggunakan header permintaan X-Appengine-Inbound-Appid
. Header ini ditambahkan ke permintaan oleh layanan URLFetch dan tidak dapat diubah oleh pengguna, sehingga dengn aman menunjukkan project ID aplikasi yang melakukan permintaan, jika ada.
Persyaratan:
-
Hanya panggilan yang dilakukan ke domain
appspot.com
aplikasi Anda yang akan berisi headerX-Appengine-Inbound-Appid
. Panggilan ke domain kustom tidak berisi header. -
Permintaan Anda harus ditetapkan agar tidak mengikuti pengalihan.
Tetapkan
urlfetch.fetch()
follow_redirects
parameter keFalse
.
Di pengendali aplikasi, Anda dapat memeriksa ID masuk dengan membaca header X-Appengine-Inbound-Appid
dan membandingkannya dengan daftar ID yang diizinkan untuk membuat permintaan. Contoh:
Menyatakan identitas ke Google API
Google API menggunakan protokol OAuth 2.0 untuk autentikasi dan otorisasi. App Identity API dapat membuat token OAuth yang dapat digunakan untuk menyatakan bahwa sumber permintaan adalah aplikasi itu sendiri. Metode get_access_token()
menampilkan token akses untuk cakupan, atau daftar cakupan. Token ini kemudian dapat
ditetapkan dalam header HTTP panggilan untuk mengidentifikasi aplikasi panggilan.
Perlu diperhatikan bahwa identitas aplikasi direpresentasikan oleh nama akun layanan, yang biasanya adalah applicationid@appspot.gserviceaccount.com. Anda bisa mendapatkan nilai yang tepat menggunakan metode get_service_account_name()
.
Untuk layanan yang menawarkan ACL, Anda dapat memberikan akses aplikasi dengan memberikan akses akun ini.
Menyatakan identitas ke layanan pihak ketiga
Token yang dibuat oleh get_access_token()
hanya berfungsi pada layanan Google. Namun, Anda bisa menggunakan teknologi penandatanganan yang mendasarinya untuk menegaskan identitas aplikasi Anda ke layanan lain. Metode sign_blob()
akan menandatangani byte menggunakan kunci pribadi yang unik untuk aplikasi Anda, dan metode get_public_certificates()
akan menampilkan sertifikat yang dapat digunakan untuk memvalidasi tanda tangan.
Mendapatkan nama Bucket Cloud Storage default
Setiap aplikasi dapat memiliki satu bucket Cloud Storage default, yang mencakup penyimpanan gratis 5 GB dan kuota gratis untuk operasi I/O.
Untuk mendapatkan nama bucket default, Anda dapat menggunakan App Identity API. Panggil google.appengine.api.app_identity.app_identity.get_default_gcs_bucket_name.