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.

Observação

A API de Compatibilidade com Amazon S3 só aceita URLs no estilo de caminho. Não há suporte para URLs com estilo V2 (hospedado virtual).

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 Object Storage fornece suporte à API para a API de Compatibilidade com Amazon S3 e a API Swift, consulte Compartimentos para as APIs de Compatibilidade com Amazon S3 e Swift

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

O Serviço Object Storage fornecido pelo Oracle Cloud Infrastructure e o Amazon S3 utilizam 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 políticas e regras relacionadas ao serviço Object Storage.

Para obter mais informações, consulte 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 de Compatibilidade com o Amazon S3 com o serviço Object Storage precisa ter permissão para trabalhar com o serviço. 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 serviço 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, em seguida, selecione Definições do usuário ou Meu perfil, dependendo da opção que você vir. 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 (Command Line Interface), 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. Use a seguinte sintaxe:

    https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com
  2. Defina a região de 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. Inclua o acesso baseado em caminho no seu aplicativo. Use a seguinte sintaxe:

    https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com/{bucket}
Observação

Os seguintes itens não são suportados:
  • Acesso ao estilo do host virtual

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