Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

Firebase ML iOS 앱의 클라우드 자격 증명 보호

iOS 앱이 Firebase ML의 클라우드 API 중 하나를 사용하는 경우 프로덕션에서 앱을 시작하기 전에 승인되지 않은 API 액세스를 방지하기 위해 몇 가지 추가 단계를 수행해야합니다.

1. 기존 API 키의 범위를 줄입니다.

먼저 Cloud Vision API에 대한 액세스를 허용하지 않도록 기존 API 키를 구성하십시오.

  1. Cloud 콘솔의 자격 증명 페이지를 엽니 다. 메시지가 표시되면 Firebase 프로젝트와 이름이 같은 프로젝트를 선택하십시오.

  2. 목록의 각 API 키에 대해 편집보기를 열고 키 제한 섹션에서 Cloud Vision API를 제외한 사용 가능한 모든 API를 목록에 추가하십시오.

    API 키의 API 제한을 구성 할 때 키가 액세스 권한을 부여하는 API를 명시 적으로 선언합니다. 기본적으로 API 제한 사항 섹션이 비어 있으면 API 키를 사용하여 프로젝트에 사용 가능한 모든 API에 액세스 할 수 있습니다.

이제 기존 API 키는 Cloud ML 서비스에 대한 액세스 권한을 부여하지 않지만 직접 활성화했거나 Firebase를 설정할 때 자동으로 활성화 된 API에 대해서는 계속 작동합니다.

나중에 추가 API를 사용하는 경우 API 키의 API 제한 사항 목록에도 추가해야합니다.

2. Firebase ML과 함께 사용할 새 API 키를 만듭니다.

다음으로 Cloud Vision API에 대한 호출 만 허용하는 Firebase ML 용 API 키를 새로 만듭니다.

  1. 자격 증명 페이지로 돌아갑니다. Firebase 프로젝트가 여전히 선택되어 있는지 확인하십시오.

  2. 신임 정보 작성> API 키를 클릭 하십시오 . 새 API 키를 기록한 다음 키 제한 을 클릭하십시오.

  3. 키 제한 섹션에서 Cloud Vision API 만 목록에 추가하십시오.

이 API 키는 Cloud Vision API에만 액세스 권한을 부여하며 Firebase ML에서 클라우드 기반 모델에 액세스하는 데 사용할 수 있습니다.

손상된 키의 결과를 완화하려면 Cloud Vision API의 사용자 별 할당량을 기본 설정에서 줄여야합니다. 그렇게하려면 :

  1. Cloud 콘솔의 Cloud Vision API Quotas 페이지를 엽니 다. 메시지가 표시되면 Firebase 프로젝트와 이름이 같은 프로젝트를 선택하십시오.

  2. 요청 섹션에서 사용자 당 분당 요청 할당량을 앱에 적합한 것으로 설정합니다. 예를 들어, 앱에 문서 그림을 업로드하여 텍스트를 다시 가져 오는 경우 사용자는 몇 초마다 한 번 이상 그렇게하지 않을 것이므로 할당량 30-40은 안전 할 것입니다.

    이 문맥에서 "사용자 당 요청"은 단일 IP 주소의 요청을 나타냅니다. 여러 사용자가 NAT 뒤에서 동시에 앱을 사용할 것으로 예상하는 경우이를 고려해야합니다.

4. Firebase ML API 키를 사용하여 Cloud API 호출

마지막으로 앱에서 새 API 키를 사용하도록 Firebase ML을 구성하십시오.

Firebase ML API 키는 Cloud Vision API에 대한 인증되지 않은 액세스를 허용하므로 결제 계정에 대한 무단 사용 및 청구를 방지하려면 키를 기밀로 유지하는 것이 중요합니다. 그렇게하려면 앱 바이너리에 API 키를 포함하지 않아야합니다. 대신, 응용 프로그램 런타임에 알려진 정상 사용자가 로그인했는지 확인한 다음 서버에서만 API 키를 검색하십시오.

이러한 관행을 준수하더라도 API 키가 손상 될 수 있습니다. 위에서 설명한대로 API의 사용자 당 할당량 감소, 키 순환 정책 구현 및 다른 사용자 그룹에 다른 키 발급과 같은 손상된 키의 결과를 완화하는 단계를 수행해야합니다.

앱이 API 키를 안전하게 획득 한 후 Firebase ML Cloud API를 호출하려는 경우 키를 지정하십시오.

빠른

 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)
}
 

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

또한 API 키 보안 의 일반 조언을 따라야합니다.

다음 단계

다른 Firebase 기능을 사용할 때 앱을 시작하도록 준비하는 방법에 대한 정보는 시작 체크리스트 를 참조하십시오.