Restringir pacotes de criptografia TLS
Esta página descreve como impedir o acesso a recursos Google Cloud negando solicitações feitas usando determinados pacotes de criptografia do Transport Layer Security (TLS) menos seguros.
Visão geral
OGoogle Cloud oferece suporte a vários pacotes de criptografia TLS. Para atender aos requisitos de segurança ou conformidade, você pode negar solicitações de clientes que usam pacotes de criptografia TLS menos seguros.
Esse recurso é fornecido pela restrição da política da organização gcp.restrictTLSCipherSuites
.
A restrição pode ser aplicada a organizações, pastas ou projetos na
hierarquia de recursos.
É possível usar a restrição gcp.restrictTLSCipherSuites
como uma lista de permissões
ou uma lista de rejeições:
- Lista de permissões: permite um conjunto específico de grupos de cifras. Todas as outras são negadas.
- Lista de negação: nega um conjunto específico de pacotes de criptografia. Todos os outros são permitidos.
Devido ao comportamento da avaliação da hierarquia da política da organização, a restrição "Restringir pacotes de criptografia TLS" se aplica ao nó de recurso especificado e a todos os filhos dele. Por exemplo, se você permitir apenas determinados pacotes de criptografia TLS para uma organização, isso também se aplica a todas as pastas e projetos (filhos) que descendem dessa organização.
Antes de começar
Para receber as permissões necessárias a fim de definir, alterar ou excluir políticas da organização, peça ao administrador para conceder a você o papel do IAM de
Administrador de políticas da organização (roles/orgpolicy.policyAdmin
) na organização.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Como definir a política da organização
A restrição "Restringir pacotes de criptografia TLS" é um tipo de restrição de lista. É possível adicionar e
remover pacotes de criptografia das listas allowed_values
ou denied_values
de uma
restrição de pacotes de criptografia TLS. Para evitar que as políticas da organização sejam muito
restritivas e simplificar o gerenciamento de políticas, use
grupos de valores. Os grupos de valores são pacotes de cifras TLS
recomendados pelo Google.
Console
Abra a página Políticas da organização no console do Google Cloud .
Selecione o seletor de projetos na parte superior da página.
No seletor de projetos, selecione o recurso em que você quer definir a política da organização.
Selecione a restrição Restringir pacotes de criptografia TLS na lista da página Políticas da organização.
Para atualizar a política da organização para este recurso, clique em Gerenciar política.
Na página Editar, selecione Personalizar.
Em Política de aplicação, selecione uma opção para aplicação:
Para mesclar e avaliar as políticas da organização juntas, selecione Mesclar com pai. Para mais informações sobre herança e a hierarquia de recursos, consulte Noções básicas sobre avaliação de hierarquia.
Para modificar políticas herdadas de um recurso pai, selecione Substituir.
Clique em Adicionar regra.
Em Valores da política, selecione Personalizado.
Em Tipo de política, selecione Permitir para criar uma lista de suítes de criptografia permitidas ou Negar para criar uma lista de suítes de criptografia negadas.
Em Valores personalizados, insira o prefixo
in:
e uma string de grupo de valores e pressione Enter.Por exemplo,
in:NIST-800-52-recommended-ciphers
É possível inserir várias strings de grupo de valores clicando em Adicionar valor.Também é possível inserir strings de suítes de cifras específicas usando o prefixo
is:
. Para conferir uma lista de valores aceitos, consulte conjuntos de cifras aceitos.
Para aplicar a política, clique em Definir política.
gcloud
Para criar uma política da organização que aplique a restrição de conjuntos de cifragem TLS, crie um arquivo YAML de política que faça referência à restrição:
constraint: constraints/gcp.restrictTLSCipherSuites
listPolicy:
allowedValues:
- in:CNSA-2.0-recommended-ciphers
- is:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Para aplicar a política da organização que contém a restrição, execute o comando abaixo:
gcloud resource-manager org-policies set-policy \ --RESOURCE_TYPE RESOURCE_ID \ POLICY_PATH
Substitua:
RESOURCE_TYPE
pororganization
,folder
ouproject
.RESOURCE_ID
com o ID da organização, da pasta, do ID do projeto ou o número do projeto.POLICY_PATH
pelo caminho completo do arquivo YAML que contém a política da organização.
Uma resposta é retornada com os resultados da nova política da organização:
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'
Grupos de valores
Os grupos de valores são coleções de pacotes de criptografia selecionados pelo Google para oferecer uma maneira mais simples de definir pacotes de criptografia TLS preferidos ou recomendados. Os grupos de valor incluem vários conjuntos de criptografia e são expandidos ao longo do tempo pelo Google. Não é necessário mudar a política da organização para acomodar os novos conjuntos de cifras.
Para usar grupos de valores na sua política da organização, insira a string in:
no prefixo das entradas. Para mais informações sobre o uso de valores prefixo, consulte Usando restrições.
Os nomes dos grupos de valores são validados na chamada para definir a política da organização.
O uso de um nome de grupo inválido faz com que a configuração da política falhe.
A tabela a seguir contém a lista atual de grupos disponíveis:
Grupo | Detalhes | Membros diretos |
---|---|---|
CNSA-2.0-recommended-ciphers | Cifras recomendadas pela CNSA 2.0 com suporte do Google Cloud:in:CNSA-2.0-recommended-ciphers |
Valores:
|
NIST-800-52-recommended-ciphers | Cifras recomendadas pela NIST SP 800-52 com suporte do Google Cloud:in:NIST-800-52-recommended-ciphers |
Valores:
|
Pacotes de criptografia aceitos
Esta é a lista de pacotes de criptografia compatíveis com 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
Mensagem de erro
Os serviços que oferecem suporte à restrição de pacotes de criptografia TLS neguem solicitações que violem a restrição.
Exemplo de mensagem de erro
A mensagem de erro tem um formato semelhante a este exemplo:
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.
Esta saída inclui os seguintes valores:
PROJECT_NUMBER
: o número do projeto que hospeda o recurso mencionado no comando anterior.SERVICE_NAME
: o nome do serviço no escopo bloqueado pela política de restrição de pacotes de criptografia TLS.TLS_Cipher_Suite_X
: o pacote de criptografia TLS usado na solicitação.
Exemplo de registro de auditoria do Cloud
Uma entrada de registro de auditoria também é gerada para monitoramento, alerta ou depuração. A entrada de registro de auditoria é semelhante a este exemplo:
{ 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" }
Testar a política
É possível testar a restrição da política de restrição de cifras TLS para qualquer
serviço no escopo. O exemplo de comando curl
a seguir
valida os pacotes de criptografia de TLS restritos para um keyring do 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
Substitua as seguintes variáveis:
TLS_CIPHER_SUITE
: o nome do pacote de criptografia TLS na convenção de nomenclatura do OpenSSL, por exemplo,ECDHE-ECDSA-AES128-SHA
, que é o nome do OpenSSL paraTLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
.PROJECT_ID
: nome do projeto que contém o keyring.
O exemplo de solicitação curl
a seguir mostra PROJECT_ID definido como
my-project-id
e TLS_CIPHER_SUITE definido como 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
Se a política da organização para "my-project-id" estiver configurada para negar
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
, qualquer tentativa de acesso a recursos
com a criptografia no projeto restrito por política neste comando de exemplo vai falhar.
Uma mensagem de erro semelhante ao exemplo a seguir é retornada descrevendo o
motivo dessa falha.
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.
Criar uma política da organização no modo de simulação
Uma política da organização no modo de simulação é um tipo de política da organização em que as violações da política são registradas em auditoria, mas as ações de violação não são negadas. É possível criar uma política da organização no modo de simulação usando a restrição de restrição de pacotes de criptografia TLS para monitorar como ela afetaria sua organização antes de aplicar a política ativa. Para mais informações, consulte Criar uma política da organização no modo de simulação.
Serviços compatíveis
Os serviços a seguir oferecem suporte a pacotes de criptografia restritos de TLS. A restrição se aplica a todas as variações do endpoint de API, incluindo endpoints globais, locais e regionais. Consulte a página Tipos de endpoint da API para mais informações.
Produto | endpoint de API |
---|---|
API Gateway |
apigateway.googleapis.com |
Chaves de API |
apikeys.googleapis.com |
Access Context Manager |
accesscontextmanager.googleapis.com |
Apigee |
apigee.googleapis.com |
Hub de APIs da Apigee |
apihub.googleapis.com |
API Apigee API Management |
apim.googleapis.com |
API Apigee Connect |
apigeeconnect.googleapis.com |
API do portal da Apigee |
apigeeportal.googleapis.com |
API Apigee Registry |
apigeeregistry.googleapis.com |
API App Config Manager |
appconfigmanager.googleapis.com |
App Design Center |
designcenter.googleapis.com |
Application Integration |
integrations.googleapis.com |
Artifact Analysis |
containeranalysis.googleapis.com ondemandscanning.googleapis.com |
Artifact Registry |
artifactregistry.googleapis.com |
Software de código aberto Assured |
assuredoss.googleapis.com |
Assured Workloads |
assuredworkloads.googleapis.com |
Audit Manager |
auditmanager.googleapis.com |
API Authorization Toolkit |
authztoolkit.googleapis.com |
Lote |
batch.googleapis.com |
Chrome Enterprise Premium |
beyondcorp.googleapis.com |
BigLake |
biglake.googleapis.com |
BigQuery |
bigquery.googleapis.com |
BigQuery Connections |
bigqueryconnection.googleapis.com |
Política de dados do BigQuery |
bigquerydatapolicy.googleapis.com |
Transferência de dados do BigQuery |
bigquerydatatransfer.googleapis.com |
Migração do BigQuery |
bigquerymigration.googleapis.com |
Reserva do BigQuery |
bigqueryreservation.googleapis.com |
API BigQuery Saved Query |
bigquery-sq.googleapis.com |
BigQuery Storage |
bigquerystorage.googleapis.com |
Bigtable |
bigtable.googleapis.com bigtableadmin.googleapis.com |
Autorização binária |
binaryauthorization.googleapis.com |
Análise de blockchain |
blockchain.googleapis.com |
Blockchain Node Engine |
blockchainnodeengine.googleapis.com |
Gerenciador de validadores de blockchain |
blockchainvalidatormanager.googleapis.com |
Planejador de capacidade |
capacityplanner.googleapis.com |
Certificate Authority Service |
privateca.googleapis.com |
Gerenciador de certificados |
certificatemanager.googleapis.com |
Inventário de recursos do Cloud |
cloudasset.googleapis.com |
Cloud Build |
cloudbuild.googleapis.com |
Cloud CDN |
compute.googleapis.com |
API Cloud Commerce Producer |
cloudcommerceproducer.googleapis.com |
Cloud Composer |
composer.googleapis.com |
API Cloud Controls Partner |
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 |
API Cloud Healthcare |
healthcare.googleapis.com |
Cloud Interconnect |
compute.googleapis.com |
Sistema de detecção de intrusões do Cloud |
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 |
API Cloud Natural Language |
language.googleapis.com |
Firewall Essentials de última geração do Cloud |
compute.googleapis.com networksecurity.googleapis.com |
Firewall de última geração do Cloud |
compute.googleapis.com networksecurity.googleapis.com |
API Cloud OS Login |
oslogin.googleapis.com |
Cloud Router |
compute.googleapis.com |
Cloud Run |
run.googleapis.com |
Cloud SQL |
sqladmin.googleapis.com |
Cloud Service Mesh |
meshconfig.googleapis.com networksecurity.googleapis.com |
API Cloud Support |
cloudsupport.googleapis.com |
Cloud Tool Results API |
toolresults.googleapis.com |
Cloud VPN |
compute.googleapis.com |
Cloud Workstations |
workstations.googleapis.com |
API Commerce Agreement Publishing |
commerceagreementpublishing.googleapis.com |
API Commerce Business Enablement |
commercebusinessenablement.googleapis.com |
API Commerce Price Management |
commercepricemanagement.googleapis.com |
Compute Engine |
compute.googleapis.com |
Computação confidencial |
confidentialcomputing.googleapis.com |
Conectar |
gkeconnect.googleapis.com |
Conectar gateway |
connectgateway.googleapis.com |
API Contact Center AI Platform |
contactcenteraiplatform.googleapis.com |
Container Threat Detection |
containerthreatdetection.googleapis.com |
API Content Warehouse |
contentwarehouse.googleapis.com |
API Continuous Validation |
continuousvalidation.googleapis.com |
API Data Labeling |
datalabeling.googleapis.com |
API Data Security Posture Management |
dspm.googleapis.com |
Database Migration Service |
datamigration.googleapis.com |
Dataflow |
dataflow.googleapis.com |
Dataproc no GDC |
dataprocgdc.googleapis.com |
Google Distributed Cloud |
opsconfigmonitoring.googleapis.com gdcvmmanager.googleapis.com gdchardwaremanagement.googleapis.com |
API Distributed Cloud Edge Container |
edgecontainer.googleapis.com |
API Distributed Cloud Edge Network |
edgenetwork.googleapis.com |
Enterprise Knowledge Graph |
enterpriseknowledgegraph.googleapis.com |
Error Reporting |
clouderrorreporting.googleapis.com |
Contatos essenciais |
essentialcontacts.googleapis.com |
Eventarc |
eventarc.googleapis.com |
Filestore |
file.googleapis.com |
API Financial Services |
financialservices.googleapis.com |
Firebase App Hosting |
firebaseapphosting.googleapis.com |
Firebase Data Connect |
firebasedataconnect.googleapis.com |
Regras de segurança do Firebase |
firebaserules.googleapis.com |
GKE Dataplane Management |
gkedataplanemanagement.googleapis.com |
API GKE Enterprise Edge |
anthosedge.googleapis.com |
GKE Multi-cloud |
gkemulticloud.googleapis.com |
API GKE On-Prem |
gkeonprem.googleapis.com |
API Gemini para Google Cloud |
cloudaicompanion.googleapis.com |
API Google Cloud |
cloud.googleapis.com |
Google Cloud Armor |
compute.googleapis.com |
Centro de migração do Google Cloud |
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 |
API Google Security Operations Partner |
chroniclepartner.googleapis.com |
Complementos do Google Workspace |
gsuiteaddons.googleapis.com |
Identity and Access Management |
iam.googleapis.com |
Identity-Aware Proxy |
iap.googleapis.com |
Immersive Stream |
stream.googleapis.com |
Infrastructure Manager |
config.googleapis.com |
Conectores de integração |
connectors.googleapis.com |
KRM API Hosting |
krmapihosting.googleapis.com |
API Live Stream |
livestream.googleapis.com |
O BigQuery Engine para Apache Flink |
managedflink.googleapis.com |
API Managed Kafka |
managedkafka.googleapis.com |
Media Asset Manager |
mediaasset.googleapis.com |
Memorystore for Memcached |
memcache.googleapis.com |
Memorystore for Redis |
redis.googleapis.com |
API Message Streams |
messagestreams.googleapis.com |
API Microservices |
microservices.googleapis.com |
Model Armor |
modelarmor.googleapis.com |
Network Connectivity Center |
networkconnectivity.googleapis.com |
Network Intelligence Center |
networkmanagement.googleapis.com |
Níveis de serviço de rede |
compute.googleapis.com |
Persistent Disk |
compute.googleapis.com |
Oracle Database@Google Cloud |
oracledatabase.googleapis.com |
Parallelstore |
parallelstore.googleapis.com |
Ferramenta Análise de políticas |
policyanalyzer.googleapis.com |
Solucionador de problemas de políticas |
policytroubleshooter.googleapis.com |
Lançamento progressivo |
progressiverollout.googleapis.com |
Pub/Sub |
pubsub.googleapis.com |
Public Certificate Authority |
publicca.googleapis.com |
Recomendador |
recommender.googleapis.com |
Remote Build Execution |
remotebuildexecution.googleapis.com |
API Retail |
retail.googleapis.com |
Hub de seguro cibernético |
riskmanager.googleapis.com |
API Service Management do SaaS |
saasservicemgmt.googleapis.com |
API SecLM |
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 |
API Service Account Credentials |
iamcredentials.googleapis.com |
Diretório de serviços |
servicedirectory.googleapis.com |
Rede de serviços |
servicenetworking.googleapis.com |
Spanner |
spanner.googleapis.com |
Speaker ID |
speakerid.googleapis.com |
Speech-to-Text |
speech.googleapis.com |
Storage Insights |
storageinsights.googleapis.com |
Serviço de transferência do Cloud Storage |
storagebatchoperations.googleapis.com |
Text-to-Speech |
texttospeech.googleapis.com |
API Timeseries Insights |
timeseriesinsights.googleapis.com |
API Transcoder |
transcoder.googleapis.com |
Transfer Appliance |
transferappliance.googleapis.com |
VM Manager |
osconfig.googleapis.com |
API Vertex AI |
aiplatform.googleapis.com |
Vertex AI Workbench |
notebooks.googleapis.com |
Vertex AI no Firebase |
firebasevertexai.googleapis.com |
Nuvem privada virtual (VPC) |
compute.googleapis.com |
API Video Search |
cloudvideosearch.googleapis.com |
API Video Stitcher |
videostitcher.googleapis.com |
Web Risk |
webrisk.googleapis.com |
Web Security Scanner |
websecurityscanner.googleapis.com |
Fluxos de trabalho |
workflows.googleapis.com |
API Workload Certificate |
workloadcertificate.googleapis.com |
Serviços sem suporte
A restrição da política da organização "Restringir pacotes de criptografia TLS" não é aplicável aos seguintes serviços:
- App Engine (
*.appspot.com
) - Funções do Cloud Run (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Domínios personalizados
Para restringir pacotes de criptografia TLS para esses serviços, use o Cloud Load Balancing com a política de segurança SSL.
Google Cloud preferência de pacote de criptografia
Os endpoints para serviços com suporte priorizam AES-256 em vez de AES-128 em vez de ChaCha20. Os clientes que oferecem suporte a AES-256 precisam negociar com sucesso sem exigir nenhuma mudança na configuração.