Restringir versões de TLS
Nesta página, descrevemos como impedir o acesso aos recursos do Google Cloud negando solicitações feitas usando o Transport Layer Security (TLS) 1.0 ou 1.1.
Visão geral
O Google Cloud oferece suporte a várias versões do protocolo TLS. Para atender aos requisitos de conformidade, convém negar solicitações de handshake de clientes que usam versões de TLS mais antigas.
Essa funcionalidade é fornecida pela
restrição gcp.restrictTLSVersion
na política da organização.
A restrição pode ser aplicada em organizações, pastas ou projetos na
hierarquia de recursos.
A restrição gcp.restrictTLSVersion
usa uma
lista de negação,
que nega valores explícitos e permite todos os outros. Ocorrerá um erro se você tentar usar uma lista de permissões.
Devido ao comportamento da avaliação da hierarquia de políticas da organização, a restrição de versão do TLS se aplica ao nó de recurso especificado e a todos os filhos dele. Por exemplo, se você negar o TLS versão 1.0 para uma organização, ele também será negado para todas as pastas e projetos (filhos) que descendem dessa organização.
É possível modificar a restrição de versão de TLS herdada atualizando a política da organização em um recurso filho. Por exemplo, se a política da organização negar o TLS 1.0 no nível da organização, será possível remover a restrição para uma pasta filha definindo uma política da organização separada nessa pasta. Se a pasta tiver filhos, a política da pasta também será aplicada a cada recurso filho devido à herança da política.
Antes de começar
- Para definir, alterar ou excluir uma política da organização, você precisa primeiro receber
o papel de Administrador de políticas da organização (
roles/orgpolicy.policyAdmin
) do Identity and Access Management (IAM).
Restringir uma versão do TLS
Para restringir uma ou mais versões do TLS, siga estas etapas:
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 projeto, escolha o recurso para o qual você quer definir a política da organização.
Selecione a restrição Restringir versão do TLS na lista da página Políticas da organização.
Para atualizar a política da organização para esse recurso, clique em Editar.
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, o valor padrão é definido como Negar tudo. Selecione Personalizado em vez disso.
Em Tipo de política, selecione Negar.
Em Valores personalizados, digite uma versão do TLS que você quer negar. Os seguintes valores são valores personalizados válidos:
TLS_VERSION_1
para TLS 1.0TLS_VERSION_1_1
para TLS 1.1
Se você estiver restringindo mais de uma versão do TLS, clique em Adicionar valor e insira o valor no campo adicional.
Para finalizar e aplicar a política da organização, clique em Salvar.
gcloud
Use o comando gcloud org-policies set-policy
para definir uma política da organização no recurso pretendido:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH é o caminho completo para o arquivo de política da organização, que será semelhante ao seguinte se você estiver usando o formato YAML:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
Substitua pelo seguinte:
RESOURCE_TYPE
éorganizations
,folders
ouprojects
.RESOURCE_ID
é o ID da organização, da pasta, do ID ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.
Execute o seguinte comando para verificar se a política foi aplicada:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
Substitua pelo seguinte:
RESOURCE_TYPE
éorganization
,folder
ouproject
.RESOURCE_ID
é o ID da organização, da pasta, do ID ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE
.
Testar a política
A restrição da política de restrição de versão do TLS pode ser testada para qualquer serviço no escopo. O exemplo de comando curl a seguir valida a restrição de versão do TLS para um bucket do 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
Não há espaço entre --tlsv
e o valor. Por exemplo: --tlsv1.1
Substitua pelo seguinte:
GCS_BUCKET_NAME
é um nome de bucket do Cloud Storage no projeto, comomybucketname
.TLS_VERSION
é uma versão de TLS como1.0
ou1.1
negada na política configurada.
O exemplo de solicitação curl
a seguir mostra GCS_BUCKET_NAME definido como mybucketname
e TLS_VERSION definido como 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
Se a política da organização estiver configurada para restringir TLS_VERSION_X
, qualquer tentativa de acessar recursos com TLS_VERSION_X
no projeto restrito por política neste comando de exemplo falhará. Uma mensagem de erro é retornada descrevendo o motivo dessa falha.
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`
Esta saída inclui os seguintes valores:
PROJECT_NUMBER
: o número do projeto que hospeda o recurso indicado no comando anterior.SERVICE_NAME
: o nome do serviço no escopo bloqueado pela política de restrição de TLS.
Serviços com suporte
A restrição de versão do TLS é suportada pelos seguintes serviços:
- 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
Serviços sem suporte
A restrição da política da organização para restrição de versão do TLS não é aplicável aos seguintes serviços:
- App Engine (
*.appspot.com
) - Cloud Functions (
*.cloudfunctions.net
), - Cloud Run (
*.run.app
) - Private Service Connect
- Domínios personalizados
Para restringir as versões TLS para esses serviços, use o Cloud Load Balancing com a política de segurança SSL.
A seguir
- Saiba quais produtos são compatíveis com cada pacote de controle.