Restringir pacotes de criptografia TLS
Nesta página, descrevemos como impedir o acesso a recursos do Google Cloud negando solicitações feitas com determinados pacotes de criptografia Transport Layer Security (TLS) menos seguros.
Visão geral
Google Cloud é compatível com vários pacotes de criptografia TLS. Para atender a requisitos de segurança ou conformidade, talvez seja necessário negar solicitações de clientes que usam pacotes de criptografia TLS menos seguros.
Essa capacidade é fornecida 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.
Você pode usar a restrição gcp.restrictTLSCipherSuites
como uma lista de permissões ou de proibições:
- Lista de permissões: permite um conjunto específico de algoritmos de criptografia. Todas as outras são negadas.
- Lista de bloqueio: bloqueia um conjunto específico de pacotes de criptografia. Todos os outros são permitidos.
Devido ao comportamento da avaliação da hierarquia de políticas 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 aplicará a todas as pastas e projetos (filhos) que descendem dessa organização.
Antes de começar
Para receber as permissões necessárias para 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 "Restringir pacotes de criptografia TLS". Para evitar que as políticas da organização sejam muito restritivas e simplificar o gerenciamento delas, use grupos de valores. Os grupos de valores são conjuntos de algoritmos de criptografia TLS recomendados e selecionados 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 nesse 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 hierarquia de recursos, consulte Noções básicas sobre a avaliação da 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 conjuntos de cifras permitidos ou Negar para criar uma lista de conjuntos de cifras negados.
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 conjuntos de algoritmos de criptografia específicos usando o prefixo
is:
. Para uma lista de valores compatíveis, consulte pacotes de criptografia compatíveis.
Para aplicar a política, clique em Definir política.
gcloud
Para criar uma política da organização que aplique a restrição "Restringir conjuntos de algoritmos de criptografia TLS", crie um arquivo YAML da política com 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 seguinte comando:
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
com o caminho completo do arquivo YAML que contém a política da organização.
Uma resposta será 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
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 valores incluem vários pacotes 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 algoritmos de criptografia.
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.
Usar um nome de grupo inválido vai fazer com que a definiçã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 | Criptografias recomendadas pelo CNSA 2.0 compatíveis com o Google Cloud:in:CNSA-2.0-recommended-ciphers |
Valores:
|
NIST-800-52-recommended-ciphers | Criptografias recomendadas pela NIST SP 800-52 compatíveis com o Google Cloud:in:NIST-800-52-recommended-ciphers |
Valores:
|
Pacotes de criptografia compatíveis
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 "Restringir pacotes de criptografia TLS" negam solicitações que violam a restrição.
Exemplo de mensagem de erro
A mensagem de erro tem um formato semelhante ao exemplo a seguir:
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 "Restringir 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 criptografia TLS para qualquer serviço no escopo. O exemplo de comando curl
a seguir
valida a restrição de pacotes de criptografia TLS 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 acessar recursos
com a criptografia no projeto restrito por política neste exemplo de comando 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 teste
Uma política da organização em modo de simulação é um tipo de política em que as violações são registradas em auditoria, mas as ações violadoras não são negadas. É possível criar uma política da organização no modo de simulação usando a restrição de pacote 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 seguintes serviços são compatíveis com a restrição de pacotes de criptografia 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 endpoints 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 Hub |
apphub.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 |
Padrão de 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 |
Dataplex Universal Catalog |
dataplex.googleapis.com datalineage.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 |
Hub (frota) |
gkehub.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 |
Looker Studio |
datastudio.googleapis.com |
O BigQuery Engine para Apache Flink |
managedflink.googleapis.com |
API Managed Kafka |
managedkafka.googleapis.com |
Gerenciamento de serviços |
servicemanagement.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 |
Analisador 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 SaaS Service Management |
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 se aplica 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 os pacotes de criptografia TLS desses serviços, use o Cloud Load Balancing com a política de segurança SSL.
Preferência deGoogle Cloud pacote de criptografia
Os endpoints para serviços compatíveis priorizam o AES-256 em vez do AES-128 e do ChaCha20. Os clientes que oferecem suporte ao AES-256 devem negociar com sucesso sem exigir mudanças na configuração.