Pontos Finais Privados no Object Storage

Saiba mais sobre o uso de pontos finais privados para acessar seus buckets e objetos do serviço Object Storage usando um endereço IP privado dentro da sua VCN em vez da internet pública.

Os pontos finais privados fornecem acesso seguro ao Object Storage de suas VCNs do OCI ou redes locais. O ponto final privado é uma VNIC com um endereço IP privado em uma sub-rede que você escolhe na sua VNC. Esse método é uma alternativa ao uso de um gateway de serviço usando endereços IP públicos associados aos serviços do OCI.

Os pontos finais privados diferem dos pontos finais dedicados, pois eles são pontos finais específicos da tenancy que têm uma string de namespace dedicado no URL. Esse atributo garante o isolamento total para ajudar a atender aos requisitos de segurança e conformidade da sua organização. Semelhante aos URLs de ponto final público tradicionais, os pontos finais dedicados são resolvidos para o endereço IP público do Object Storage.

Por outro lado, pontos finais privados são pontos finais personalizáveis que são resolvidos para um endereço IP privado de uma VNIC. As solicitações vão para um endereço IP privado na sua VCN. Em seguida, o tráfego é roteado para o serviço Object Storage pela VNIC.

A criação de um ponto final privado em uma VCN e sua associação a um bucket não limita o acesso ao bucket pela internet ou por outras origens de rede. Você precisa definir regras usando políticas do IAM no bucket; portanto, as solicitações só serão autorizadas se forem originadas de uma VCN específica ou de um bloco CIDR dentro dessa VCN. Todos os outros acessos, inclusive pela internet, são bloqueados para esses buckets. Consulte Gerenciando Origens de Rede para obter mais informações.

Veja a seguir uma política de amostra para restringir um bucket específico a uma origem de rede específica:

allow group groupName to manage objects in tenancy where all {target.bucket.name = 'bucketName', request.networkSource.name = 'networkSourceName'}

Ao criar um ponto final privado, você pode restringir o acesso a determinados recursos do serviço Object Storage especificando destinos de acesso. Cada destino de acesso consiste nos seguintes parâmetros necessários:

  • Namespace: Especifica o namespace de destino que tem permissão para sair do ponto final privado.
  • Compartimento: Especifica qual namespace/compartimentos o ponto final privado pode acessar. Você pode configurar um único compartimento ou todos os compartimentos.
  • Bucket: Especifica qual namespace/buckets nos compartimentos permitidos o ponto final privado pode acessar. Você pode configurar um único bucket ou todos os buckets nos compartimentos permitidos.

Especifique o nome do parâmetro ou um caractere curinga ("*") para permitir qualquer acesso ao parâmetro. Consulte Criando um Ponto Final Privado para obter mais informações sobre como configurar destinos de acesso.

Cada ponto final privado deve ter pelo menos um destino de acesso até um máximo de 10.

No exemplo a seguir, um destino de acesso tem a seguinte configuração:

  • Namespace = Namespace1
  • Compartimento = Compartment1
  • Bucket = Bucket1

Nesta configuração, o ponto final privado tem acesso a objetos em Bucket1, que reside em Compartment1 e que pertence a Namespace1. Se você mover um Bucket1 para outro compartimento (Compartment2), o ponto final privado não poderá mais acessar o bucket Bucket1.

A adição de um destino de acesso não concede automaticamente acesso ao bucket ou objeto. Sua solicitação ao Object Storage por meio do ponto final privado sempre é autorizada pelo OCI IAM para garantir que eles tenham as políticas corretas do IAM para acessar o bucket ou o objeto.

Os buckets do Object Storage que usam um ponto final privado não estão limitados apenas a esse ponto final privado. Os buckets que usam um ponto final privado também podem usar outros métodos de acesso.

Você pode executar as seguintes tarefas de ponto final privado do serviço Object Storage:

Liste os pontos finais privados do serviço Object Storage em um compartimento.

Crie um ponto final privado do serviço Object Storage.

Obtenha os detalhes de um ponto final privado do serviço Object Storage.

Editar as definições de um ponto final privado do serviço Object Storage.

Exibir os nomes de domínio totalmente qualificados para um ponto final privado do serviço Object Storage.

Exibir os destinos de acesso de um ponto final privado do serviço Object Storage.

Exibir as solicitações de serviço do ponto final privado do serviço Object Storage em um compartimento.

Exclua um ponto final privado do serviço Object Storage de um compartimento.

Localizando Detalhes para Recursos de Ponto Final Privado

A nova experiência da Console do Oracle Cloud usa guias para organizar as informações na página de detalhes de cada recurso de ponto final privado no serviço Object Storage.

As seções a seguir descrevem quais informações são exibidas nas guias dos recursos de ponto final privado no serviço Object Storage. Dependendo do tipo de recurso, você poderá ver algumas ou todas as guias listadas aqui.

Serviço Object Storage

Guia Informações sobre a Guia
Detalhes
  • Geral
  • Uso
FQDNs
  • FQDNs
Destinos de Acesso
  • Solicitações Pré-autenticadas
  • Uploads Multiparte sem Commit
Solicitações de Serviço
  • Solicitações de Serviço
Tags
  • Tags

Políticas do Serviço IAM

Use políticas para limitar o acesso a pontos finais privados do serviço Object Storage. Uma política especifica quem pode acessar os recursos do Oracle Cloud Infrastructure e como. Para obter mais informações, consulte Como as Políticas Funcionam.

Designe a um grupo o mínimo de privilégios necessários para executar suas responsabilidades. Cada política tem um verbo que descreve quais ações o grupo tem permissão para executar. Cada política tem um verbo que descreve quais ações o grupo tem permissão para executar. Do menor acesso ao máximo, os verbos disponíveis são: inspect, read, use e manage.

As seguintes permissões são necessárias para executar as operações correspondentes:

Allow group groupName to manage objectstorage-private-endpoint in tenancy
Allow group groupName to manage virtual-network-family in tenancy

Recomendamos que as seguintes políticas de IAM sejam adicionadas para permitir o gerenciamento de pontos finais privados do Object Storage:

IAM Policies
Operação Permissões do Object Storage IAM Outras Permissões do IAM

Criar um ponto final privado

OBJECTSTORAGE_ PRIVATE_ENDPOINT_CREATE

VNIC_CREATE (compartimento do ponto final privado)

VNIC_DELETE (compartimento do ponto final privado)

SUBNET_ATTACH (compartimento de sub-rede)

NETWORK_SECURITY_GROUP_UPDATE_MEMBERS (compartimento do ponto final privado)

VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP (compartimento do ponto final privado)

Listar os pontos finais privados em um compartimento

OBJECTSTORAGE_ PRIVATE_ENDPOINT_INSPECT

Obter detalhes de um ponto final privado

OBJECTSTORAGE_ PRIVATE_ENDPOINT_READ

Editar um ponto final privado

OBJECTSTORAGE_ PRIVATE_ENDPOINT_UPDATE

VNIC_UPDATE (compartimento do ponto final privado)

NETWORK_SECURITY_GROUP_UPDATE_MEMBERS (compartimento do ponto final privado)

VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP (compartimento do ponto final privado)

VNIC_DISASSOCIATE_NETWORK_SECURITY_GROUP (compartimento do ponto final privado)

Excluir um ponto final privado de um compartimento

OBJECTSTORAGE_ PRIVATE_ENDPOINT_DELETE

VNIC_DELETE (compartimento do ponto final privado)

SUBNET_DETACH (compartimento de sub-rede)

Destinos de Acesso

Use a seguinte política de acesso para restringir um bucket específico a uma origem de rede específica:

allow group groupName to manage objects in tenancy where all {target.bucket.name = 'bucketName', request.networkSource.name = 'networkSourceName'}

Limites

Os seguintes limites se aplicam a pontos finais privados no Object Storage:

  • Você pode usar no máximo 10 pontos finais privados em uma tenancy.
  • Você pode usar até 10 destinos de acesso para cada ponto final privado.
  • Cada ponto final privado tem uma largura de banda máxima de 25 Gbps.

Comportamento da Solicitação Pré-autenticada

Ao criar solicitações pré-autenticadas (PARs) por meio de pontos finais privados, observe os seguintes pontos:

  • A PAR tem o FQDN (nome de domínio totalmente qualificado) do ponto final privado como parte do URL da PAR.
  • Você pode criar uma PAR por meio do ponto final privado em buckets permitidos apenas pelos Destinos de Acesso.
  • Você também pode acessar buckets e objetos PAR do ponto final público substituindo o FQDN do ponto final privado no URL pelo ponto final público.

Para obter mais informações, consulte Solicitações Pré-Autenticadas.

Usando Pontos Finais Privados

Depois que você cria um ponto final privado do Object Storage, ele se torna utilizável. Os FQDNs (nomes de domínio totalmente qualificados) criados com base na entrada de prefixo de DNS tornam-se resolvíveis pela zona DNS privada dentro da VCN. Esses FQDNs se tornam o ponto final usado em solicitações ao Object Storage para garantir que as solicitações passem pelo ponto final privado.

Veja um exemplo de como os FQDNs aparecem nos detalhes baseados em CLI de um ponto final privado:

oci os private-endpoint get --pe-name pe1
                 
{
  "data": {
    "access-targets": [
      {
        "bucket": "*",
        "compartment-id": "*",
        "namespace": "MyNamespace"
      }
    ],
    "additional-prefixes": [],
    "compartment-id": "ocid1.tenancy.oc1..exampleuniqueID",
    "created-by": "ocid1.user.region1..exampleuniqueID",
    "defined-tags": {},
    "etag": "017e1d8f-1013-477a-86a4-d4d03b473f74",
    "fqdns": {
      "additional-prefixes-fqdns": {},
      "prefix-fqdns": {
        "object-storage-api-fqdn": "pe1-MyNamespace.private.objectstorage.us-phoenix-1.oci.customer-oci.com",
        "s3-compatibility-api-fqdn": "pe1-MyNamespace.private.compat.objectstorage.us-phoenix-1.oci.customer-oci.com",
        "swift-api-fqdn": "pe1-MyNamespace.private.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com"
      }
    },
    "freeform-tags": {},
    "id": "ocid1.privateendpoint.region1.sea.exampleuniqueID",
    "lifecycle-state": "ACTIVE",
    "name": "pe1",
    "namespace": "MyNamespace",
    "nsg-ids": [],
    "prefix": "pe1",
    "private-endpoint-ip": "10.0.0.2",
    "subnet-id": "ocid1.subnet.region1.sea.exampleuniqueID",
    "time-created": "2024-06-20T06:33:56.866000+00:00",
    "time-modified": "2024-06-20T06:36:01.820000+00:00"
  },
  "etag": "017e1d8f-1013-477a-86a4-d4d03b473f74"
}

Veja um exemplo de como obter detalhes de um objeto usando um dos FQDNs que você criou usando a CLI:

oci os object get --namespace 'MyNamespace' --bucket-name 'MyBucket' --name MyObjectName --endpoint https://pe1-MyNamespace.private.objectstorage.us-phoenix-1.oci.customer-oci.com

Melhores práticas

Para ajudar a garantir conectividade segura e privada com o Object Storage, recomendamos as seguintes melhores práticas ao usar pontos finais privados:

  • Você deve permitir a entrada para a porta 443 usando um dos seguintes métodos:
    • Adicionando uma regra de lista de segurança na lista de segurança padrão. Essa regra de segurança é aplicada a todas as VNICs na sub-rede. Consulte Listas de Segurança para obter mais informações.
    • Criando um grupo de segurança de rede (NSG) com a regra de lista de segurança de entrada e, em seguida, incluindo o NSG na criação do ponto final privado. Esse NSG só é aplicado ao ponto final privado. Consulte Grupos de Segurança de Rede para obter mais informações. Recomendamos usar esse método, pois ele fornece um nível maior de segurança.
  • Para evitar a exfiltração de dados entre tenancies, comece com um destino de acesso configurado, como namespace = your_namespace, compartimento = *, bucket = *. Essa configuração permite que o ponto final privado acesse todos os buckets em todos os compartimentos do seu namespace.
  • Para restringir ainda mais o acesso a apenas um ou mais buckets que podem ser acessados pelo ponto final privado, comece com um destino de acesso configurado, como namespace = <your_namespace>, compartimento = Compartment1, bucket = Bucket1. Você pode especificar até 10 buckets usando destinos de acesso.
  • Use políticas do IAM no bucket; portanto, as solicitações só serão autorizadas se forem originadas de uma VCN específica ou de um bloco CIDR dentro dessa VCN. Todos os outros acessos, inclusive pela internet, são bloqueados para esses buckets. Consulte Gerenciando Origens de Rede para obter mais informações.

    Veja a seguir uma política de amostra para restringir um bucket específico a uma origem de rede específica:

    allow group groupName to manage objects in tenancy where all {target.bucket.name = 'bucketName', request.networkSource.name = 'networkSourceName'}
  • Uma ou mais zonas de DNS privadas são criadas na VCN durante a criação de um ponto final privado. Esta zona de DNS privada ajuda a resolver o nome de domínio totalmente qualificado do ponto final privado para o endereço IP privado do ponto final privado. Ao usar pontos finais privados, recomendamos não alterar entradas de DNS na zona de DNS privada da VCN. A alteração desses dados pode afetar o comportamento do tráfego e das solicitações que fluem pelo ponto final privado.
  • Para excluir uma sub-rede ou VCN que contenha um ponto final privado, recomendamos que você exclua o ponto final privado antes de excluir a sub-rede ou a VCN.