Halaman ini menjelaskan cara menggunakan setelan bucket pencegahan akses publik dan batasan kebijakan organisasi pencegahan akses publik. Pencegahan akses publik memungkinkan Anda membatasi akses publik ke bucket dan objek Anda.
Sebelum memulai
Sebelum menggunakan pencegahan akses publik di Cloud Storage, pastikan Anda memiliki peran IAM yang diperlukan dan tinjau pertimbangan untuk menerapkan pencegahan akses publik.
Mendapatkan peran yang diperlukan
Untuk mengelola kebijakan organisasi pencegahan akses publik di tingkat project, folder, atau organisasi, minta administrator untuk memberi Anda peran Administrator Kebijakan Organisasi (roles/orgpolicy.policyAdmin
) di organisasi. Peran bawaan ini berisi izin yang diperlukan untuk mengelola pencegahan akses publik di tingkat project, folder, atau organisasi. Untuk mengetahui informasi tentang izin yang disertakan dalam peran ini, lihat detail tentang peran Administrator Organisasi.
Untuk mengelola setelan pencegahan akses publik di bucket, minta
administrator untuk memberi Anda peran Storage Admin (roles/storage.admin
)
di bucket. Peran ini berisi izin yang diperlukan untuk mengelola pencegahan akses publik di bucket. Untuk melihat izin yang benar-benar diperlukan,
perluas bagian Izin yang diperlukan:
Izin yang diperlukan
storage.buckets.update
storage.buckets.setIamPolicy
Untuk informasi tentang izin lain yang disertakan dalam peran Storage Admin, lihat detail tentang peran Storage Admin.
Pertimbangan peninjauan
Sebelum memulai, sebaiknya Anda memastikan tidak ada alur kerja yang terganggu karena pemblokiran akses publik. Lihat Pertimbangan saat menerapkan resource yang ada untuk mengetahui detail selengkapnya.
Menggunakan setelan bucket
Bagian ini menunjukkan cara menerapkan dan menghapus pencegahan akses publik untuk setiap bucket, serta cara memeriksa status setiap bucket.
Menetapkan pencegahan akses publik
Untuk mengubah setelan pencegahan akses publik bagi setiap bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang ingin Anda terapkan atau hapus pencegahan akses publiknya.
Di halaman Detail bucket, klik tab Permissions.
Di kartu Akses publik, klik Cegah akses publik untuk menerapkan pencegahan akses publik, atau klik Izinkan akses publik untuk menghapus pencegahan akses publik.
Klik Confirm.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah gcloud storage buckets update
dengan flag yang sesuai:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.FLAG
dapat berupa--public-access-prevention
untuk mengaktifkan pencegahan akses publik atau--no-public-access-prevention
untuk menonaktifkannya.
Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut ini:
Updating gs://my-bucket/... Completed 1
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Buat file JSON yang berisi informasi berikut:
{ "iamConfiguration": { "publicAccessPrevention": "STATE", } }
Dengan
<var>STATE</var>
adalahenforced
atauinherited
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketPATCH
yang menyertakanfields
yang diinginkan: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?fields=iamConfiguration"
Dengan keterangan:
JSON_FILE_NAME
adalah jalur untuk file JSON yang Anda buat di langkah sebelumnya.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
XML API
XML API tidak dapat digunakan untuk mengelola pencegahan akses publik. Gunakan salah satu alat Cloud Storage lainnya, seperti konsol Google Cloud.
Melihat status pencegahan akses publik
Agar dapat melihat status pencegahan akses publik untuk setiap bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Klik nama bucket tempat Anda ingin melihat status pencegahan akses publik.
Klik tab Izin.
Kartu Public access menampilkan status bucket Anda.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah gcloud storage buckets describe
dengan
flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(public_access_prevention)"
Dengan BUCKET_NAME
yang merupakan nama bucket
yang statusnya ingin Anda lihat. Contoh, my-bucket
.
Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut ini:
public_access_prevention:inherited
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketGET
yang menyertakanfields
yang diinginkan:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Dengan
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.Responsnya akan terlihat seperti contoh berikut:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }
Dengan
FLAG
adalahinherited
atauenforced
.
XML API
XML API tidak dapat digunakan untuk mengelola pencegahan akses publik. Gunakan salah satu alat Cloud Storage lainnya, seperti konsol Google Cloud.
Gunakan kebijakan organisasi
Bagian ini menunjukkan cara menerapkan dan menghapus kebijakan organisasi pencegahan akses publik, serta cara memeriksa status kebijakan tersebut.
Menetapkan pencegahan akses publik
Untuk menetapkan pencegahan akses publik di tingkat project, folder, atau organisasi:
Konsol
Ikuti petunjuk di Membuat dan mengelola kebijakan organisasi menggunakan batasan storage.publicAccessPrevention
.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah gcloud beta resource-manager org-policies
:
gcloud beta resource-manager org-policies STATE \ constraints/storage.publicAccessPrevention \ --RESOURCE RESOURCE_ID
Dengan keterangan:
STATE
dapat memiliki nilai berikut:enable-enforce
: Menerapkan pencegahan akses publik untuk resource.disable-enforce
: Menonaktifkan pencegahan akses publik untuk resource.delete
: Menghapus batasan kebijakan organisasi dari resource, sehingga resource mewarisi nilai resource induknya.
RESOURCE
adalah resource yang ingin Anda tetapkan pencegahan akses publiknya. Misalnya,organization
,project
, ataufolder
.RESOURCE_ID
adalah ID untuk resource. Misalnya,123456789012
untuk ID organisasi,245321
untuk ID folder, ataumy-pet-project
untuk project ID.
Lihat Menggunakan batasan untuk mengetahui petunjuk selengkapnya.
Berikut adalah contoh output saat Anda menggunakan disable-enforce
:
etag: BwVJi0OOESU= booleanPolicy: {} constraint: constraints/storage.publicAccessPrevention
Melihat status pencegahan akses publik
Untuk melihat status pencegahan akses publik di tingkat project, folder, organisasi:
Konsol
Ikuti petunjuk di Membuat dan mengelola kebijakan organisasi menggunakan batasan storage.publicAccessPrevention
.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan perintah describe --effective
:
gcloud beta resource-manager org-policies describe \ constraints/storage.publicAccessPrevention --effective \ --RESOURCE RESOURCE_ID
Dengan keterangan:
RESOURCE
adalah resource yang ingin Anda lihat status pencegahan akses publiknya. Misalnya,organization
,project
, ataufolder
.RESOURCE_ID
adalah ID untuk resource. Misalnya,123456789012
untuk ID organisasi,245321
untuk ID folder, danmy-pet-project
untuk project ID.
Lihat Menggunakan batasan untuk mengetahui petunjuk selengkapnya.