Armazenamento de Objetos API de Compatibilidade com Amazon S3

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 serviç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 de API para a API de Compatibilidade com Amazon S3 e para a API Swift, consulte Compartimentos para as APIs de Compatibilidade com Amazon S3 e Swift

Diferenças entre a API do serviço 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 serviço 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 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, não é possível recuperar uma Chave Secreta após a geração. Para mostrar ou copiar a Chave de Acesso, abra o menu Perfil e clique em Definições do Usuário. No lado esquerdo da página, clique em Chaves Secretas do Cliente. Passe o mouse sobre a Chave de Acesso associada ao Nome de uma chave Secreta do Cliente específica e clique em 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 (Interface de Linha de Comando), consulte https://docs.oracle.com/iaas/tools/oci-cli/2.12.11/oci_cli_docs/cmdref/iam/customer-secret-key/create.html.

Modificando Seu Aplicativo

  1. Configure um novo ponto final para o aplicativo que inclua o nome do namespace e o identificador da região. Por exemplo:

    {object-storage-namespace}.compat.objectstorage..oraclecloud.com/{bucket}
  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. Use o acesso baseado em caminho no seu aplicativo, semelhante ao seguinte:

    {object-storage-namespace}.compat.objectstorage..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.