이 페이지에서는 모바일 애플리케이션에서 사용자 상호작용을 확인하기 위해 reCAPTCHA 키(키라고도 함)를 만드는 방법을 설명합니다.
reCAPTCHA 키는 모바일 애플리케이션(앱)에 reCAPTCHA가 구성된 방식을 나타냅니다.
시작하기 전에
- reCAPTCHA 환경을 준비합니다.
- reCAPTCHA Enterprise 관리자(
roles/recaptchaenterprise.admin
)라는 Identity and Access Management 역할이 있는지 확인합니다.
reCAPTCHA 키 만들기
모바일 애플리케이션용 점수 기반 키만 만들 수 있습니다.
모바일 애플리케이션용 reCAPTCHA 키를 만들 때 다음을 수행하는 것이 좋습니다.
- 모바일 애플리케이션마다 reCAPTCHA 키를 하나씩 만듭니다.
Android의 경우 다음 시나리오에 대한 별도의 키를 만듭니다.
- Android 패키지를 Google Play 스토어에서만 사용할 수 있습니다.
- Android 패키지를 Google Play 스토어가 아닌 앱 스토어에서만 사용할 수 있습니다.
스테이징 및 프로덕션 환경을 위한 별도의 reCAPTCHA 키를 만듭니다. 그렇지 않으면 테스트 환경의 데이터로 reCAPTCHA 위험 분석을 오염시킬 위험이 있습니다.
reCAPTCHA 키를 만드는 가장 간단한 방법은 Google Cloud 콘솔을 사용하는 것입니다. 또는 reCAPTCHA Enterprise API나 Google Cloud CLI를 사용할 수 있습니다.
콘솔
Google Cloud 콘솔에서 reCAPTCHA 페이지로 이동합니다.
페이지 상단의 리소스 선택기에 프로젝트 이름이 표시되는지 확인합니다.
프로젝트 이름이 표시되지 않으면 리소스 선택기를 클릭한 다음 프로젝트를 선택합니다.
- 키 만들기를 클릭합니다.
- 표시 이름 필드에 키의 표시 이름을 입력합니다.
- 모바일 애플리케이션용으로 만들려는 reCAPTCHA 키 유형에 따라 적절한 작업을 수행합니다.
- 플랫폼 유형 선택 메뉴에서 iOS 앱을 선택합니다.
- iOS 번들 ID 목록 섹션에서 iOS 번들 ID 추가를 클릭합니다.
번들 ID 필드에 iOS 번들 ID 이름을 입력합니다.
- 선택사항: 번들 ID를 더 추가하려면 iOS 번들 ID 추가를 클릭하고 번들 ID 필드에 iOS 번들 ID 이름을 입력합니다.
(선택사항) Apple 개발자 설정을 제공합니다.
reCAPTCHA가 트래픽에 대해 보다 정확한 위험 점수를 제공할 수 있으므로 이 데이터를 제공하는 것이 좋습니다.
다음 정보를 입력합니다.
- 비공개 키(.p8): Apple Developer Center의 인증서, 식별자, 프로필 아래에 생성됩니다.
- 키 식별자: Apple 개발자 키 식별자(10자 문자열)입니다.
- 팀 ID: 애플리케이션을 빌드하는 데 사용되는 프로비저닝 프로필을 소유하는 Apple팀 ID(10자 문자열)입니다.
- 번들 ID 확인 및 키 유형을 펼칩니다.
- 번들 ID용 reCAPTCHA 키를 보호하려면 번들 ID 확인 사용 중지 전환 버튼이 중지되어 있는지 확인합니다.
-
비프로덕션 환경의 경우 평가가 생성될 때 키가 반환할 점수를 지정하려면 다음을 수행하세요.
- 테스트 키입니다 전환 버튼을 클릭합니다.
- 점수 상자에 0에서 1.0 사이의 점수를 지정합니다.
- 키 만들기를 클릭합니다.
- 플랫폼 유형 선택 메뉴에서 Android 앱을 선택합니다.
- Android 패키지 목록 섹션에서 Android 패키지 추가를 클릭합니다.
- Android 패키지 필드에 Android 패키지의 이름을 입력합니다.
- 선택사항: 패키지를 추가하려면 Android 패키지 추가를 클릭하고 Android 패키지 필드에 다른 Android 패키지의 이름을 입력합니다.
- 패키지 이름 인증, 앱 배포, 테스트 키를 펼칩니다.
- 앱 내에서만 reCAPTCHA 키를 사용하도록 하려면 패키지 이름 확인 사용 중지 전환 버튼을 끕니다.
- Google Play 스토어 외에 다른 앱 스토어에서 사용할 수 있는 애플리케이션의 키를 만들려면 Google Play 스토어 외부에 배포된 애플리케이션 지원을 사용 설정합니다.
-
비프로덕션 환경의 경우 평가가 생성될 때 키가 반환할 점수를 지정하려면 다음을 수행하세요.
- 테스트 키입니다 전환 버튼을 클릭합니다.
- 점수 상자에 0에서 1.0 사이의 점수를 지정합니다.
- 키 만들기를 클릭합니다.
iOS 애플리케이션용 reCAPTCHA 키 만들기
iOS 애플리케이션당 하나의 reCAPTCHA 키를 만드는 것이 좋습니다.
reCAPTCHA 키 페이지에 새로 생성된 키가 나열됩니다.
Android 애플리케이션용 reCAPTCHA 키 만들기
reCAPTCHA 키 페이지에 새로 생성된 키가 나열됩니다.
gcloud(iOS)
reCAPTCHA 키를 만들려면 gcloud recaptcha keys create 명령어를 사용합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- DISPLAY_NAME: 키 이름입니다. 일반적으로 사이트 이름입니다.
- BUNDLE_IDs: 키를 사용할 수 있는 앱의 iOS 번들 ID입니다. 여러 번들 ID를 쉼표로 구분된 목록으로 지정합니다.
gcloud recaptcha keys create 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud recaptcha keys create \ --display-name=DISPLAY_NAME \ --ios --bundle-ids=BUNDLE_IDs
Windows(PowerShell)
gcloud recaptcha keys create ` --display-name=DISPLAY_NAME ` --ios --bundle-ids=BUNDLE_IDs
Windows(cmd.exe)
gcloud recaptcha keys create ^ --display-name=DISPLAY_NAME ^ --ios --bundle-ids=BUNDLE_IDs
응답에 새로 생성된 reCAPTCHA 키가 포함됩니다.
gcloud(Android)
reCAPTCHA 키를 만들려면 gcloud recaptcha keys create 명령어를 사용합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- DISPLAY_NAME: 키 이름입니다. 일반적으로 사이트 이름입니다.
- PACKAGE_NAMES: 키를 사용할 수 있는 앱의 Android 패키지 이름입니다. 여러 패키지 이름을 쉼표로 구분된 목록으로 지정합니다.
gcloud recaptcha keys create 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud recaptcha keys create \ --display-name=DISPLAY_NAME \ --android --package-names=PACKAGE_NAMES
Windows(PowerShell)
gcloud recaptcha keys create ` --display-name=DISPLAY_NAME ` --android --package-names=PACKAGE_NAMES
Windows(cmd.exe)
gcloud recaptcha keys create ^ --display-name=DISPLAY_NAME ^ --android --package-names=PACKAGE_NAMES
응답에 새로 생성된 reCAPTCHA 키가 포함됩니다.
REST(iOS)
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- DISPLAY_NAME: 키 이름입니다. 일반적으로 앱 이름입니다.
- BUNDLE_IDs: 키를 사용할 수 있는 앱의 iOS 번들 ID입니다. 여러 번들 ID를 쉼표로 구분된 목록으로 지정합니다.
HTTP 메서드 및 URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
JSON 요청 본문:
{ "displayName": "DISPLAY_NAME", "iosSettings": { "allowedBundleIds":"BUNDLE_IDs" } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-id/keys/6LfhtywnAAAAABY3sCS2duZ6A55kmDXz-PNEgKgT", "displayName": "DISPLAY_NAME", "iosSettings": { "allowAllBundleIds": false, "allowedBundleIds": [ BUNDLE_IDS ] }, "labels": {}, }
REST(Android)
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- DISPLAY_NAME: 키 이름입니다. 일반적으로 앱 이름입니다.
- PACKAGE_NAMES: 키를 사용할 수 있는 앱의 Android 패키지 이름입니다. 여러 패키지 이름을 쉼표로 구분된 목록으로 지정합니다.
HTTP 메서드 및 URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
JSON 요청 본문:
{ "displayName": "DISPLAY_NAME", "androidSettings": { "allowedPackageNames":"PACKAGE_NAMES" } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/project-id/keys/6LcioSknAAAAABrjlMuZv2fjIGYMqwaAFC9izhoy", "displayName": "DISPLAY_NAME", "androidSettings": { "allowAllPackageNames": false, "allowedPackageNames": [ PACKAGE_NAMES ], "supportNonGoogleAppStoreDistribution": false }, "labels": {}, }