Membatasi cipher suite TLS
Halaman ini menjelaskan cara mencegah akses ke resource Google Cloud dengan menolak permintaan yang dibuat menggunakan cipher suite Transport Layer Security (TLS) tertentu yang kurang aman.
Ringkasan
Google Cloud mendukung beberapa cipher suite TLS. Untuk memenuhi persyaratan keamanan atau kepatuhan, Anda dapat menolak permintaan dari klien yang menggunakan cipher suite TLS yang kurang aman.
Kemampuan ini disediakan oleh batasan kebijakan organisasi
gcp.restrictTLSCipherSuites
.
Batasan dapat diterapkan pada organisasi, folder, atau project dalam
hierarki resource.
Anda dapat menggunakan batasan gcp.restrictTLSCipherSuites
sebagai daftar yang diizinkan
atau sebagai daftar yang ditolak:
- Daftar yang diizinkan: Mengizinkan kumpulan cipher suite tertentu. Semua yang lain akan ditolak.
- Daftar tolak: menolak kumpulan cipher suite tertentu. Semua yang lain diizinkan.
Karena perilaku evaluasi hierarki kebijakan organisasi, batasan Batasi cipher suite TLS berlaku untuk node resource yang ditentukan dan semua turunannya. Misalnya, jika Anda hanya mengizinkan cipher suite TLS tertentu untuk organisasi, setelan ini juga berlaku untuk semua folder dan project (turunan) yang berasal dari organisasi tersebut.
Sebelum memulai
Untuk mendapatkan izin yang
Anda perlukan untuk menetapkan, mengubah, atau menghapus kebijakan organisasi,
minta administrator untuk memberi Anda
Administrator kebijakan organisasi (roles/orgpolicy.policyAdmin
)
peran IAM di organisasi.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menetapkan kebijakan organisasi
Batasan Rangkaian sandi TLS yang Dibatasi adalah jenis batasan daftar. Anda dapat menambahkan dan
menghapus cipher suite dari daftar allowed_values
atau denied_values
dari
batasan Restrict TLS cipher suites. Untuk mencegah kebijakan organisasi menjadi terlalu
ketat dan menyederhanakan pengelolaan kebijakan, gunakan
grup nilai. Grup nilai adalah cipher suite TLS
yang direkomendasikan dan diseleksi oleh Google.
Konsol
Buka halaman Organization policies di Google Cloud console.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource yang ingin Anda tetapkan kebijakan organisasinya.
Pilih batasan Batasi cipher suite TLS dari daftar di halaman Kebijakan organisasi.
Untuk memperbarui kebijakan organisasi untuk resource ini, klik Manage policy.
Pada halaman Edit, pilih Customize.
Di bagian Policy enforcement, pilih opsi penerapan:
Untuk menggabungkan dan mengevaluasi kebijakan organisasi Anda secara bersamaan, pilih Gabungkan dengan induk. Untuk informasi selengkapnya tentang pewarisan dan hierarki resource, lihat Memahami evaluasi hierarki.
Untuk mengganti kebijakan yang diwarisi dari resource induk, pilih Replace.
Klik Tambahkan Aturan.
Di bagian Policy values, pilih Custom.
Di bagian Jenis kebijakan, pilih Izinkan untuk membuat daftar cipher suite yang diizinkan, atau pilih Tolak untuk membuat daftar cipher suite yang ditolak.
Di bagian Custom values, masukkan awalan
in:
dan string value group, lalu tekan Enter.Misalnya,
in:NIST-800-52-recommended-ciphers
. Anda dapat memasukkan beberapa string grup nilai dengan mengklik Tambahkan nilai.Anda juga dapat memasukkan string cipher suite tertentu menggunakan awalan
is:
. Untuk mengetahui daftar nilai yang didukung, lihat cipher suite yang didukung.
Untuk menerapkan kebijakan, klik Set policy.
gcloud
Untuk membuat kebijakan organisasi yang menerapkan batasan Restrict TLS Cipher Suites, buat file YAML kebijakan yang mereferensikan batasan tersebut:
constraint: constraints/gcp.restrictTLSCipherSuites
listPolicy:
allowedValues:
- in:CNSA-2.0-recommended-ciphers
- is:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Untuk menerapkan kebijakan organisasi yang berisi batasan, jalankan perintah berikut:
gcloud resource-manager org-policies set-policy \ --RESOURCE_TYPE RESOURCE_ID \ POLICY_PATH
Ganti kode berikut:
RESOURCE_TYPE
denganorganization
,folder
, atauproject
.RESOURCE_ID
dengan ID organisasi, ID folder, project ID, atau nomor project Anda.POLICY_PATH
dengan jalur lengkap ke file YAML yang berisi kebijakan organisasi.
Respons akan ditampilkan dengan hasil kebijakan organisasi baru:
constraint: constraints/gcp.restrictTLSCipherSuites etag: COS9qr0GELii6o0C listPolicy: allowedValues: - in:CNSA-2.0-recommended-ciphers - is:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA updateTime: '2025-02-11T00:50:44.565875Z'
Grup nilai
Grup nilai adalah kumpulan cipher suite yang dipilih oleh Google untuk memberikan cara yang lebih sederhana dalam menentukan cipher suite TLS yang disukai atau direkomendasikan. Grup nilai mencakup beberapa cipher suite dan diperluas dari waktu ke waktu oleh Google. Anda tidak perlu mengubah kebijakan organisasi untuk mengakomodasi cipher suite baru.
Untuk menggunakan grup nilai dalam kebijakan organisasi Anda, beri awalan pada entri Anda dengan
string in:
. Untuk informasi selengkapnya tentang penggunaan awalan nilai, lihat
Menggunakan Batasan.
Nama grup nilai divalidasi pada panggilan untuk menetapkan kebijakan organisasi.
Penggunaan nama grup yang tidak valid akan menyebabkan setelan kebijakan gagal.
Tabel berikut berisi daftar grup yang tersedia saat ini:
Grup | Detail | Anggota langsung |
---|---|---|
CNSA-2.0-recommended-ciphers | Cipher yang direkomendasikan CNSA 2.0 dan didukung oleh Google Cloud:in:CNSA-2.0-recommended-ciphers |
Nilai:
|
NIST-800-52-recommended-ciphers | Cipher yang direkomendasikan NIST SP 800-52 yang didukung oleh Google Cloud:in:NIST-800-52-recommended-ciphers |
Nilai:
|
Cipher suite yang didukung
Ini adalah daftar cipher suite yang didukung oleh Google Cloud.
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
Pesan error
Layanan yang mendukung batasan cipher suite TLS Batasi menolak permintaan yang melanggar batasan.
Contoh pesan error
Pesan error memiliki format yang mirip dengan contoh berikut:
Request is disallowed by organization's constraints/gcp.restrictTLSCipherSuites constraint for 'projects/PROJECT_NUMBER'. Access to service 'SERVICE_NAME.googleapis.com' attempted with a disallowed TLS Cipher Suite: 'TLS_Cipher_Suite_X` To access this resource, please use an allowed TLS Cipher Suite.
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 Batasi cipher suite TLS.TLS_Cipher_Suite_X
: Suite Cipher TLS yang digunakan dalam permintaan.
Contoh Cloud Audit Log
Entri log audit juga dibuat untuk pemantauan, pemberitahuan, atau proses debug lebih lanjut. Entri log audit terlihat mirip dengan contoh berikut:
{ logName: "projects/my-project-number/logs/cloudaudit.googleapis.com%2Fpolicy" protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" status: { code: 7 message: "Request is disallowed by organization's TLS Cipher Suite Restriction Org Policy for 'projects/my-project-number'. Attempting to use service 'bigquery.googleapis.com' with a disallowed TLS Cipher Suite: 'TLS_Cipher_Suite_X`." } serviceName: "bigquery.googleapis.com" methodName: "google.cloud.bigquery.v2.TableDataService.InsertAll" resourceName: "projects/my-project-number" authenticationInfo: { principalEmail: "user_or_service_account@example.com" } } requestMetadata: { callerIp: "123.123.123.123" } policyViolationInfo: { orgPolicyViolationInfo: { violationInfo: [ { constraint: "constraints/gcp.restrictTlsCipherSuites" errorMessage: "TLS Cipher Suite Restriction Org Policy is violated" policyType: "LIST_CONSTRAINT" } ] } } resource: { type: "audited_resource" labels: { project_id: "my-project-number" method: "google.cloud.bigquery.v2.TableDataService.InsertAll" service: "bigquery.googleapis.com" } } severity: "ERROR" timestamp: "2023-10-27T19:27:24.633477924Z" receiveTimestamp: "2023-10-27T19:27:25.071941737Z" insertId "42" }
Menguji kebijakan
Anda dapat menguji batasan kebijakan pembatasan cipher TLS untuk
layanan dalam cakupan. Contoh perintah curl
berikut
memvalidasi cipher suite Restrict TLS untuk ring kunci Cloud Key Management Service.
curl --ciphers TLS_CIPHER_SUITE --tls_max 1.2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/global/keyRings" --verbose
Ganti variabel berikut:
TLS_CIPHER_SUITE
: nama cipher suite TLS dalam konvensi penamaan OpenSSL, misalnyaECDHE-ECDSA-AES128-SHA
yang merupakan nama OpenSSL untukTLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
.PROJECT_ID
: Nama project yang berisi ring kunci
Contoh permintaan curl
berikut menunjukkan PROJECT_ID yang disetel ke
my-project-id
dan TLS_CIPHER_SUITE yang disetel ke ECDHE-ECDSA-AES128-SHA
:
curl --ciphers ECDHE-ECDSA-AES128-SHA --tls-max 1.2 \ GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudkms.googleapis.com/v1/projects/my-project-id/locations/global/keyRings" --verbose
Jika kebijakan organisasi untuk 'my-project-id' dikonfigurasi untuk menolak
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
, setiap upaya untuk mengakses resource
dengan cipher dalam project yang dibatasi kebijakan dalam contoh perintah ini akan gagal.
Pesan error yang mirip dengan contoh berikut akan ditampilkan yang menjelaskan
alasan kegagalan ini.
Request is disallowed by organization's constraints/gcp.restrictTLSCipherSuites constraint for 'projects/my-project-id'. Access to service cloudkms.googleapis.com attempted with a disallowed TLS Cipher Suite: `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA`. To access this resource, please use an allowed TLS Cipher Suite.
Membuat kebijakan organisasi dalam mode uji coba
Kebijakan organisasi dalam mode uji coba adalah jenis kebijakan organisasi yang pelanggaran kebijakannya dicatat ke dalam log audit, tetapi tindakan yang melanggar tidak ditolak. Anda dapat membuat kebijakan organisasi dalam mode uji coba menggunakan batasan TLS Cipher Suite Restriction untuk memantau pengaruhnya terhadap organisasi Anda sebelum menerapkan kebijakan aktif. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan organisasi dalam mode uji coba.
Layanan yang didukung
Layanan berikut mendukung cipher suite Restrict TLS. Batasan ini berlaku untuk semua variasi endpoint API, termasuk endpoint global, lokasi, dan regional. Lihat halaman Jenis endpoint API untuk mengetahui informasi selengkapnya.
Produk | Endpoint API |
---|---|
Gateway API |
apigateway.googleapis.com |
Kunci API |
apikeys.googleapis.com |
Access Context Manager |
accesscontextmanager.googleapis.com |
Apigee |
apigee.googleapis.com |
Hub Apigee API |
apihub.googleapis.com |
Apigee API Management API |
apim.googleapis.com |
Apigee Connect API |
apigeeconnect.googleapis.com |
Apigee portal API |
apigeeportal.googleapis.com |
Apigee Registry API |
apigeeregistry.googleapis.com |
App Config Manager API |
appconfigmanager.googleapis.com |
Application Design Center |
designcenter.googleapis.com |
Application Integration |
integrations.googleapis.com |
Artifact Analysis |
containeranalysis.googleapis.com ondemandscanning.googleapis.com |
Artifact Registry |
artifactregistry.googleapis.com |
Assured Open Source Software |
assuredoss.googleapis.com |
Assured Workloads |
assuredworkloads.googleapis.com |
Audit Manager |
auditmanager.googleapis.com |
Authorization Toolkit API |
authztoolkit.googleapis.com |
Batch |
batch.googleapis.com |
Chrome Enterprise Premium |
beyondcorp.googleapis.com |
BigLake |
biglake.googleapis.com |
BigQuery |
bigquery.googleapis.com |
Koneksi BigQuery |
bigqueryconnection.googleapis.com |
Kebijakan Data BigQuery |
bigquerydatapolicy.googleapis.com |
BigQuery Data Transfer |
bigquerydatatransfer.googleapis.com |
BigQuery Migration |
bigquerymigration.googleapis.com |
Reservasi BigQuery |
bigqueryreservation.googleapis.com |
BigQuery Saved Query API |
bigquery-sq.googleapis.com |
BigQuery Storage |
bigquerystorage.googleapis.com |
Bigtable |
bigtable.googleapis.com bigtableadmin.googleapis.com |
Otorisasi Biner |
binaryauthorization.googleapis.com |
Blockchain Analytics |
blockchain.googleapis.com |
Blockchain Node Engine |
blockchainnodeengine.googleapis.com |
Blockchain Validator Manager |
blockchainvalidatormanager.googleapis.com |
Capacity Planner |
capacityplanner.googleapis.com |
Certificate Authority Service |
privateca.googleapis.com |
Certificate Manager |
certificatemanager.googleapis.com |
Inventaris Aset Cloud |
cloudasset.googleapis.com |
Cloud Build |
cloudbuild.googleapis.com |
Cloud CDN |
compute.googleapis.com |
Cloud Commerce Producer API |
cloudcommerceproducer.googleapis.com |
Cloud Composer |
composer.googleapis.com |
Cloud Controls Partner API |
cloudcontrolspartner.googleapis.com |
Cloud DNS |
dns.googleapis.com |
Cloud Data Fusion |
datafusion.googleapis.com |
Cloud Deployment Manager |
runtimeconfig.googleapis.com deploymentmanager.googleapis.com |
Cloud Domains |
domains.googleapis.com |
Cloud Healthcare API |
healthcare.googleapis.com |
Cloud Interconnect |
compute.googleapis.com |
Cloud Intrusion Detection System |
ids.googleapis.com |
Cloud Key Management Service |
cloudkms.googleapis.com |
Cloud Life Sciences |
lifesciences.googleapis.com |
Cloud Load Balancing |
compute.googleapis.com |
Cloud Logging |
logging.googleapis.com |
Cloud Monitoring |
monitoring.googleapis.com |
Cloud NAT |
compute.googleapis.com |
Cloud Natural Language API |
language.googleapis.com |
Cloud Next Generation Firewall Essentials |
compute.googleapis.com networksecurity.googleapis.com |
Cloud Next Generation Firewall Standard |
compute.googleapis.com networksecurity.googleapis.com |
Cloud OS Login API |
oslogin.googleapis.com |
Cloud Router |
compute.googleapis.com |
Cloud Run |
run.googleapis.com |
Cloud SQL |
sqladmin.googleapis.com |
Mesh Layanan Cloud |
meshconfig.googleapis.com networksecurity.googleapis.com |
Cloud Support API |
cloudsupport.googleapis.com |
Cloud Tool Results API |
toolresults.googleapis.com |
Cloud VPN |
compute.googleapis.com |
Cloud Workstations |
workstations.googleapis.com |
Commerce Agreement Publishing API |
commerceagreementpublishing.googleapis.com |
Commerce Business Enablement API |
commercebusinessenablement.googleapis.com |
Commerce Price Management API |
commercepricemanagement.googleapis.com |
Compute Engine |
compute.googleapis.com |
Confidential Computing |
confidentialcomputing.googleapis.com |
Hubungkan |
gkeconnect.googleapis.com |
Menghubungkan gateway |
connectgateway.googleapis.com |
Contact Center AI Platform API |
contactcenteraiplatform.googleapis.com |
Container Threat Detection |
containerthreatdetection.googleapis.com |
Content Warehouse API |
contentwarehouse.googleapis.com |
Continuous Validation API |
continuousvalidation.googleapis.com |
Data Labeling API |
datalabeling.googleapis.com |
Data Security Posture Management API |
dspm.googleapis.com |
Database Migration Service |
datamigration.googleapis.com |
Dataflow |
dataflow.googleapis.com |
Dataproc di GDC |
dataprocgdc.googleapis.com |
Google Distributed Cloud |
opsconfigmonitoring.googleapis.com gdcvmmanager.googleapis.com gdchardwaremanagement.googleapis.com |
Distributed Cloud Edge Container API |
edgecontainer.googleapis.com |
Distributed Cloud Edge Network API |
edgenetwork.googleapis.com |
Enterprise Knowledge Graph |
enterpriseknowledgegraph.googleapis.com |
Error Reporting |
clouderrorreporting.googleapis.com |
Kontak Penting |
essentialcontacts.googleapis.com |
Eventarc |
eventarc.googleapis.com |
Filestore |
file.googleapis.com |
Financial Services API |
financialservices.googleapis.com |
Firebase App Hosting |
firebaseapphosting.googleapis.com |
Firebase Data Connect |
firebasedataconnect.googleapis.com |
Aturan Keamanan Firebase |
firebaserules.googleapis.com |
GKE Dataplane Management |
gkedataplanemanagement.googleapis.com |
GKE Enterprise Edge API |
anthosedge.googleapis.com |
GKE Multi-Cloud |
gkemulticloud.googleapis.com |
GKE On-Prem API |
gkeonprem.googleapis.com |
Gemini for Google Cloud API |
cloudaicompanion.googleapis.com |
Google Cloud API |
cloud.googleapis.com |
Google Cloud Armor |
compute.googleapis.com |
Google Cloud Migration Center |
migrationcenter.googleapis.com |
Google Cloud Observability |
stackdriver.googleapis.com |
Google Kubernetes Engine |
container.googleapis.com configdelivery.googleapis.com |
Google Security Operations SIEM |
chronicle.googleapis.com chronicleservicemanager.googleapis.com |
Google Security Operations Partner API |
chroniclepartner.googleapis.com |
Add-on Google Workspace |
gsuiteaddons.googleapis.com |
Identity and Access Management |
iam.googleapis.com |
Identity-Aware Proxy |
iap.googleapis.com |
Streaming Imersif |
stream.googleapis.com |
Infrastructure Manager |
config.googleapis.com |
Integration Connectors |
connectors.googleapis.com |
KRM API Hosting |
krmapihosting.googleapis.com |
Live Stream API |
livestream.googleapis.com |
BigQuery Engine untuk Apache Flink |
managedflink.googleapis.com |
Managed Kafka API |
managedkafka.googleapis.com |
Media Asset Manager |
mediaasset.googleapis.com |
Memorystore for Memcached |
memcache.googleapis.com |
Memorystore for Redis |
redis.googleapis.com |
Message Streams API |
messagestreams.googleapis.com |
Microservices API |
microservices.googleapis.com |
Model Armor |
modelarmor.googleapis.com |
Network Connectivity Center |
networkconnectivity.googleapis.com |
Network Intelligence Center |
networkmanagement.googleapis.com |
Network Service Tiers |
compute.googleapis.com |
Persistent Disk |
compute.googleapis.com |
Oracle Database@Google Cloud |
oracledatabase.googleapis.com |
Parallelstore |
parallelstore.googleapis.com |
Penganalisis Kebijakan |
policyanalyzer.googleapis.com |
Pemecah Masalah Kebijakan |
policytroubleshooter.googleapis.com |
Peluncuran Progresif |
progressiverollout.googleapis.com |
Pub/Sub |
pubsub.googleapis.com |
Public Certificate Authority |
publicca.googleapis.com |
Pemberi Rekomendasi |
recommender.googleapis.com |
Remote Build Execution |
remotebuildexecution.googleapis.com |
Retail API |
retail.googleapis.com |
Cyber Insurance Hub |
riskmanager.googleapis.com |
SaaS Service Management API |
saasservicemgmt.googleapis.com |
SecLM API |
seclm.googleapis.com |
Secret Manager |
secretmanager.googleapis.com |
Security Command Center |
securitycenter.googleapis.com securitycentermanagement.googleapis.com securityposture.googleapis.com |
Cloud Data Loss Prevention |
dlp.googleapis.com |
Service Account Credentials API |
iamcredentials.googleapis.com |
Direktori Layanan |
servicedirectory.googleapis.com |
Service Networking |
servicenetworking.googleapis.com |
Spanner |
spanner.googleapis.com |
ID Pembicara |
speakerid.googleapis.com |
Speech-to-Text |
speech.googleapis.com |
Insight Penyimpanan |
storageinsights.googleapis.com |
Storage Transfer Service |
storagebatchoperations.googleapis.com |
Text-to-Speech |
texttospeech.googleapis.com |
Timeseries Insights API |
timeseriesinsights.googleapis.com |
Transcoder API |
transcoder.googleapis.com |
Transfer Appliance |
transferappliance.googleapis.com |
VM Manager |
osconfig.googleapis.com |
Vertex AI API |
aiplatform.googleapis.com |
Vertex AI Workbench |
notebooks.googleapis.com |
Vertex AI in Firebase |
firebasevertexai.googleapis.com |
Virtual Private Cloud (VPC) |
compute.googleapis.com |
Video Search API |
cloudvideosearch.googleapis.com |
Video Stitcher API |
videostitcher.googleapis.com |
Web Risk |
webrisk.googleapis.com |
Web Security Scanner |
websecurityscanner.googleapis.com |
Workflows |
workflows.googleapis.com |
Workload Certificate API |
workloadcertificate.googleapis.com |
Layanan yang tidak didukung
Batasan kebijakan organisasi Batasi cipher suite TLS tidak berlaku untuk layanan berikut:
- App Engine (
*.appspot.com
) - Fungsi Cloud Run (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Domain kustom
Untuk membatasi cipher suite TLS untuk layanan ini, gunakan Cloud Load Balancing bersama dengan kebijakan keamanan SSL.
Google Cloud preferensi cipher suite
Endpoint untuk layanan yang didukung memprioritaskan AES-256 daripada AES-128 daripada ChaCha20. Klien yang mendukung AES-256 akan berhasil melakukan negosiasi tanpa memerlukan perubahan konfigurasi apa pun.