Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Lindungi kredensial Cloud aplikasi iOS Firebase ML Anda

Jika aplikasi iOS Anda menggunakan salah satu API cloud Firebase ML, sebelum Anda meluncurkan aplikasi dalam produksi, Anda harus mengambil beberapa langkah tambahan untuk mencegah akses API yang tidak sah.

1. Kurangi cakupan kunci API yang ada

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

  1. Buka halaman Kredensial di Google Cloud Console. Saat diminta, pilih proyek dengan nama yang sama dengan proyek Firebase Anda.

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

    Saat Anda mengonfigurasi Pembatasan API kunci API, Anda secara eksplisit mendeklarasikan API yang aksesnya diberikan kunci. Secara default, saat bagian Batasan API kosong, kunci API dapat digunakan untuk mengakses API apa pun yang diaktifkan untuk proyek tersebut.

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

Perhatikan bahwa jika Anda mengaktifkan API tambahan di masa mendatang, Anda juga harus menambahkannya ke daftar Batasan API dari kunci API.

2. Buat kunci API baru untuk digunakan dengan Firebase ML

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

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

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

  3. Di bagian Batasan Kunci, tambahkan hanya Cloud Vision API ke daftar.

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

Untuk membantu mengurangi konsekuensi dari kunci yang disusupi, Anda harus mengurangi kuota per pengguna Cloud Vision API dari setelan defaultnya. Untuk melakukannya:

  1. Buka halaman Kuota Cloud Vision API di Google Cloud Console. Saat diminta, pilih proyek dengan nama yang sama dengan proyek Firebase Anda.

  2. Di bagian Permintaan , setel Permintaan per menit per kuota pengguna menjadi sesuatu yang wajar untuk aplikasi Anda. Misalnya, jika aplikasi Anda melibatkan pengunggahan gambar dokumen untuk mendapatkan kembali teksnya, kecil kemungkinannya pengguna akan melakukannya lebih dari sekali setiap beberapa detik, jadi kuota 30-40 mungkin aman.

    Perhatikan bahwa dalam konteks ini "permintaan per pengguna" mengacu pada permintaan dari satu alamat IP. Anda mungkin perlu mempertimbangkan hal ini jika mengharapkan beberapa pengguna menggunakan aplikasi Anda secara bersamaan dari belakang NAT.

4. Panggil Cloud API menggunakan kunci Firebase ML API Anda

Terakhir, di aplikasi Anda, konfigurasikan Firebase ML untuk menggunakan kunci API baru Anda.

Karena kunci Firebase ML API memungkinkan akses yang tidak diautentikasi ke Cloud Vision API, penting untuk menjaga kerahasiaan kunci tersebut untuk mencegah penggunaan dan biaya yang tidak sah ke akun penagihan Anda. Untuk melakukannya, Anda harus menahan diri untuk tidak menyertakan kunci API Anda di biner aplikasi Anda. Sebagai gantinya, pada waktu proses aplikasi, verifikasi bahwa pengguna baik yang diketahui login, dan baru kemudian, ambil kunci API dari server.

Bahkan ketika praktik ini diamati, kunci API mungkin saja disusupi. Anda harus mengambil langkah-langkah untuk membantu mengurangi konsekuensi dari kunci yang disusupi, seperti mengurangi kuota API per pengguna seperti yang dijelaskan di atas, menerapkan kebijakan rotasi kunci, dan mengeluarkan kunci yang berbeda untuk berbagai kelompok pengguna.

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

Cepat

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 selanjutnya

Lihat daftar periksa peluncuran untuk mengetahui informasi tentang mempersiapkan aplikasi Anda untuk diluncurkan saat menggunakan fitur Firebase lainnya.