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 Anda untuk memberi Anda peran Organization Policy Administrator (roles/orgpolicy.policyAdmin
) di organisasi. Peran bawaan ini berisi izin yang diperlukan untuk mengelola pencegahan akses publik di level 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 persis yang diperlukan,
luaskan 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.
Tinjau pertimbangan
Sebelum memulai, sebaiknya pastikan tidak ada alur kerja yang terputus karena memblokir 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 Bucket details, 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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menerapkan pencegahan akses publik pada bucket:
Contoh berikut menetapkan pencegahan akses publik ke inherited
untuk bucket:
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di 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
API XML 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 yang status pencegahan akses publiknya ingin Anda lihat.
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 mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaanGET
Bucket 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
API XML 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 dalam artikel 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 dalam artikel 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.