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

  1. Abra a página Políticas da organização no console do Google Cloud .

    Acessar as políticas da organização

  2. Selecione o seletor de projetos na parte superior da página.

  3. No seletor de projetos, selecione o recurso em que você quer definir a política da organização.

  4. Selecione a restrição Restringir pacotes de criptografia TLS na lista da página Políticas da organização.

  5. Para atualizar a política da organização para este recurso, clique em Gerenciar política.

  6. Na página Editar, selecione Personalizar.

  7. 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.

  8. Clique em Adicionar regra.

  9. Em Valores da política, selecione Personalizado.

  10. 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.

  11. 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.

  12. 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 por organization, folder ou project.

  • 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:
  • TLS_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
NIST-800-52-recommended-ciphers Cifras recomendadas pela NIST SP 800-52 com suporte do Google Cloud:
in:NIST-800-52-recommended-ciphers
Valores:
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

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 para TLS_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.