Cerca de 10 minutos

Como usar o Aktar com Amazon S3

O Amazon S3 é o armazenamento de objetos original e funciona com a predefinição Amazon S3 do Aktar. O único ponto que exige atenção é o acesso público: o S3 bloqueia esse acesso por padrão, então você precisa adicionar uma bucket policy para leitura pública ou colocar o CloudFront na frente do bucket.

O que você precisa

  • Uma conta na AWS
  • Permissão para criar buckets S3 e usuários IAM
  • O Aktar instalado no seu Mac

Passo a passo

  1. 1

    Crie um bucket

    No console do S3, clique em Create bucket, escolha um nome único globalmente e a região mais próxima de você, por exemplo eu-central-1. Você pode manter a propriedade de objetos padrão "Bucket owner enforced": o Aktar não usa ACLs.

  2. 2

    Libere a leitura pública

    Opção A, bucket policy: na aba Permissions do bucket, desative as configurações de "Block public access" que bloqueiam bucket policies públicas e depois adicione esta bucket policy (substitua YOUR-BUCKET):

    {
      "Version": "2012-10-17",
      "Statement": [{
        "Sid": "PublicRead",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::YOUR-BUCKET/*"
      }]
    }

    Opção B, CloudFront: mantenha o bucket privado e crie uma distribuição do CloudFront com o bucket como origem (usando Origin Access Control). Assim você tem HTTPS em um domínio personalizado e cache.

  3. 3

    Crie um usuário IAM para o Aktar

    No IAM, crie um usuário e anexe uma política que permita apenas o que o Aktar precisa nesse bucket:

    {
      "Version": "2012-10-17",
      "Statement": [
        { "Effect": "Allow", "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::YOUR-BUCKET" },
        { "Effect": "Allow",
          "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
          "Resource": "arn:aws:s3:::YOUR-BUCKET/*" }
      ]
    }

    Depois crie uma access key para o usuário e copie o Access Key ID e o Secret Access Key.

  4. 4

    Adicione o destino no Aktar

    Em Settings → Destinations → Add Destination, escolha Amazon S3 e informe os valores abaixo. O endpoint e a região precisam corresponder à região do bucket.

  5. 5

    Teste e salve

    Clique em Test Connection para confirmar que o bucket aceita gravação e que a URL pública entrega os arquivos, depois clique em Save.

Configurações no Aktar

Preencha estes valores em Settings → Destinations → Add Destination. Os nomes dos campos são os mesmos do app.

CampoValor de exemplo
ProviderAmazon S3
Endpointhttps://s3.eu-central-1.amazonaws.comUse a região do seu bucket.
Regioneu-central-1
Access Key IDAKIA…Do usuário IAM.
Secret Access Key••••••••
Bucketyour-bucket
Public Base URLyour-bucket.s3.eu-central-1.amazonaws.comOu o seu domínio do CloudFront.

Dicas

  • Prefira o CloudFront com um domínio personalizado se você compartilha links publicamente: você ganha cache e pode manter o próprio bucket privado.
  • Restrinja a política IAM a um único bucket. O Aktar nunca precisa de permissões para a conta inteira.
  • Escolha uma região próxima de você para envios mais rápidos, e próxima do seu público se você não usa CDN.

Solução de problemas

O Test Connection mostra um erro de região ou de redirecionamento

O endpoint e a região precisam corresponder à região onde o bucket foi criado, por exemplo https://s3.eu-central-1.amazonaws.com com eu-central-1.

Os envios falham com Access Denied

O usuário IAM precisa de s3:PutObject em YOUR-BUCKET/* e de s3:ListBucket no próprio bucket.

Os links retornam 403

A bucket policy está faltando ou ainda está bloqueada pelo "Block public access", ou o CloudFront não consegue ler o bucket. Veja erros de Access Denied.

Ainda com problemas?Veja as perguntas frequentes ou pergunte no GitHub.