Membuat atau memperbarui aturan pemfilteran IP di bucket yang ada

Halaman ini menjelaskan cara membuat atau memperbarui aturan pemfilteran IP bucket pada bucket yang ada.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna memperbarui aturan pemfilteran IP di bucket, minta administrator Anda untuk memberi Anda peran Storage Admin (roles/storage.admin) di bucket tersebut. Peran ini berisi izin yang diperlukan untuk memperbarui aturan pemfilteran IP bucket.

Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

  • storage.buckets.update
  • storage.buckets.setIpFilter

Anda juga bisa mendapatkan izin ini dengan peran khusus. Anda mungkin bisa mendapatkan izin ini dengan peran bawaan lainnya juga. Untuk mengetahui peran mana yang terkait dengan izin apa, lihat Peran IAM untuk Cloud Storage.

Untuk mengetahui petunjuk tentang cara memberikan peran untuk project, lihat Mengelola akses ke project.

Membuat atau memperbarui aturan pemfilteran IP di bucket yang ada

gcloud

  1. Verifikasi bahwa Anda telah menginstal Google Cloud CLI versi 526.0.0 atau yang lebih baru:

    gcloud version | head -n1
    
  2. Jika Anda telah menginstal gcloud CLI versi yang lebih lama, update versinya:

    gcloud components update --version=526.0.0
    
  3. Buat file JSON yang menentukan aturan untuk permintaan masuk. Untuk contoh dan informasi tentang cara menyusun aturan pemfilteran IP bucket, lihat Konfigurasi pemfilteran IP bucket.

        {
          "mode":"MODE",
          "publicNetworkSource":{
              "allowedIpCidrRanges":[
                "RANGE_CIDR",
                "..."
              ]
          },
          "vpcNetworkSources":[
              {
                "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges":[
                    "RANGE_CIDR",
                    "..."
                ]
              },
              "..."
          ],
          "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS,
          "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS
        }
        

    Dengan:

    • MODE adalah mode konfigurasi pemfilteran IP bucket. Nilai yang valid adalah Enabled dan Disabled. Jika disetel ke Enabled, aturan pemfilteran IP akan diterapkan ke bucket. Setiap permintaan masuk ke bucket dievaluasi berdasarkan aturan ini. Jika ditetapkan ke Disabled, semua permintaan masuk diizinkan untuk mengakses bucket.

    • RANGE_CIDR adalah rentang alamat IPv4 atau IPv6 jaringan publik yang diizinkan untuk mengakses bucket. Anda dapat memasukkan satu atau beberapa rentang alamat sebagai daftar.

    • PROJECT_ID adalah project ID tempat jaringan Virtual Private Cloud (VPC) berada. Untuk mengonfigurasi beberapa jaringan VPC, Anda perlu menentukan project tempat setiap jaringan berada.

    • NETWORK_NAME adalah nama jaringan VPC yang diizinkan untuk mengakses bucket. Untuk mengonfigurasi beberapa jaringan VPC, Anda perlu menentukan nama untuk setiap jaringan.

    • ALLOW_CROSS_ORG_VPCS adalah nilai boolean yang menunjukkan apakah akan mengizinkan jaringan VPC yang ditentukan dalam vpcNetworkSources untuk berasal dari organisasi yang berbeda. Kolom ini bersifat opsional. Jika disetel ke true, permintaan mengizinkan jaringan VPC lintas organisasi. Jika disetel ke false, permintaan membatasi jaringan VPC ke organisasi yang sama dengan bucket. Jika tidak ditentukan, nilai defaultnya adalah false.

    • ALLOW_ALL_SERVICE_AGENT_ACCESS adalah nilai boolean yang menunjukkan apakah akan mengizinkan agen layanan untuk mengakses bucket, terlepas dari konfigurasi filter IP. Jika nilainya adalah true, layanan Google Cloud lain dapat menggunakan agen layanan untuk mengakses bucket tanpa validasi berbasis IP.

  4. Untuk memperbarui aturan pemfilteran IP bucket, jalankan perintah gcloud alpha storage buckets update di lingkungan pengembangan Anda:

    gcloud alpha storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE

    Dengan:

    • BUCKET_NAME adalah nama bucket Anda. Contoh, my-bucket.
    • IP_FILTER_CONFIG_FILE adalah file JSON yang dibuat pada langkah sebelumnya.

REST API

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Buat file JSON yang berisi setelan untuk bucket, yang harus menyertakan kolom konfigurasi name dan ipFilter untuk bucket. Untuk contoh dan informasi tentang cara menyusun aturan pemfilteran IP bucket, lihat Konfigurasi pemfilteran IP bucket.

    {
      "ipFilter":{
          "mode":"MODE",
          "publicNetworkSource":{
            "allowedIpCidrRanges":[
                "RANGE_CIDR",
                "..."
            ]
          },
          "vpcNetworkSources":[
            {
                "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges":[
                  "RANGE_CIDR",
                  "..."
                ]
            },
            "..."
          ],
          "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS,
          "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS
      }
    }

    Dengan:

    • MODE adalah status konfigurasi filter IP. Nilai yang valid adalah Enabled dan Disabled. Jika disetel ke Enabled, aturan pemfilteran IP diterapkan ke bucket dan semua permintaan masuk ke bucket dievaluasi berdasarkan aturan ini. Jika disetel ke Disabled, semua permintaan masuk dapat mengakses bucket dan datanya tanpa evaluasi apa pun.

    • RANGE_CIDR adalah rentang alamat IPv4 atau IPv6 jaringan publik yang diizinkan untuk mengakses bucket. Anda dapat memasukkan satu atau beberapa rentang alamat sebagai daftar.

    • PROJECT_ID adalah project ID tempat jaringan VPC berada. Untuk mengonfigurasi beberapa jaringan VPC, Anda harus menentukan project tempat setiap jaringan berada.

    • NETWORK_NAME adalah nama jaringan VPC yang diizinkan untuk mengakses bucket. Untuk mengonfigurasi beberapa jaringan VPC, Anda harus menentukan nama untuk setiap jaringan.

    • ALLOW_ALL_SERVICE_AGENT_ACCESS adalah nilai boolean yang menunjukkan apakah akan mengizinkan agen layanan mengakses bucket, terlepas dari konfigurasi filter IP. Jika nilainya adalah true, layanan Google Cloud lain dapat menggunakan agen layanan untuk mengakses bucket tanpa validasi berbasis IP.

    • ALLOW_CROSS_ORG_VPCS adalah nilai boolean yang menunjukkan apakah akan mengizinkan jaringan VPC yang ditentukan dalam daftar vpcNetworkSources berasal dari organisasi yang berbeda. Kolom ini bersifat opsional. Jika disetel ke true, permintaan akan mengizinkan jaringan VPC lintas organisasi. Jika disetel ke false, permintaan membatasi jaringan VPC ke organisasi yang sama dengan bucket. Jika tidak ditentukan, nilai defaultnya adalah false.

  3. Gunakan cURL untuk memanggil JSON API dengan permintaan PATCH bucket:

    curl -X PATCH --data-binary @JSON_FILE_NAME \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?project=PROJECT_IDENTIFIER"

    Dengan:

    • JSON_FILE_NAME adalah nama file JSON yang Anda buat di langkah sebelumnya.
    • BUCKET_NAME adalah nama bucket Anda.
    • PROJECT_IDENTIFIER adalah ID atau nomor project yang dikaitkan dengan bucket Anda. Contoh, my-project.

Langkah berikutnya

Coba sendiri

Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Storage dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

Coba Cloud Storage gratis