Aplikasi klien-server yang aman

Mengamankan aplikasi klien-server dengan konektor klien

Ringkasan

BeyondCorp Enterprise adalah solusi zero trust dari Google Cloud yang memberikan akses aman ke aplikasi pribadi dengan perlindungan data dan perlindungan terhadap ancaman yang terintegrasi. BeyondCorp Enterprise menggunakan Chrome untuk memberikan akses yang aman bagi semua aplikasi berbasis web (HTTPS).

Konektor klien BeyondCorp Enterprise memperluas dukungan ke aplikasi non-web dengan membuat koneksi aman ke aplikasi yang berjalan di lingkungan Google Cloud dan non-Google Cloud dengan konteks penuh dan akses kontekstual.

Cara kerja Duet AI

Diagram berikut memberikan ringkasan arsitektur tingkat tinggi tentang konektor klien.

Komponen konektor klien BeyondCorp Enterprise

Berikut adalah komponen utama yang membentuk konektor klien:

Verifikasi Endpoint dan agen klien: Konektor klien terintegrasi dengan Verifikasi Endpoint, ekstensi Chrome dengan agen ringan native yang berjalan di laptop atau desktop pengguna, dan melaporkan informasi perangkat. Verifikasi Endpoint juga berfungsi sebagai bidang kontrol bagi pengguna akhir untuk memulai dan menghentikan koneksi ke gateway klien.

Gateway klien: Komponen sisi server regional yang dapat terhubung dengan klien. Gateway klien di-deploy oleh administrator. Gateway ini berkomunikasi dengan sistem penegakan BeyondCorp Enterprise untuk menerapkan pemeriksaan kontekstual. Sistem penegakan BeyondCorp Enterprise menggunakan Identity-Aware Proxy dan Access Context Manager, mesin kebijakan zero-trust BeyondCorp Enterprise yang fleksibel.

Konektor klien mengirimkan traffic ke aplikasi yang dilindungi dari pengguna akhir, klien, perangkat melalui saluran aman, atau gateway. Anda dapat terhubung ke aplikasi web dan non-web yang berjalan di Google Cloud atau di luar Google Cloud. Anda dapat menggunakan Cloud VPN atau Cloud Interconnect untuk terhubung ke aplikasi Anda yang tidak ada di Google Cloud.

Sebelum memulai

Sebelum mengaktifkan konektor klien BeyondCorp Enterprise, pastikan Anda memiliki hal berikut:

  • Lisensi BeyondCorp Enterprise.

  • Domain organisasi Google Cloud.

  • Project Google Cloud dengan billing yang ditetapkan.

  • Akun pengguna Cloud Identity Google Workspace. Jika Anda perlu membuat akun Cloud Identity, lihat Membuat akun pengguna Cloud Identity.

  • Resource non-web yang ingin Anda lindungi. Resource ini dapat berasal dari Google Cloud, infrastruktur lokal, atau di cloud publik lainnya. Anda dapat membuat VPC kustom atau menggunakan jaringan yang sudah ada dengan aplikasi di Google Cloud. Anda juga dapat menghubungkan aplikasi non-Google Cloud menggunakan Cloud VPN atau Cloud Interconnect.

  • API berikut telah diaktifkan:

  • Peran IAM berikut:

  • Salah satu konfigurasi hardware yang direkomendasikan untuk klien:

    • Apple® Mac® OS 10.11 dan yang lebih baru dengan minimum dua core dan memori 2 GB.
    • Microsoft® Windows® 10 dan yang lebih baru dengan minimum empat core dan memori 2 GB.

Mengaktifkan konektor klien BeyondCorp Enterprise

Siapkan Akses Layanan Pribadi

Konektor klien menggunakan Akses Layanan Pribadi untuk mengaktifkan konektivitas antara jaringan VPC yang dikelola Google dan jaringan VPC konsumen. Hal ini memastikan bahwa traffic dari pengguna dirutekan ke jaringan VPC konsumen.

Konsol

  1. Akses Layanan Pribadi mengharuskan Anda mencadangkan rentang alamat IP agar tidak ada konflik alamat IP antara jaringan VPC Anda dan jaringan VPC yang dikelola Google. Selesaikan langkah-langkah berikut untuk mengalokasikan rentang IP:

    1. Buka halaman jaringan VPC di Konsol Google Cloud.
      Buka jaringan VPC

    2. Pilih jaringan VPC yang terhubung ke aplikasi Anda.

    3. Pilih tab Private service connection.

    4. Di tab Private service connection, pilih Allocate IP ranges for services.

    5. Klik Alokasikan rentang IP.

    6. Masukkan Nama dan Deskripsi untuk rentang IP yang akan dialokasikan.

    7. Tentukan IP range untuk alokasi:

      • Untuk menentukan rentang alamat IP, pilih Custom, lalu masukkan blok CIDR, seperti 192.168.0.0/16.
      • Untuk menentukan panjang awalan dan mengizinkan Google memilih rentang yang tersedia, pilih Automatic, lalu masukkan panjang awalan, seperti 16.

      Tentukan jaringan yang tidak kurang dari /24.

    8. Klik Allocate untuk membuat rentang yang dialokasikan.

  2. Buat koneksi Peering Jaringan VPC dengan menyelesaikan langkah-langkah berikut:

    1. Buka halaman jaringan VPC di Konsol Google Cloud.
      Buka jaringan VPC
    2. Pilih jaringan VPC yang terhubung ke aplikasi Anda.
    3. Pilih tab Private service connection.
    4. Pada tab Private service connection, pilih Private connections to services.
    5. Klik Create connection untuk membuat koneksi pribadi antara jaringan Anda dan layanan konektor klien.
    6. Di jendela yang terbuka, gunakan nilai default untuk Connected Service Producer. Untuk Alokasi yang ditetapkan, pilih rentang yang dialokasikan yang Anda buat di langkah sebelumnya.
    7. Klik Hubungkan untuk membuat koneksi.
  3. Membuat aturan firewall.

    1. Di Konsol Google Cloud, buka halaman Firewall.
      Buka halaman Firewall
    2. Klik Create firewall rule.
    3. Masukkan Name untuk aturan firewall.
      Nama ini harus unik untuk project.
    4. Opsional: Anda dapat mengaktifkan logging aturan firewall:
      • Klik Logs > On.
      • Untuk menghapus metadata, luaskan Logs details, lalu hapus Include metadata.
    5. Tentukan Network yang terhubung ke aplikasi Anda.
    6. Tentukan Priority aturan. Semakin rendah angkanya, semakin tinggi prioritasnya.
    7. Untuk Arah traffic, pilih Ingress.
    8. Untuk Action on match, pilih Allow.
    9. Untuk Target, klik All instances in the network.
    10. Untuk Source filter, pilih IPv4 ranges, lalu masukkan nilai address dan prefixLength dari Langkah 1 untuk mewakili rentang IP yang dialokasikan dalam format CIDR. Gunakan format 0.0.0.0/0 untuk sumber IPv4 apa pun.
    11. Untuk Protokol dan port, pilih Izinkan semua agar aturan diterapkan ke semua protokol dan port tujuan.
    12. Klik CREATE.

gcloud

  1. Akses Layanan Pribadi mengharuskan Anda mencadangkan rentang alamat IP agar tidak ada konflik alamat IP antara jaringan VPC Anda dan jaringan VPC yang dikelola Google. Jalankan perintah berikut untuk mengalokasikan rentang IP:

    gcloud compute addresses create RESERVED_RANGE \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --prefix-length=16 \
      --purpose=VPC_PEERING \
      --global
    

    Ganti kode berikut:

    • RESERVED_RANGE: Nama untuk rentang alamat IP yang akan dicadangkan untuk Peering VPC. Nama hanya boleh berisi huruf kecil, angka, dan tanda hubung.
    • CONSUMER_NETWORK: Nama jaringan VPC Anda yang terhubung ke aplikasi.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  2. Membuat koneksi peering VPC.

    gcloud services vpc-peerings connect \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --ranges=RESERVED_RANGE \
      --service="servicenetworking.googleapis.com"
    

    Ganti kode berikut:

    • CONSUMER_NETWORK: Nama jaringan VPC Anda yang terhubung ke aplikasi.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • RESERVED_RANGE: Nama rentang yang dicadangkan untuk peering VPC.
  3. Mendapatkan detail rentang IP yang dialokasikan.

    gcloud compute addresses describe RESERVED_RANGE \
      --global \
      --project=CONSUMER_PROJECT
    

    Ganti kode berikut:

    • RESERVED_RANGE: Nama rentang yang dicadangkan untuk peering VPC.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  4. Gunakan nilai address dan prefixLength dari output di langkah sebelumnya untuk mewakili rentang IP yang dialokasikan dalam format CIDR, lalu buat aturan firewall.

    gcloud compute firewall-rules create "allow-peered-ingress" \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --direction ingress \
      --action allow \
      --source-ranges={Allocated IP range in CIDR format i.e. address/prefixLength} \
      --rules=all
    

    Ganti kode berikut:

    • CONSUMER_NETWORK: Nama jaringan VPC Anda yang terhubung ke aplikasi.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.

Untuk mengetahui informasi tentang cara mengonfigurasi aturan firewall, lihat Menggunakan aturan firewall VPC.

Menyiapkan resource konektor klien

Ada dua jenis resource yang harus Anda siapkan:

  • Layanan konektor klien: Menentukan konfigurasi umum untuk grup gateway klien.
  • Gateway klien: Mengacu ke layanan konektor klien dan mengontrol region tempat Anda ingin mengelola traffic pengguna.

Hanya satu layanan konektor klien per domain dan satu gateway klien per region per layanan konektor klien yang diizinkan. Selain itu, Anda hanya dapat menggunakan region berikut untuk menghosting layanan konektor klien dan resource gateway: asia-east1, europe-west1, us-east1, dan us-central1.

Membuat layanan konektor klien

Konsol

  1. Buka halaman admin IAP.

    Buka IAP

  2. Klik KONEKTOR > AKTIFKAN KONEKTOR KLIEN.

  3. Masukkan jaringan VPC yang akan menerima traffic dari klien terkelola.

  4. Pilih wilayah yang dapat terhubung dengan klien Anda. Perhatikan bahwa gateway klien dibuat pada langkah ini, sehingga Anda tidak perlu membuat gateway dalam prosedur Membuat, memverifikasi, atau menghapus gateway klien.

  5. Masukkan rentang alamat IP untuk aplikasi yang ingin dijangkau oleh konektor klien.

  6. Klik AKTIFKAN KONEKTOR KLIEN. Pembuatan konektor memerlukan waktu beberapa menit.

gcloud

Jalankan perintah berikut:

gcloud beta beyondcorp client-connector services create CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

dengan config.json adalah:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Ganti kode berikut:

  • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • SERVICE_LOCATION: Region tempat membuat layanan konektor klien. Anda dapat menentukan salah satu region berikut yang didukung: asia-east1, europe-west1, us-east1, dan us-central1.
  • DESTINATION_ADDRESS: Alamat host subnet tujuan yang menghosting aplikasi. Misalnya, jika aplikasi Anda menggunakan 10.0.0.0/28, alamatnya adalah 10.0.0.0.
  • DESTINATION_MASK: Network mask dari subnet tujuan yang menghosting aplikasi. Misalnya, jika aplikasi Anda menggunakan 10.0.0.0/28, maka mask-nya adalah 255.255.255.240.
  • CONSUMER_NETWORK: Nama jaringan VPC Anda yang terhubung ke aplikasi.

API

Jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @config.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices?client_connector_service_id=CLIENT_CONNECTOR_SERVICE_NAME

dengan config.json adalah:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Ganti kode berikut:

  • DESTINATION_ADDRESS: Alamat host subnet tujuan yang menghosting aplikasi. Misalnya, jika aplikasi Anda menggunakan 10.0.0.0/28, alamatnya adalah 10.0.0.0.
  • DESTINATION_MASK: Network mask dari subnet tujuan yang menghosting aplikasi. Misalnya, jika aplikasi Anda menggunakan 10.0.0.0/28, maka mask-nya adalah 255.255.255.240.
  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • CONSUMER_NETWORK: Nama jaringan VPC Anda yang terhubung ke aplikasi.
  • SERVICE_LOCATION: Region tempat membuat layanan konektor klien.
  • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.

Verifikasi bahwa layanan konektor klien telah dibuat dengan mencantumkan layanan

Konsol

  1. Buka halaman admin IAP.

    Buka IAP

  2. Klik KONEKTOR. Konektor harus tercantum di bagian Konektor klien dan memiliki tanda centang hijau untuk statusnya.

gcloud

Jalankan perintah berikut.

gcloud beta beyondcorp client-connector services list \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION

Ganti kode berikut:

  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • SERVICE_LOCATION: Region tempat membuat layanan konektor klien.

API

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices

Ganti kode berikut:

  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • SERVICE_LOCATION: Region tempat layanan konektor klien berada.

Opsional: Mengupdate layanan konektor klien

Konsol

Perbarui rute tujuan dengan menyelesaikan langkah-langkah berikut:

  1. Buka halaman admin IAP.

    Buka IAP

  2. Klik KONEKTOR.

  3. Di bagian Konektor klien, klik ikon pensil di samping konektor klien yang ingin diperbarui.

  4. Masukkan alamat host dan network mask baru dari subnet tujuan yang menghosting aplikasi, lalu klik PERBARUI KONEKTOR KLIEN.

gcloud

Perbarui rute tujuan dengan menjalankan perintah berikut:

gcloud beta beyondcorp client-connector services update CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

dengan config.json adalah:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Ganti kode berikut:

  • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • SERVICE_LOCATION: Region tempat layanan konektor klien berada.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Alamat host baru dari subnet tujuan yang menghosting aplikasi.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: Network mask baru untuk subnet tujuan.

API

Untuk memperbarui rute tujuan, jalankan perintah berikut:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @update.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME?update_mask=ingress.config.destinationRoutes

Dengan update.json:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Ganti kode berikut:

  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • SERVICE_LOCATION: Region tempat layanan konektor klien berada.
  • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Alamat host baru dari subnet tujuan yang menghosting aplikasi.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: Network mask baru untuk subnet tujuan.

Opsional: Menghapus layanan konektor klien

Konsol

  1. Buka halaman admin IAP.

    Buka IAP

  2. Klik KONEKTOR.

  3. Di bagian Konektor klien, klik ikon tong sampah untuk menghapus gateway dan layanan konektor klien. Proses ini dapat memerlukan waktu beberapa menit.

gcloud

Jalankan perintah berikut.

gcloud beta beyondcorp client-connector services delete CLIENT_CONNECTOR_SERVICE_NAME \
  --project CONSUMER_PROJECT \
  --location SERVICE_LOCATION

Ganti kode berikut:

  • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • SERVICE_LOCATION: Region tempat layanan konektor klien berada.

API

Jalankan perintah berikut.

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME

Ganti kode berikut:

  • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
  • SERVICE_LOCATION: Region tempat layanan konektor klien berada.
  • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.

Membuat, memverifikasi, atau menghapus gateway klien

Konsol

  1. Jika Anda menggunakan konsol untuk menyiapkan konektor klien, gateway klien akan dibuat saat Anda membuat layanan konektor klien di langkah sebelumnya.

  2. Untuk memastikan gateway klien sudah aktif dan berjalan:

    1. Buka halaman admin IAP.

      Buka IAP

    2. Klik KONEKTOR. Konektor Anda, beserta gateway terkait, harus tercantum di bagian Konektor klien dan memiliki tanda centang hijau untuk statusnya.
  3. Opsional: Untuk menghapus gateway klien, selesaikan langkah-langkah berikut.

    1. Buka halaman admin IAP.

      Buka IAP

    2. Klik KONEKTOR.

    3. Di bagian Konektor klien, klik ikon pensil di samping konektor klien tempat Anda ingin menghapus gateway.

    4. Hapus region dari layanan konektor dengan menghapus centang pada kotak region dari menu dropdown Gateway region, lalu klik UPDATE KONEKTOR KLIEN.

gcloud

  1. Buat gateway klien.

    gcloud beta beyondcorp client-connector gateways create CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION \
      --client-connector-service \
      projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME
    

    Ganti kode berikut:

    • CLIENT_GATEWAY_NAME: Nama gateway klien Anda.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Region tempat membuat gateway klien.
    • SERVICE_LOCATION: Region tempat layanan konektor klien berada.
    • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
  2. Pastikan gateway klien sudah aktif dan berjalan.

    gcloud beta beyondcorp client-connector gateways list \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Ganti kode berikut:

    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Region tempat gateway klien berada.
  3. Opsional: Menghapus gateway klien.

    gcloud beta beyondcorp client-connector gateways delete CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Ganti kode berikut:

    • CLIENT_GATEWAY_NAME: Nama gateway klien Anda.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Region tempat gateway klien berada.

API

  1. Jalankan perintah berikut.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d "{client_connector_service: \"projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME\"}" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways?client_gateway_id=CLIENT_GATEWAY_NAME
    

    Ganti kode berikut:

    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • SERVICE_LOCATION: Region tempat layanan konektor klien berada.
    • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
    • GATEWAY_LOCATION: Region tempat membuat gateway klien.
    • CLIENT_GATEWAY_NAME: Nama gateway klien Anda.

    Langkah ini dapat memerlukan waktu beberapa menit hingga selesai.

  2. Pastikan gateway klien sudah aktif dan berjalan.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways
    

    Ganti kode berikut:

    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Region tempat gateway klien berada.
  3. Opsional: Menghapus gateway klien.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways/CLIENT_GATEWAY_NAME
    

    Ganti kode berikut:

    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Region tempat gateway konektor klien berada.
    • CLIENT_GATEWAY_NAME: Nama gateway klien Anda.

Menyiapkan kebijakan akses kontekstual

  1. Tentukan Principal atau buat grup pengguna. Identifikasi pengguna yang memerlukan akses ke aplikasi non-web yang dilindungi. Atau, Anda dapat membuat grup pengguna untuk menyederhanakan konfigurasi dan pengelolaan.

  2. Opsional: Buat tingkat akses di Access Context Manager untuk menentukan aturan kontekstual, yang dapat Anda gunakan untuk membatasi akses ke aplikasi.

  3. Konfigurasikan kebijakan IAM untuk resource layanan konektor klien, dan berikan peran Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser) kepada akun utama atau grup pengguna yang diperlukan untuk mengakses aplikasi non-web. Secara opsional, Anda dapat menentukan kondisi IAM untuk menyediakan peran hanya jika tingkat akses terpenuhi. Untuk memperbarui kebijakan IAM untuk resource, Anda dapat menggunakan konsol atau API.

    Di konsol, selesaikan langkah-langkah berikut:

    1. Buka halaman admin IAP.

      Buka IAP

    2. Klik APLIKASI.
    3. Jika belum pernah mengonfigurasi layar izin OAuth, Anda harus melakukannya untuk menyelesaikan langkah ini. Di bagian CONNECT NEW APPLICATION, pilih konektor Anda di bagian Non-Web Applications.
    4. Di jendela yang terbuka, klik ADD PRINCIPAL.
    5. Berikan peran Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser) kepada akun utama atau grup pengguna, yang diperlukan untuk mengakses aplikasi non-web. Jika ingin, Anda dapat menentukan tingkat akses untuk menyediakan peran hanya jika tingkat aksesnya terpenuhi. Untuk menentukan tingkat akses, Anda harus menjadi Administrator Organisasi atau memiliki izin view dan edit ke tingkat akses organisasi.
    6. Klik SAVE.

Memperbarui kebijakan IAM

Konsol

  1. Buka halaman admin IAP.

    Buka IAP

  2. Klik tab APPLICATIONS, dan pada daftar Resource, luaskan Non-Web Applications.
  3. Pilih konektor klien Anda. Bagian dengan izin IAM yang terkait dengan konektor Anda akan terbuka.
  4. Anda dapat memperbarui kebijakan IAM yang terkait dengan konektor klien di bagian yang terbuka.

gcloud

  1. Baca kebijakan yang ada. Metode getIamPolicy() membaca kebijakan IAM yang ada untuk resource layanan konektor klien ke policy.json.

    gcloud beta beyondcorp client-connector services get-iam-policy CLIENT_CONNECTOR_SERVICE_NAME \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION > policy.json
    

    Ganti kode berikut:

    • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • SERVICE_LOCATION: Region tempat layanan konektor klien berada.
  2. Edit kebijakan yang ditampilkan. Perbarui binding di policy.json untuk menyertakan penetapan peran IAM baru. Anda dapat melakukannya dengan editor teks atau secara terprogram. Contoh:

    {
                "bindings": [
                  {
                    "role": "roles/beyondcorp.clientConnectorServiceUser",
                    "members": [
                      "user:EXAMPLE_USER@EXAMPLE.COM",
                      "group:EXAMPLE_GROUP@EXAMPLE.COM",
                    ],
                    "condition":
                     {
                       "expression":
            "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
            request.auth.access_levels",
                      "title": "CONDITION_NAME"
                    }
                  }
                ]
    }
    

    Ganti kode berikut:

    • POLICY_NAME: Nama numerik kebijakan akses Access Context Manager Anda.
    • LEVEL_NAME: Nama tingkat akses Access Context Manager Anda.
    • CONDITION_NAME: Teks judul untuk kondisi IAM.
  3. Tulis kebijakan yang telah diperbarui. Anda dapat menggunakan metode setIamPolicy() untuk menulis kebijakan IAM yang telah diperbarui. Contoh:

    gcloud beta beyondcorp client-connector services set-iam-policy CLIENT_CONNECTOR_SERVICE_NAME policy.json \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION

    Ganti kode berikut:

    • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • SERVICE_LOCATION: Wilayah tempat layanan konektor klien berada.

API

  1. Baca kebijakan yang ada. Metode getIamPolicy() membaca kebijakan IAM yang ada untuk resource layanan konektor klien ke policy.json.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:getIamPolicy > policy.json
    

    Ganti kode berikut:

    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • SERVICE_LOCATION: Wilayah tempat layanan konektor klien berada.
    • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.
  2. Edit kebijakan yang ditampilkan. Perbarui binding di policy.json untuk menyertakan penetapan peran IAM baru. Anda dapat melakukannya dengan editor teks atau secara terprogram. Contoh:

     {
       "policy": {
          "bindings": [
            {
              "role": "roles/beyondcorp.clientConnectorServiceUser",
              "members": [
                "user:EXAMPLE_USER@EXAMPLE.COM",
                "group:EXAMPLE_GROUP@EXAMPLE.COM",
             ],
             "condition":
              {
                "expression":
     "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
     request.auth.access_levels",
                "title": "CONDITION_NAME"
              }
           }
         ]
       }
     }
     

    Ganti kode berikut:

    • POLICY_NAME: Nama numerik kebijakan akses Access Context Manager Anda.
    • LEVEL_NAME: Nama tingkat akses Access Context Manager Anda.
    • CONDITION_NAME: Teks judul untuk kondisi IAM.
  3. Tulis kebijakan yang telah diperbarui. Anda dapat menggunakan metode setIamPolicy() untuk menulis kebijakan IAM yang telah diperbarui. Contoh:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @policy.json \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:setIamPolicy
     

    Ganti kode berikut:

    • CONSUMER_PROJECT: ID project Anda yang menghosting CONSUMER_NETWORK.
    • SERVICE_LOCATION: Wilayah tempat layanan konektor klien berada.
    • CLIENT_CONNECTOR_SERVICE_NAME: Nama layanan konektor klien Anda.

Menginstal agen konektor klien di perangkat endpoint (Windows atau macOS)

  1. Aktifkan ekstensi Verifikasi Endpoint dengan mengikuti langkah-langkah di artikel Menyiapkan Verifikasi Endpoint di perangkat Anda.

  2. Setelah Verifikasi Endpoint aktif dan berjalan, ekstensi Verifikasi Endpoint untuk pengguna yang diupdate akan menampilkan tombol MULAI KONEKSI. Untuk mengakses aplikasi non-web yang dilindungi, pengguna dapat mengklik tombol MULAI KONEKSI.

Saat pengguna memulai koneksi untuk pertama kalinya, Verifikasi Endpoint akan meminta pengguna mendownload dan menginstal biner konektor klien. Atau, Anda dapat mendownload biner konektor klien di URL berikut:

Setelah koneksi dibuat, pengguna dapat mengakses resource yang dilindungi. Pengguna dapat memilih untuk mengakhiri koneksi dengan mengklik tombol AKHIR KONEKSI.

Pemecahan masalah

Jika Anda mengalami masalah saat menggunakan konektor klien, informasi berikut akan memberikan langkah-langkah pemecahan masalah yang mungkin dapat menyelesaikan masalah Anda.

Anda tidak dapat mengakses aplikasi

Gateway konektor klien berjalan dan koneksi berhasil dibuat, tetapi Anda masih tidak dapat menjangkau aplikasi Anda.

Berikut adalah alasan yang paling umum, serta kemungkinan solusinya, untuk masalah ini:

  • Anda tidak mengiklankan rentang IP yang dialokasikan di Cloud VPN. Jika menggunakan Cloud VPN untuk terhubung ke aplikasi non-Google Cloud, pastikan Anda juga mengiklankan rentang IP yang dialokasikan untuk Akses Layanan Pribadi ke router peer melalui Border Gateway Protocol (BGP). Untuk informasi selengkapnya tentang cara melakukannya, lihat Menentukan iklan di Cloud Router.

  • Anda menentukan alamat dan mask yang salah di rute tujuan. Pastikan bahwa bit yang disamarkan adalah nol saat memberikan alamat. Misalnya, 10.0.10.1 adalah alamat yang tidak valid untuk diberikan dengan network mask 255.255.255.0 (/24). Alamat yang benar adalah 10.0.10.0.

  • Kemungkinan konflik IP antara rentang IP yang dialokasikan untuk Akses Layanan Pribadi dan subnet IP yang digunakan oleh jaringan yang menghosting aplikasi. Pastikan rentang ini tidak dapat terjadi bersamaan. Masalah ini paling sering terlihat saat aplikasi dihosting di jaringan non-Google Cloud.

Anda menerima pesan Unable to connect to the network

Jika Anda menerima pesan Unable to connect to the network. Check your network connection and try again., artinya koneksi internet di perangkat Anda tidak aktif.

Penyelesaian: Pastikan koneksi internet Anda aktif, lalu coba hubungkan lagi.

Log audit

Jika Anda adalah admin, Anda dapat melihat log audit BeyondCorp Enterprise, termasuk log audit konektor klien, di halaman Logging pada Google Cloud Console. Untuk mengetahui informasi selengkapnya, lihat Logging audit layanan BeyondCorp Enterprise.

Jika Anda adalah pengguna akhir, Anda dapat mengakses log koneksi dengan menyelesaikan langkah-langkah berikut:

  1. Klik kanan ekstensi Verifikasi Endpoint di browser.
  2. Klik Opsi.
  3. Pilih perincian untuk level log. Secara default, tingkat perincian ditetapkan ke Info.
  4. Klik Show Log.

Langkah selanjutnya