Melindungi kredensial Cloud aplikasi iOS ML Kit Anda

Jika aplikasi iOS Anda menggunakan salah satu Cloud API ML Kit, sebelum meluncurkan aplikasi dalam produksi, Anda harus menjalankan beberapa langkah tambahan untuk mencegah akses API tanpa izin.

1. Kurangi cakupan kunci API yang ada

Pertama, konfigurasi kunci API yang ada untuk melarang akses ke Cloud Vision API:

  1. Buka halaman Kredensial pada Cloud Console. Saat diminta, pilih project dengan nama yang sama seperti project Firebase Anda.

  2. Untuk setiap kunci API dalam daftar, buka tampilan edit, dan di bagian Pembatasan Kunci, tambahkan semua API yang tersedia ke dalam daftar, kecuali Cloud Vision API.

    Saat mengonfigurasi Pembatasan API untuk kunci API, Anda secara eksplisit menyatakan API yang dapat diakses oleh kunci. Secara default, jika bagian Pembatasan API kosong, kunci API dapat digunakan untuk mengakses API apa pun yang diaktifkan untuk project.

Sekarang, kunci API yang ada tidak akan memberikan akses ke layanan ML cloud, tetapi kunci tersebut akan tetap berfungsi untuk setiap API yang Anda aktifkan sendiri, atau yang diaktifkan secara otomatis saat Anda menyiapkan Firebase.

Perhatikan bahwa jika Anda mengaktifkan API tambahan di waktu mendatang, Anda juga harus menambahkannya ke daftar Pembatasan API untuk kunci API tersebut.

2. Buat kunci API baru untuk digunakan dengan ML Kit

Selanjutnya, buat kunci API baru untuk ML Kit yang hanya mengizinkan panggilan ke Cloud Vision API:

  1. Kembali ke halaman Kredensial. Pastikan project Firebase Anda masih dipilih.

  2. Klik Buat kredensial > Kunci API. Catat kunci API baru ini, lalu klik Batasi kunci.

  3. Di bagian Pembatasan Kunci, tambahkan Cloud Vision API saja ke dalam daftar.

Kunci API ini hanya memberikan akses ke Cloud Vision API dan dapat digunakan oleh ML Kit untuk mengakses model berbasis cloud.

3 Panggil Cloud APIs menggunakan kunci API ML Kit

Terakhir, di aplikasi Anda, konfigurasi ML Kit agar menggunakan kunci API baru.

Karena kunci API ML Kit mengizinkan akses yang tidak diautentikasi ke Cloud Vision API, kerahasiaan kunci harus dijaga guna mencegah penggunaan dan tagihan tidak sah ke akun penagihan Anda. Caranya, usahakan untuk tidak memasukkan kunci API ke biner aplikasi Anda. Sebagai gantinya, pada saat runtime aplikasi, verifikasi bahwa pengguna yang dikenal baik sudah login, dan baru setelah itu, ambil kunci API dari server.

Bahkan dengan menerapkan praktik ini pun, kunci API tetap bisa disusupi. Anda harus mengambil langkah untuk mengurangi penyalahgunaan kunci curian, misalnya dengan menerapkan kebijakan rotasi kunci dan menerbitkan kunci berbeda untuk kelompok pengguna berbeda.

Setelah aplikasi Anda mendapatkan kunci API dengan aman, saat ingin memanggil Cloud API ML Kit, tentukan kunci:

Swift

if let cloudVisionKey = getYourApiKey() {  // See note above about securing your API key
    let options = VisionCloudDetectorOptions()
    options.apiKeyOverride = cloudVisionKey
    let cloudDetector = Vision.vision().cloudLandmarkDetector(options: options)
}

Objective-C

NSString *cloudVisionKey = [self getYourApiKey];  // See note above about securing your API key
if (cloudVisionKey != nil) {
    FIRVisionCloudDetectorOptions *options =
            [[FIRVisionCloudDetectorOptions alloc] init];
    options.APIKeyOverride = cloudVisionKey;
    FIRVisionCloudLandmarkDetector *landmarkDetector =
            [vision cloudLandmarkDetectorWithOptions:options];
}

Selain itu, Anda harus mengikuti saran umum dalam Mengamankan kunci API.

Langkah berikutnya

Baca checklist peluncuran yang berisi informasi tentang cara menyiapkan aplikasi Anda untuk diluncurkan saat menggunakan fitur Firebase lainnya.

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.