API de Compatibilidade com Amazon S3 do Object Storage

Saiba como usar a API de Compatibilidade com Amazon S3 do Oracle Cloud Infrastructure, na qual você pode usar as ferramentas Amazon S3 existentes para trabalhar com o Object Storage.

Usando a API de Compatibilidade com o Amazon S3, os clientes podem continuar usando suas ferramentas do Amazon S3 existentes (por exemplo, clientes SDK) e fazer alterações mínimas em seus aplicativos para trabalhar com o serviço Object Storage. Os conjuntos de dados da API de Compatibilidade com Amazon S3 e do serviço Object Storage são congruentes. Se dados forem gravados no serviço Object Storage usando a API de Compatibilidade com Amazon S3, eles poderão ser lidos depois usando a API nativa do serviço Object Storage e vice-versa.

Para obter informações sobre como o serviço Object Storage suporta a API de Compatibilidade com Amazon S3, consulte Suporte à API de Compatibilidade com Amazon S3.

Para obter informações sobre como o serviço Object Storage fornece suporte a API para API de Compatibilidade com Amazon S3 e API Swift, consulte Compartimentos para as APIs Swift e de Compatibilidade com Amazon S3

Diferenças entre a API do Object Storage e a API de Compatibilidade com Amazon S3

O serviço de Armazenamento de Objetos fornecido pelo Oracle Cloud Infrastructure e pelo Amazon S3 usa conceitos e terminologia semelhantes. Em ambos os casos, os dados são armazenados como objetos em buckets. As diferenças estão na implementação de recursos e ferramentas para trabalhar com objetos.

A seguir estão as diferenças entre as duas tecnologias de armazenamento:

  • Compartimentos

    O Amazon S3 não usa compartimentos. Por padrão, os buckets criados usando a API de Compatibilidade com Amazon S3 ou a API Swift são criados no compartimento raiz da tenancy do Oracle Cloud Infrastructure. Em vez disso, você pode designar outro compartimento para a API de Compatibilidade com Amazon S3 ou a API Swift para criar buckets nele.

  • Namespace de bucket global

    O serviço Object Storage não usa um namespace de bucket global. O namespace do Object Storage serve como o contêiner de nível superior para todos os buckets e objetos. No momento da criação da conta, cada tenant do Oracle Cloud Infrastructure recebe um nome de namespace exclusivo e imutável do serviço Object Storage gerado pelo sistema. O namespace abrange todos os compartimentos dentro de uma região. Você controla os nomes dos buckets, mas eles devem ser exclusivos em um namespace. Embora o namespace seja específico da região, o próprio nome do namespace é o mesmo em todas as regiões. Você pode ter um bucket chamado MyBucket na região Oeste dos EUA (Phoenix) e um bucket chamado MyBucket na região Centro da Alemanha (Frankfurt).

  • Criptografia

    Por padrão, o serviço Object Storage criptografa todos os dados em repouso. A criptografia não pode ser ativada ou desativada usando a API.

  • Listas de Controle de Acesso (ACLs) em Nível de Objeto

    O Oracle Cloud Infrastructure não usa ACLs para objetos. Em vez disso, um administrador precisa configurar grupos , compartimentos e políticas  que controlam quais usuários podem acessar quais serviços, quais recursos e o tipo de acesso. Por exemplo, as políticas controlam quem pode criar usuários e grupos, criar buckets, fazer download de objetos e gerenciar regras e políticas relacionadas ao serviço Object Storage.

Para obter mais informações, consulte o Visão Geral.

Pré-requisitos da API de Compatibilidade com Amazon S3

Para ativar o acesso do aplicativo do Amazon S3 para o serviço Object Storage, você precisa configurar o acesso ao Oracle Cloud Infrastructure e modificar o aplicativo conforme descrito nas seções a seguir.

Configurando o Acesso ao Oracle Cloud Infrastructure

  1. Inscreva-se no Oracle Cloud Infrastructure e obtenha um namespace exclusivo.
  2. Qualquer usuário da API do Amazon S3 Compatibility com o Object Storage precisa de permissão para trabalhar com o serviços. Se você não tiver permissão, entre em contato com o administrador. Para obter informações básicas sobre políticas, consulte Como as Políticas Funcionam. Para políticas que permitem o uso do Object Storage, consulte Políticas Comuns e a Referência de Políticas.
  3. Use uma chave secreta existente ou crie uma Chave Secreta do Cliente. Uma Chave Secreta do Cliente consiste em um par de Chave de Acesso/Chave Secreta. Consulte Como Trabalhar com Chaves Secretas do Cliente para obter detalhes. Para usar ou criar o par de chaves:
    • Para usar uma Chave Secreta do Cliente existente, você já deve saber a Chave Secreta. Por motivos de segurança, você não pode recuperar uma Chave Secreta após a geração. Para mostrar ou copiar a Chave de Acesso: No menu de navegação, selecione o menu Perfil Ícone do menu Perfil e selecione Definições do usuário. No lado esquerdo da página, selecione Chaves Secretas do Cliente. Passe o cursor do mouse sobre a Chave de Acesso associada ao Nome de uma chave Secreta do Cliente específica e selecione Copiar.
    • Para criar uma Chave Secreta do Cliente usando a Console, consulte Para criar uma chave secreta do cliente.
    • Para criar uma Chave Secreta do Cliente usando a CLI, consulte oci iam customer-secret-key create.

Modificando Seu Aplicativo

  1. Configure um novo ponto final para o aplicativo que inclua o nome do namespace e o identificador da região.
    A seguinte sintaxe é suportada:
    • URL de estilo de host virtual: https://vhcompat.objectstorage.<region>.oci.customer-oci.com
    • Acesso ao estilo de caminho: https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com
  2. Defina a região do destino como uma das regiões do Oracle Cloud Infrastructure.
    Importante

    Se o seu aplicativo não suportar a definição do identificador da região para o identificador correto do Oracle Cloud Infrastructure, defina a região como us-east-1 ou deixe-a em branco. Utilizando essa configuração, você só pode usar a API de Compatibilidade com Amazon S3 na sua região local do Oracle Cloud Infrastructure. Se for possível definir manualmente a região, você poderá usar o aplicativo em qualquer região do Oracle Cloud Infrastructure.
  3. Configure o aplicativo para usar a chave Secreta do Cliente.
    A Chave Secreta do Cliente consiste em uma Chave de Acesso e uma Chave Secreta. Essas duas chaves devem ser fornecidas ao aplicativo.
  4. O seu aplicativo pode usar URLs de estilo de caminho ou de estilo hospedado virtual. A seguinte sintaxe é suportada:
    A seguinte sintaxe é suportada:
    • URL de estilo de host virtual: https://<bucket_name>.vhcompat.objectstorage.<region>.oci.customer-oci.com/<object_name>
    • Acesso ao estilo de caminho: https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com/<bucket_name>/<object name>
Observação

Não há suporte para o AWS Signature Versão 2 (SigV2):

Agora você pode usar a API de Compatibilidade com Amazon S3 para acessar o serviço Object Storage no Oracle Cloud Infrastructure.