Membatasi versi TLS
Halaman ini menjelaskan cara mencegah akses ke resource Google Cloud dengan menolak permintaan yang dibuat menggunakan Transport Layer Security (TLS) 1.0 atau 1.1.
Ringkasan
Google Cloud mendukung beberapa versi protokol TLS. Untuk memenuhi persyaratan kepatuhan, Anda mungkin ingin menolak permintaan handshake dari klien yang menggunakan versi TLS yang lebih lama.
Fungsi ini disediakan oleh batasan kebijakan organisasi gcp.restrictTLSVersion
.
Batasan ini dapat diterapkan pada organisasi, folder, atau project dalam hierarki resource.
Batasan gcp.restrictTLSVersion
menggunakan
daftar tolak,
yang menolak nilai eksplisit dan mengizinkan semua nilai lainnya. Error akan terjadi jika Anda mencoba menggunakan daftar yang diizinkan.
Karena perilaku evaluasi hierarki kebijakan organisasi, pembatasan versi TLS berlaku untuk node resource yang ditentukan dan semua turunannya. Misalnya, jika Anda menolak TLS versi 1.0 untuk suatu organisasi, TLS juga akan ditolak untuk semua folder dan project (turunan) yang berasal dari organisasi tersebut.
Anda dapat mengganti batasan versi TLS yang diwariskan dengan memperbarui kebijakan organisasi pada resource turunan. Misalnya, jika kebijakan organisasi Anda menolak TLS 1.0 di tingkat organisasi, Anda dapat menghapus pembatasan untuk folder turunan dengan menyetel kebijakan organisasi terpisah di folder tersebut. Jika folder memiliki turunan, kebijakan folder juga akan diterapkan pada setiap resource turunan karena pewarisan kebijakan.
Sebelum memulai
- Untuk menetapkan, mengubah, atau menghapus kebijakan organisasi, Anda harus terlebih dahulu diberi peran Organization Policy Administrator (
roles/orgpolicy.policyAdmin
) Identity and Access Management (IAM).
Membatasi versi TLS
Untuk membatasi satu atau beberapa versi TLS, selesaikan langkah-langkah berikut:
Konsol
Buka halaman Organization policies di Konsol Google Cloud.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource yang kebijakan organisasinya ingin Anda tetapkan.
Pilih batasan Restrict TLS Version dari daftar di halaman Kebijakan organisasi.
Untuk memperbarui kebijakan organisasi untuk resource ini, klik Edit.
Pada halaman Edit, pilih Customize.
Di bagian Penegakan kebijakan, pilih opsi penerapan:
Untuk menggabungkan dan mengevaluasi kebijakan organisasi Anda bersama-sama, pilih Merge with parent. Untuk mengetahui informasi selengkapnya tentang pewarisan dan hierarki resource, lihat Memahami evaluasi hierarki.
Untuk mengganti kebijakan yang diwarisi dari resource induk, pilih Ganti.
Klik Tambahkan Aturan.
Di bagian Nilai kebijakan, nilai default ditetapkan ke Tolak semua. Pilih Custom sebagai gantinya.
Di bagian Jenis kebijakan, pilih Tolak.
Di bagian Nilai kustom, masukkan versi TLS yang akan ditolak. Nilai berikut adalah nilai kustom yang valid:
TLS_VERSION_1
untuk TLS 1.0TLS_VERSION_1_1
untuk TLS 1.1
Jika Anda membatasi lebih dari satu versi TLS, klik Add value, lalu masukkan nilai di kolom tambahan.
Untuk menyelesaikan dan menerapkan kebijakan organisasi, klik Save.
gcloud
Gunakan perintah gcloud org-policies set-policy
untuk menetapkan kebijakan organisasi pada resource yang diinginkan:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH adalah jalur lengkap ke file kebijakan organisasi Anda, yang akan terlihat seperti berikut jika menggunakan format YAML:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Ganti dengan kode berikut:
RESOURCE_TYPE
adalahorganizations
,folders
, atauprojects
.RESOURCE_ID
adalah ID organisasi, ID folder, project ID, atau nomor project Anda, bergantung pada jenis resource yang ditentukan dalamRESOURCE_TYPE
.
Jalankan perintah berikut untuk memastikan kebijakan Anda telah diterapkan:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Ganti dengan kode berikut:
RESOURCE_TYPE
adalahorganization
,folder
, atauproject
.RESOURCE_ID
adalah ID organisasi, ID folder, project ID, atau nomor project Anda, bergantung pada jenis resource yang ditentukan dalamRESOURCE_TYPE
.
Menguji kebijakan
Batasan kebijakan pembatasan versi TLS dapat diuji untuk layanan dalam cakupan apa pun. Contoh perintah curl berikut memvalidasi pembatasan versi TLS untuk bucket Cloud Storage.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/GCS_BUCKET_NAME/o" \ --tlsvTLS_VERSION --tls-max TLS_VERSION --ciphers DEFAULT@SECLEVEL=0
Tidak ada spasi di antara --tlsv
dan nilai. Contoh: --tlsv1.1
Ganti dengan kode berikut:
GCS_BUCKET_NAME
adalah nama bucket Cloud Storage di project Anda, sepertimybucketname
.TLS_VERSION
adalah versi TLS seperti1.0
atau1.1
yang ditolak dalam kebijakan yang dikonfigurasi.
Contoh permintaan curl
berikut menunjukkan GCS_BUCKET_NAME yang ditetapkan
ke mybucketname
dan TLS_VERSION yang ditetapkan ke 1.1
:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/mybucketname/o" \ --tlsv1.1 --tls-max 1.1 --ciphers DEFAULT@SECLEVEL=0
Jika kebijakan organisasi dikonfigurasi untuk membatasi TLS_VERSION_X
, upaya apa pun untuk mengakses resource dengan TLS_VERSION_X
dalam project yang dibatasi kebijakan dalam contoh perintah ini akan gagal. Pesan error ditampilkan yang menjelaskan alasan kegagalan ini.
Request is disallowed by organization's constraints/gcp.restrictTLSVersion constraint for 'projects/PROJECT_NUMBER' to use service 'SERVICE_NAME.googleapis.com' by violated TLS version `TLS_VERSION_X`
Output ini mencakup nilai-nilai berikut:
PROJECT_NUMBER
: nomor project yang menghosting resource yang dirujuk dalam perintah sebelumnya.SERVICE_NAME
: nama layanan dalam cakupan yang diblokir oleh kebijakan pembatasan TLS.
Layanan yang didukung
Pembatasan versi TLS didukung oleh layanan berikut:
- apigateway.googleapis.com
- appengine.googleapis.com
- artifactregistry.googleapis.com
- assuredworkloads.googleapis.com
- bigquery.googleapis.com
- bigqueryreservation.googleapis.com
- bigtableadmin.googleapis.com
- binaryauthorization.googleapis.com
- cloudasset.googleapis.com
- cloudbuild.googleapis.com
- clouddebugger.googleapis.com
- cloudfunctions.googleapis.com
- cloudkms.googleapis.com
- cloudresourcemanager.googleapis.com
- cloudscheduler.googleapis.com
- cloudsearch.googleapis.com
- cloudtasks.googleapis.com
- cloudtrace.googleapis.com
- composer.googleapis.com
- compute.googleapis.com
- container.googleapis.com
- containeranalysis.googleapis.com
- datacatalog.googleapis.com
- dataflow.googleapis.com
- datafusion.googleapis.com
- datalabeling.googleapis.com
- datamigration.googleapis.com
- dataproc.googleapis.com
- datastore.googleapis.com
- deploymentmanager.googleapis.com
- dialogflow.googleapis.com
- dlp.googleapis.com
- dns.googleapis.com
- domains.googleapis.com
- file.googleapis.com
- firebaserules.googleapis.com
- firestore.googleapis.com
- genomics.googleapis.com
- healthcare.googleapis.com
- iam.googleapis.com
- iamcredentials.googleapis.com
- iap.googleapis.com
- identitytoolkit.googleapis.com
- language.googleapis.com
- lifesciences.googleapis.com
- logging.googleapis.com
- managedidentities.googleapis.com
- memcache.googleapis.com
- metastore.googleapis.com
- ml.googleapis.com
- monitoring.googleapis.com
- networkmanagement.googleapis.com
- notebooks.googleapis.com
- osconfig.googleapis.com
- policytroubleshooter.googleapis.com
- privateca.googleapis.com
- pubsub.googleapis.com
- pubsublite.googleapis.com
- recommender.googleapis.com
- redis.googleapis.com
- run.googleapis.com
- runtimeconfig.googleapis.com
- secretmanager.googleapis.com
- servicecontrol.googleapis.com
- servicedirectory.googleapis.com
- servicenetworking.googleapis.com
- sourcerepo.googleapis.com
- spanner.googleapis.com
- sqladmin.googleapis.com
storage.googleapis.com
storagetransfer.googleapis.com
sts.googleapis.com
texttospeech.googleapis.com
tpu.googleapis.com
videointelligence.googleapis.com
vision.googleapis.com
workflowexecutions.googleapis.com
workflows.googleapis.com
Layanan yang tidak didukung
Batasan kebijakan organisasi pembatasan versi TLS tidak berlaku untuk layanan berikut:
- App Engine (
*.appspot.com
) - Cloud Functions (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Domain kustom
Guna membatasi versi TLS untuk layanan tersebut, gunakan Cloud Load Balancing bersama dengan kebijakan keamanan SSL.
Langkah selanjutnya
- Pelajari produk yang didukung untuk setiap paket kontrol.