Integrasi dengan Google Cloud Armor untuk situs

Dokumen ini menunjukkan cara mengintegrasikan reCAPTCHA untuk Cloud Armor di situs.

Untuk menyelesaikan integrasi, Anda harus menerapkan satu atau beberapa fitur reCAPTCHA untuk Cloud Armor dan mengonfigurasi kebijakan keamanan Cloud Armor.

Sebelum memulai

  1. Aktifkan reCAPTCHA Enterprise API.

    Enable the API

  2. Rencanakan cara Anda ingin menerapkan fitur reCAPTCHA untuk Cloud Armor guna melindungi situs Anda.

    1. Pilih satu atau beberapa fitur WAF yang paling sesuai dengan kasus penggunaan Anda.
    2. Identifikasi halaman yang ingin Anda lindungi dan jenis fitur Cloud Armor yang ingin Anda terapkan di halaman tersebut.

Menerapkan fitur reCAPTCHA untuk Cloud Armor

Bergantung pada persyaratan Anda, Anda dapat menggunakan satu atau beberapa fitur reCAPTCHA untuk Cloud Armor dalam satu aplikasi.

Jika ingin menggunakan lebih dari satu fitur, Anda harus membuat kunci reCAPTCHA untuk setiap fitur tersebut dan menggunakannya di aplikasi Anda. Misalnya, jika Anda ingin menggunakan token tindakan reCAPTCHA dan halaman tantangan reCAPTCHA, Anda harus membuat kunci token tindakan dan kunci halaman tantangan, lalu menggunakannya di aplikasi Anda.

Menerapkan token tindakan reCAPTCHA

Anda harus menjalankan reCAPTCHA di halaman web untuk membuat token tindakan. Setelah reCAPTCHA membuat token tindakan, Anda melampirkan token tindakan ke header permintaan yang telah ditentukan sebelumnya di mana pun Anda perlu melindungi tindakan pengguna, seperti checkout. Secara default, token tindakan berlaku selama 30 menit, tetapi dapat bervariasi bergantung pada traffic. Anda harus melampirkan token tindakan ke header permintaan yang telah ditentukan sebelumnya sebelum token berakhir, sehingga Cloud Armor dapat mengevaluasi atribut token.

Untuk menerapkan token tindakan reCAPTCHA, lakukan hal berikut:

  1. Buat kunci token tindakan untuk situs Anda.

    Cloud Console

    1. Di konsol Google Cloud , buka halaman reCAPTCHA.

      Buka reCAPTCHA

    2. Pastikan nama project Anda muncul di pemilih resource di bagian atas halaman.

      Jika Anda tidak melihat nama project, klik pemilih resource, lalu pilih project Anda.

    3. Klik Create key.
    4. Di kolom Nama tampilan, masukkan nama tampilan untuk kunci.
    5. Bergantung pada platform yang ingin Anda buatkan kunci reCAPTCHA untuk WAF, lakukan tindakan yang sesuai:
      1. Untuk Application type, pilih Web.

        Bagian Domain list akan muncul.

      2. Untuk melindungi kunci reCAPTCHA untuk domain dan subdomain Anda, pastikan tombol Nonaktifkan verifikasi domain dinonaktifkan.

        Menonaktifkan verifikasi domain merupakan risiko keamanan karena tidak ada batasan pada situs, sehingga kunci reCAPTCHA Anda dapat diakses dan digunakan oleh siapa saja.

      3. Masukkan nama domain untuk situs Anda:

        1. Di bagian Daftar domain, klik Tambahkan domain.
        2. Di kolom Domain, masukkan nama domain Anda.
        3. Opsional: Untuk menambahkan domain lain, klik Tambahkan domain, lalu masukkan nama domain lain di kolom Domain. Anda dapat menambahkan hingga maksimum 250 domain.

          Untuk situs, kunci reCAPTCHA bersifat unik untuk domain dan subdomain yang Anda tentukan. Anda dapat menentukan lebih dari satu domain jika Anda menayangkan situs dari beberapa domain. Jika Anda menentukan domain (misalnya, examplepetstore.com), Anda tidak perlu menentukan subdomainnya (misalnya, subdomain.examplepetstore.com).

      4. Di Additional settings, aktifkan tombol Will you deploy this key in a Web Application Firewall (WAF)?.
      5. Dari opsi Fitur, pilih Tindakan.

      6. Opsional: Aktifkan tombol Will you use challenges?.

      7. Klik Create key.
      8. Kunci yang baru dibuat akan tercantum di halaman kunci reCAPTCHA.

    gcloud

    Untuk membuat kunci reCAPTCHA, gunakan perintah gcloud recaptcha keys create.

    Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

    • INTEGRATION_TYPE: Jenis integrasi. Tentukan score atau checkbox.
    • DISPLAY_NAME: Nama untuk kunci. Biasanya nama situs.
    • DOMAIN_NAME: Domain atau subdomain situs yang diizinkan menggunakan kunci.

      Tentukan beberapa domain sebagai daftar yang dipisahkan koma. Opsional: Tentukan --allow-all-domains untuk menonaktifkan verifikasi domain.

      Menonaktifkan verifikasi domain merupakan risiko keamanan karena tidak ada batasan pada situs, sehingga kunci reCAPTCHA Anda dapat diakses dan digunakan oleh siapa saja.

    • WAF_FEATURE: Nama fitur WAF. Tentukan action-token.
    • WAF_SERVICE: Nama penyedia layanan WAF. Tentukan CA untuk Cloud Armor.

    Jalankan perintah gcloud recaptcha keys create:

    Linux, macOS, atau Cloud Shell

    gcloud recaptcha keys create \
    --web \
    --display-name=DISPLAY_NAME  \
    --integration-type=INTEGRATION_TYPE \
    --domains=DOMAIN_NAME \
    --waf-feature=WAF_FEATURE \
    --waf-service=WAF_SERVICE

    Windows (PowerShell)

    gcloud recaptcha keys create `
    --web `
    --display-name=DISPLAY_NAME  `
    --integration-type=INTEGRATION_TYPE `
    --domains=DOMAIN_NAME `
    --waf-feature=WAF_FEATURE `
    --waf-service=WAF_SERVICE

    Windows (cmd.exe)

    gcloud recaptcha keys create ^
    --web ^
    --display-name=DISPLAY_NAME  ^
    --integration-type=INTEGRATION_TYPE ^
    --domains=DOMAIN_NAME ^
    --waf-feature=WAF_FEATURE ^
    --waf-service=WAF_SERVICE

    Respons berisi kunci reCAPTCHA yang baru dibuat.

    REST

    Untuk mengetahui informasi referensi API tentang jenis kunci dan jenis integrasi, lihat Kunci dan Jenis integrasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • INTEGRATION_TYPE: Jenis integrasi. Tentukan score atau checkbox.
    • DISPLAY_NAME: Nama untuk kunci. Biasanya nama situs.
    • DOMAIN_NAME: Domain atau subdomain situs yang diizinkan menggunakan kunci.

      Tentukan beberapa domain sebagai daftar yang dipisahkan koma. Opsional: Tentukan --allow-all-domains untuk menonaktifkan verifikasi domain.

      Menonaktifkan verifikasi domain merupakan risiko keamanan karena tidak ada batasan pada situs, sehingga kunci reCAPTCHA Anda dapat diakses dan digunakan oleh siapa saja.

    • WAF_FEATURE: Nama fitur WAF. Tentukan action-token.
    • WAF_SERVICE: Nama penyedia layanan WAF. Tentukan CA untuk Cloud Armor.
    • DEFAULT_SCORE_THRESHOLD: Untuk kunci tantangan berbasis kebijakan, parameter ini menentukan nilai minimum tantangan universal untuk kunci saat nilai minimum skor kustom tidak ditentukan. Fitur ini dalam pratinjau.
    • ACTION_SCORE_THRESHOLDS: Untuk kunci tantangan berbasis kebijakan, ini menentukan tindakan dan skor ambang yang sesuai antara 0,0 dan 1,0. Contoh, login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Fitur ini dalam pratinjau.

    Metode HTTP dan URL:

    POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

    Isi JSON permintaan:

    
    {
      "displayName": "DISPLAY_NAME",
       'wafSettings': "  {
           "wafService": "WAF_SERVICE",
      
    "wafFeature": "WAF_FEATURE"
      }
      "webSettings": {
        "allowedDomains": "DOMAINS",
        "integrationType": "INTEGRATION_TYPE"
       }
       
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    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

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $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

    Anda akan melihat respons JSON seperti berikut:

    
    {
      "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
    "displayName": "DISPLAY_NAME,
    
    "webSettings": {
      "allowAllDomains": true,
      "allowedDomains": [
        "localhost"
      ],
    
     "integrationType": "SCORE",
    
    
    },
    "wafSettings": {
      "wafService": "CA",
    
      "wafFeature": "ACTION_TOKEN"
      
    
    }
    }
    
    

  2. Integrasikan JavaScript reCAPTCHA di halaman web Anda dengan kunci token tindakan yang Anda buat. Untuk mengetahui petunjuknya, lihat dokumen yang sesuai dengan jenis integrasi kunci token tindakan Anda.

  3. Setelah Anda menerima token dari reCAPTCHA, lampirkan token ke header permintaan yang telah ditentukan sebelumnya dalam format berikut:

     X-Recaptcha-Token: value-of-your-action-token
    

    Anda dapat menggunakan bahasa seperti XHR, Ajax, atau Fetch API untuk melampirkan token ke header permintaan yang telah ditentukan sebelumnya.

    Contoh skrip berikut menunjukkan cara melindungi tindakan execute dan melampirkan token ke header permintaan yang telah ditentukan menggunakan JavaScript + XHR:

      
      <script>
        src="https://www.google.com/recaptcha/enterprise.js?render=ACTION_TOKEN_KEY"></script>
    
        <script>
        function onSuccess(action_token) {
             const xhr = new XMLHttpRequest();
             xhr.open('GET','YOUR_URL', false);
             // Attach the action-token to the predefined request header
             xhr.setRequestHeader("X-Recaptcha-Token", action_token);
             xhr.send(null);
           }
           function onError(reason) {
             alert('Response promise rejected: ' + reason);
           grecaptcha.enterprise.ready(function () {
             document.getElementById("execute-button").onclick = () => {
               grecaptcha.enterprise.execute('ACTION_TOKEN_KEY', {
               }).then(onSuccess, onError);
             };
           });
          }
        </script>
      
      

Menerapkan token sesi reCAPTCHA

JavaScript reCAPTCHA menetapkan token sesi reCAPTCHA sebagai cookie di browser pengguna akhir setelah penilaian. Browser pengguna akhir melampirkan cookie dan memperbarui cookie selama JavaScript reCAPTCHA tetap aktif.

Untuk memberikan token sesi sebagai cookie, instal kunci token sesi di setidaknya salah satu halaman web yang dijelajahi pengguna akhir sebelum halaman yang perlu dilindungi. Misalnya, jika Anda ingin melindungi halaman checkout, instal kunci token sesi di halaman beranda atau halaman produk.

Untuk mempelajari cara menginstal kunci token sesi di halaman web Anda, lihat Mengintegrasikan kunci berbasis skor dengan frontend.

Anda dapat menggunakan cookie ini untuk melindungi permintaan dan pemuatan halaman berikutnya pengguna akhir di domain tertentu. Token sesi berlaku selama 30 menit secara default. Namun, jika pengguna akhir tetap berada di halaman tempat Anda menerapkan session-token, reCAPTCHA akan memuat ulang session-token secara berkala untuk mencegahnya berakhir.

Instal token sesi di setiap halaman yang perlu dilindungi oleh reCAPTCHA. Sebaiknya lindungi setiap halaman dengan reCAPTCHA dan gunakan aturan Cloud Armor untuk menerapkan akses di semua halaman, kecuali halaman pertama yang dijelajahi pengguna akhir.

Berikut adalah contoh token sesi reCAPTCHA:
   recaptcha-ca-t=value-of-your-session-token;domain=domain;expires=expiration_time

Untuk menerapkan token sesi reCAPTCHA, lakukan hal berikut:

  1. Buat kunci token sesi untuk situs Anda.

    Cloud Console

    1. Di konsol Google Cloud , buka halaman reCAPTCHA.

      Buka reCAPTCHA

    2. Pastikan nama project Anda muncul di pemilih resource di bagian atas halaman.

      Jika Anda tidak melihat nama project, klik pemilih resource, lalu pilih project Anda.

    3. Klik Create key.
    4. Di kolom Nama tampilan, masukkan nama tampilan untuk kunci.
    5. Bergantung pada platform yang ingin Anda buatkan kunci reCAPTCHA untuk WAF, lakukan tindakan yang sesuai:
      1. Untuk Application type, pilih Web.

        Bagian Domain list akan muncul.

      2. Untuk melindungi kunci reCAPTCHA untuk domain dan subdomain Anda, pastikan tombol Nonaktifkan verifikasi domain dinonaktifkan.

        Menonaktifkan verifikasi domain merupakan risiko keamanan karena tidak ada batasan pada situs, sehingga kunci reCAPTCHA Anda dapat diakses dan digunakan oleh siapa saja.

      3. Masukkan nama domain untuk situs Anda:

        1. Di bagian Daftar domain, klik Tambahkan domain.
        2. Di kolom Domain, masukkan nama domain Anda.
        3. Opsional: Untuk menambahkan domain lain, klik Tambahkan domain, lalu masukkan nama domain lain di kolom Domain. Anda dapat menambahkan hingga maksimum 250 domain.

          Untuk situs, kunci reCAPTCHA bersifat unik untuk domain dan subdomain yang Anda tentukan. Anda dapat menentukan lebih dari satu domain jika Anda menayangkan situs dari beberapa domain. Jika Anda menentukan domain (misalnya, examplepetstore.com), Anda tidak perlu menentukan subdomainnya (misalnya, subdomain.examplepetstore.com).

      4. Di Additional settings, aktifkan tombol Will you deploy this key in a Web Application Firewall (WAF)?.
      5. Dari opsi Fitur, pilih Sesi.

      6. Opsional:Aktifkan Nonaktifkan verifikasi domain.

        Menonaktifkan verifikasi domain merupakan risiko keamanan karena tidak ada batasan pada situs, sehingga kunci reCAPTCHA Anda dapat diakses dan digunakan oleh siapa saja.

      7. Klik Create key.
      8. Kunci yang baru dibuat akan tercantum di halaman kunci reCAPTCHA.

    gcloud

    Untuk membuat kunci reCAPTCHA, gunakan perintah gcloud recaptcha keys create.

    Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

    • INTEGRATION_TYPE: Jenis integrasi. Tentukan score.
    • DISPLAY_NAME: Nama untuk kunci. Biasanya nama situs.
    • DOMAIN_NAME: Domain atau subdomain situs yang diizinkan menggunakan kunci.

      Tentukan beberapa domain sebagai daftar yang dipisahkan koma. Opsional: Tentukan --allow-all-domains untuk menonaktifkan verifikasi domain.

      Menonaktifkan verifikasi domain merupakan risiko keamanan karena tidak ada batasan pada situs, sehingga kunci reCAPTCHA Anda dapat diakses dan digunakan oleh siapa saja.

    • WAF_FEATURE: Nama fitur WAF. Tentukan session-token.
    • WAF_SERVICE: Nama penyedia layanan WAF. Tentukan CA untuk Cloud Armor.

    Jalankan perintah gcloud recaptcha keys create:

    Linux, macOS, atau Cloud Shell

    gcloud recaptcha keys create \
    --web \
    --display-name=DISPLAY_NAME  \
    --integration-type=INTEGRATION_TYPE \
    --domains=DOMAIN_NAME \
    --waf-feature=WAF_FEATURE \
    --waf-service=WAF_SERVICE

    Windows (PowerShell)

    gcloud recaptcha keys create `
    --web `
    --display-name=DISPLAY_NAME  `
    --integration-type=INTEGRATION_TYPE `
    --domains=DOMAIN_NAME `
    --waf-feature=WAF_FEATURE `
    --waf-service=WAF_SERVICE

    Windows (cmd.exe)

    gcloud recaptcha keys create ^
    --web ^
    --display-name=DISPLAY_NAME  ^
    --integration-type=INTEGRATION_TYPE ^
    --domains=DOMAIN_NAME ^
    --waf-feature=WAF_FEATURE ^
    --waf-service=WAF_SERVICE

    Respons berisi kunci reCAPTCHA yang baru dibuat.

    REST

    Untuk mengetahui informasi referensi API tentang jenis kunci dan jenis integrasi, lihat Kunci dan Jenis integrasi.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • INTEGRATION_TYPE: Jenis integrasi. Tentukan score.
    • DISPLAY_NAME: Nama untuk kunci. Biasanya nama situs.
    • DOMAIN_NAME: Domain atau subdomain situs yang diizinkan menggunakan kunci.

      Tentukan beberapa domain sebagai daftar yang dipisahkan koma. Opsional: Tentukan --allow-all-domains untuk menonaktifkan verifikasi domain.

      Menonaktifkan verifikasi domain merupakan risiko keamanan karena tidak ada batasan pada situs, sehingga kunci reCAPTCHA Anda dapat diakses dan digunakan oleh siapa saja.

    • WAF_FEATURE: Nama fitur WAF. Tentukan session-token.
    • WAF_SERVICE: Nama penyedia layanan WAF. Tentukan CA untuk Cloud Armor.
    • DEFAULT_SCORE_THRESHOLD: Untuk kunci tantangan berbasis kebijakan, parameter ini menentukan nilai minimum tantangan universal untuk kunci saat nilai minimum skor kustom tidak ditentukan. Fitur ini dalam pratinjau.
    • ACTION_SCORE_THRESHOLDS: Untuk kunci tantangan berbasis kebijakan, ini menentukan tindakan dan skor ambang yang sesuai antara 0,0 dan 1,0. Contoh, login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Fitur ini dalam pratinjau.

    Metode HTTP dan URL:

    POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

    Isi JSON permintaan:

    
    {
      "displayName": "DISPLAY_NAME",
       'wafSettings': "  {
           "wafService": "WAF_SERVICE",
      
    "wafFeature": "WAF_FEATURE"
      }
      "webSettings": {
        "allowedDomains": "DOMAINS",
        "integrationType": "INTEGRATION_TYPE"
       }
       
    }
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    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

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $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

    Anda akan melihat respons JSON seperti berikut:

    
    {
      "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
    "displayName": "DISPLAY_NAME,
    
    "webSettings": {
      "allowAllDomains": true,
      "allowedDomains": [
        "localhost"
      ],
    
     "integrationType": "SCORE",
    
    
    },
    "wafSettings": {
      "wafService": "CA",
    
      "wafFeature": "SESSION_TOKEN"
    
    
    }
    }
    
    

  2. Tambahkan kunci session-token dan waf=session ke JavaScript reCAPTCHA.

    Skrip contoh berikut menunjukkan cara menerapkan token sesi di halaman web:

    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <title>reCAPTCHA WAF Session Token</title>
     <script src="https://www.google.com/recaptcha/enterprise.js?render=SESSION_TOKEN_KEY&waf=session" async defer></script>
     <body></body>
    </head>
    </html>

Menerapkan halaman tantangan reCAPTCHA

Saat Anda menerapkan halaman tantangan reCAPTCHA, reCAPTCHA akan mengalihkan ke halaman antara yang menentukan apakah perlu menampilkan tantangan CAPTCHA kepada pengguna. Oleh karena itu, verifikasi CAPTCHA mungkin tidak terlihat oleh semua pengguna.

Untuk menerapkan halaman tantangan reCAPTCHA, buat kunci halaman tantangan untuk situs Anda.

Cloud Console

  1. Di konsol Google Cloud , buka halaman reCAPTCHA.

    Buka reCAPTCHA

  2. Pastikan nama project Anda muncul di pemilih resource di bagian atas halaman.

    Jika Anda tidak melihat nama project, klik pemilih resource, lalu pilih project Anda.

  3. Klik Create key.
  4. Di kolom Nama tampilan, masukkan nama tampilan untuk kunci.
  5. Bergantung pada platform yang ingin Anda buatkan kunci reCAPTCHA untuk WAF, lakukan tindakan yang sesuai:
    1. Untuk Application type, pilih Web.
    2. Di Additional settings, aktifkan tombol Will you deploy this key in a Web Application Firewall (WAF)?.
    3. Dari opsi Fitur, pilih Verifikasi.

    4. Aktifkan Nonaktifkan verifikasi domain.

      Saat Anda menonaktifkan verifikasi domain untuk kunci halaman tantangan, Cloud Armor akan memverifikasi domain.

    5. Klik Create key.
    6. Kunci yang baru dibuat akan tercantum di halaman kunci reCAPTCHA.

gcloud

Untuk membuat kunci reCAPTCHA, gunakan perintah gcloud recaptcha keys create.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • INTEGRATION_TYPE: Jenis integrasi. Tentukan invisible.
  • DISPLAY_NAME: Nama untuk kunci. Biasanya nama situs.
  • DOMAIN_NAME: Domain atau subdomain situs yang diizinkan menggunakan kunci. Tentukan --allow-all-domains.
  • WAF_FEATURE: Nama fitur WAF. Tentukan challenge-page.
  • WAF_SERVICE: Nama penyedia layanan WAF. Tentukan CA untuk Cloud Armor.

Jalankan perintah gcloud recaptcha keys create:

Linux, macOS, atau Cloud Shell

gcloud recaptcha keys create \
--web \
--display-name=DISPLAY_NAME  \
--integration-type=INTEGRATION_TYPE \
--domains=DOMAIN_NAME \
--waf-feature=WAF_FEATURE \
--waf-service=WAF_SERVICE

Windows (PowerShell)

gcloud recaptcha keys create `
--web `
--display-name=DISPLAY_NAME  `
--integration-type=INTEGRATION_TYPE `
--domains=DOMAIN_NAME `
--waf-feature=WAF_FEATURE `
--waf-service=WAF_SERVICE

Windows (cmd.exe)

gcloud recaptcha keys create ^
--web ^
--display-name=DISPLAY_NAME  ^
--integration-type=INTEGRATION_TYPE ^
--domains=DOMAIN_NAME ^
--waf-feature=WAF_FEATURE ^
--waf-service=WAF_SERVICE

Respons berisi kunci reCAPTCHA yang baru dibuat.

REST

Untuk mengetahui informasi referensi API tentang jenis kunci dan jenis integrasi, lihat Kunci dan Jenis integrasi.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • INTEGRATION_TYPE: Jenis integrasi. Tentukan invisible.
  • DISPLAY_NAME: Nama untuk kunci. Biasanya nama situs.
  • DOMAIN_NAME: Domain atau subdomain situs yang diizinkan menggunakan kunci. Tentukan --allow-all-domains.
  • WAF_FEATURE: Nama fitur WAF. Tentukan challenge-page.
  • WAF_SERVICE: Nama penyedia layanan WAF. Tentukan CA untuk Cloud Armor.
  • DEFAULT_SCORE_THRESHOLD: Untuk kunci tantangan berbasis kebijakan, parameter ini menentukan nilai minimum tantangan universal untuk kunci saat nilai minimum skor kustom tidak ditentukan. Fitur ini dalam pratinjau.
  • ACTION_SCORE_THRESHOLDS: Untuk kunci tantangan berbasis kebijakan, ini menentukan tindakan dan skor ambang yang sesuai antara 0,0 dan 1,0. Contoh, login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Fitur ini dalam pratinjau.

Metode HTTP dan URL:

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

Isi JSON permintaan:


{
  "displayName": "DISPLAY_NAME",
   'wafSettings': "  {
       "wafService": "WAF_SERVICE",
  
"wafFeature": "WAF_FEATURE"
  }
  "webSettings": {
    "allowedDomains": "DOMAINS",
    "integrationType": "INTEGRATION_TYPE"
   }
   
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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

Anda akan melihat respons JSON seperti berikut:


{
  "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
"displayName": "DISPLAY_NAME,

"webSettings": {
  "allowAllDomains": true,
  "allowedDomains": [
    "localhost"
  ],

  "integrationType": "INVISIBLE",
 

},
"wafSettings": {
  "wafService": "CA",

  "wafFeature": "CHALLENGE_PAGE"
  

}
}

Mengonfigurasi kebijakan keamanan Cloud Armor

Setelah menerapkan fitur reCAPTCHA untuk Cloud Armor, Anda harus mengonfigurasi kebijakan keamanan Cloud Armor untuk pengelolaan bot.

Jika Anda menerapkan halaman tantangan reCAPTCHA, Anda harus melakukan hal berikut:

  1. Kaitkan kunci halaman tantangan dengan kebijakan keamanan Anda.
  2. Konfigurasi aturan kebijakan keamanan untuk mengalihkan permintaan penilaian reCAPTCHA.

Jika Anda menerapkan token tindakan reCAPTCHA atau token sesi, Anda harus mengonfigurasi aturan kebijakan keamanan yang mengevaluasi token reCAPTCHA.

Sebelum mengonfigurasi kebijakan keamanan Cloud Armor, pahami atribut token reCAPTCHA untuk Cloud Armor.

Untuk mempelajari cara mengonfigurasi kebijakan keamanan Cloud Armor dan menggunakan kunci reCAPTCHA untuk WAF dengan kebijakan keamanan Anda, lihat Mengonfigurasi aturan untuk pengelolaan bot.

Mendapatkan skor reCAPTCHA

Untuk token tindakan dan token sesi reCAPTCHA, Anda bisa mendapatkan skor reCAPTCHA dari header X-Recaptcha-Wafdata. Berdasarkan skor ini, Anda dapat mengonfigurasi tindakan kustom apa pun yang perlu dilakukan untuk permintaan pengguna.

Contoh berikut menunjukkan contoh header X-Recaptcha-Wafdata:

X-Recaptcha-Wafdata: waf_service="Google Cloud Armor", action_token;score=0.9, session_token;score=0.8\r\n

Anda juga dapat melihat skor reCAPTCHA di log Google Cloud Armor.

Langkah berikutnya