Firebase ML Apple uygulamanızın Cloud kimlik bilgilerini koruyun

Apple uygulamanız, Firebase ML bulut API'lerinden birini kullanıyorsa uygulamanızı kullanıma sunmadan önce yetkisiz bir şekilde kullanılmasını önlemek için ek önlemler API erişimi.

1. Mevcut API anahtarlarının kapsamını daraltma

Öncelikle, Cloud Vision'a erişime izin vermemek için mevcut API anahtarlarınızı yapılandırın API:

  1. Google Etiket Yöneticisi'nin Credentials (Kimlik Bilgileri) sayfasını Google Cloud konsolu. İstendiğinde projenizi seçin.

  2. Listedeki her mevcut API için düzenleme görünümünü açın.

  3. API kısıtlamaları bölümünde Anahtarı kısıtla'yı seçin ve ardından API anahtarının erişebilmesini istediğiniz tüm API'leri listeleyin. Şunlardan emin olun: Cloud Vision API'yi dahil etmeme.

    Bir API anahtarının API kısıtlamalarını yapılandırdığınızda, anahtarın erişiminin olduğu API'leri tanımlama. Varsayılan olarak, API kısıtlamalar bölümünde Anahtarı kısıtlama seçili. Bir API anahtarı Proje için etkinleştirilmiş herhangi bir API'ye erişmek üzere kullanılır.

Mevcut API anahtarlarınız Cloud ML hizmetlerine erişim izni vermeyecek ancak bu anahtarların her biri anahtarı, API kısıtlamalarına eklediğiniz tüm API'ler için çalışmaya devam eder liste'ye dokunun.

Gelecekte başka API'leri etkinleştirirseniz bunları şuraya eklemeniz gerektiğini unutmayın: Geçerli API anahtarının API kısıtlamaları listesi.

2. Firebase ML ile kullanılacak yeni bir API anahtarı oluşturun

Sonra, Firebase ML için yalnızca Cloud Vision API:

  1. Credentials (Kimlik Bilgisi) sayfasına dönün. Sitenizin Firebase projesi hâlâ seçili.

  2. Kimlik bilgileri oluştur > API anahtarı. Yeni API anahtarını not edin, ardından Anahtarı kısıtla'yı tıklayın.

  3. API kısıtlamaları bölümünde Anahtarı kısıtla'yı seçin ve ardından yalnızca Cloud Vision API'yi listeleme.

Bu API anahtarı yalnızca Cloud Vision API'ye erişim izni verir ve şunlar tarafından kullanılabilir: Bulut tabanlı modellere erişmek için Firebase ML.

Güvenliği ihlal edilmiş bir anahtarın olası etkilerini azaltmak için Cloud Vision API'nin varsayılan ayarından alınan kullanıcı başına kotası uygulanır. Bunu yapmak için:

  1. Cloud Vision API Kotalar sayfasını açın: Google Cloud konsolu. İstendiğinde projenizi seçin.

  2. İstekler bölümünde Kullanıcı başına dakikada istek sayısı kotasını ayarlayın uygulamanız için makul bir değere sahip olmalıdır. Örneğin, uygulamanızda metni geri almak için dokümanın bir resmini yüklemek yerine bir kullanıcı bunu birkaç saniyede bir defadan fazla yapacaktır, bu nedenle kota 30-40 güvenli olacaktır.

    Bu bağlamda "kullanıcı başına istek sayısı" değerinin bir kurumun tek bir IP adresi sağlar. Birden fazla içerik gerçekleşmesini bekliyorsanız aynı anda uygulamanızı bir NAT'nin arkasından kullanmasını sağlar.

4. Firebase ML API anahtarınızı kullanarak Cloud APIs'i çağırın

Son olarak, uygulamanızda, yeni API anahtarınızı kullanacak şekilde Firebase ML hizmetini yapılandırın.

Firebase ML API anahtarı, Cloud Vision'a kimlik doğrulamasız erişime izin verdiği için yetkisiz kullanımı ve erişimi önlemek için anahtarı gizli tutmak faturalandırma hesabınıza yansıtılır. Bunu yapmak için uygulama ikili dosyanızdaki API anahtarınız. Bunun yerine, uygulama çalışma zamanında bilinen bir iyi bir kullanıcı oturum açtığında API anahtarını bir sunucudan alır.

Bu uygulamalar gözlemlense bile bir API anahtarının olabilir. Yaşanan olumsuzlukların sonuçlarını azaltmak için güvenliği ihlal edilmiş anahtar (yukarıda açıklandığı gibi API'nin kullanıcı başına kotasını azaltmak gibi), anahtar rotasyon politikalarını uygulamak ve farklı bir araya getirmektir.

Uygulamanız API anahtarını güvenli bir şekilde aldıktan sonra, Firebase ML Cloud API, anahtarı belirtin:

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];
}

Ayrıca, API anahtarının güvenliğini sağlama.

Sonraki adımlar

Aşağıdakilerle ilgili bilgi için lansman kontrol listesini inceleyin: diğer Firebase özelliklerini kullanırken uygulamanızı lansmana hazırlama.