Gerenciar políticas de bucket para buckets de diretório - Amazon Simple Storage Service

Gerenciar políticas de bucket para buckets de diretório

Você pode adicionar, excluir, atualizar e visualizar políticas de bucket para buckets de diretório do Amazon S3 usando o console do Amazon S3 e os AWS SDKs. Para obter mais informações, consulte os tópicos a seguir. Para obter mais informações sobre as chaves de condição e ações do AWS Identity and Access Management (IAM) compatíveis com a classe S3 Express One Zone, consulte AWS Identity and Access Management (IAM) para a classe S3 Express One Zone. Para conferir exemplos de políticas para buckets de diretório, consulte Exemplos de políticas de bucket de diretório para a classe S3 Express One Zone.

Adicionar uma política de bucket

Para adicionar uma política de bucket a um bucket de diretório, você pode usar o console do Amazon S3, os SDKs da AWS ou a AWS CLI.

Para criar ou editar uma política de bucket
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação à esquerda, escolha Buckets.

  3. Escolha a guia Buckets de diretórios.

  4. Na lista Buckets de diretórios, escolha o nome do bucket no qual você deseja fazer upload de pastas ou arquivos.

  5. Escolha a aba Permissões.

  6. Em Bucket policy (Política de bucket), escolha Edit (Editar). A página Edit bucket policy (Editar política de bucket) é exibida.

  7. Para gerar uma política automaticamente, escolha Gerador de políticas.

    Se você escolher Policy generator (Gerador de políticas), o Gerador de Políticas da AWS será aberto em uma nova janela.

    Se você não quiser usar o gerador de políticas da AWS, poderá adicionar ou editar instruções JSON na seção Política.

    1. Na página Gerador de Políticas da AWS, em Selecionar tipo de política, escolha Política de bucket do S3.

    2. Adicione uma instrução inserindo as informações nos campos fornecidos e escolha Add Statement (Adicionar instrução). Repita esta etapa para todas as instruções que quiser adicionar. Para ter mais informações sobre esses campos, consulte a Referência de elementos de política JSON do IAM no Guia do usuário do IAM.

      nota

      Por conveniência, a página Editar política de bucket exibe o ARN do bucket (nome do recurso da Amazon) do bucket atual acima do campo de texto Política. Você pode copiar este ARN para usá-lo nas instruções da página do AWS Policy Generator.

    3. Depois de terminar de adicionar as instruções, escolha Generate Policy (Gerar política).

    4. Copie o texto da política gerada, escolha Close (Fechar) e retorne à página Edit bucket policy (Editar política de bucket) no console do Amazon S3.

  8. Na caixa Policy (Política), edite a política existente ou cole a política de bucket do Gerador de Políticas da AWS. Solucione avisos de segurança, erros, avisos gerais e sugestões antes de salvar a política.

    nota

    As políticas de bucket são limitadas a 20 KB.

  9. Escolha Save changes (Salvar alterações), o que levará você de volta à guia Permissions (Permissões).

SDK for Java 2.x

PutBucketPolicy AWS SDK for Java 2.x

public static void setBucketPolicy(S3Client s3Client, String bucketName, String policyText) { //sample policy text /** * policy_statement = { * 'Version': '2012-10-17', * 'Statement': [ * { * 'Sid': 'AdminPolicy', * 'Effect': 'Allow', * 'Principal': { * "AWS": "111122223333" * }, * 'Action': 's3express:*', * 'Resource': 'arn:aws:s3express:region:111122223333:bucket/bucket-base-name--azid--x-s3' * } * ] * } */ System.out.println("Setting policy:"); System.out.println("----"); System.out.println(policyText); System.out.println("----"); System.out.format("On Amazon S3 bucket: \"%s\"\n", bucketName); try { PutBucketPolicyRequest policyReq = PutBucketPolicyRequest.builder() .bucket(bucketName) .policy(policyText) .build(); s3Client.putBucketPolicy(policyReq); System.out.println("Done!"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Este exemplo mostra como adicionar uma política de bucket a um bucket de diretório usando a AWS CLI. Para usar o comando, substitua os espaços reservados para entrada do usuário por suas próprias informações.

aws s3api put-bucket-policy --bucket bucket-base-name--azid--x-s3 --policy file://bucket_policy.json

bucket_policy.json:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AdminPolicy", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3express*", "Resource": "arn:aws:s3express:us-west-2:111122223333:bucket/bucket-name--usw2-az1--x-s3" } ] }

Para obter mais informações, consulte put-bucket-policy na AWS Command Line Interface.

Visualizar uma política de bucket

Para visualizar uma política de um bucket de diretório, use os exemplos a seguir.

Este exemplo mostra como visualizar a política de bucket anexada a um bucket de diretório usando a AWS CLI. Para usar o comando, substitua os espaços reservados para entrada do usuário por suas próprias informações.

aws s3api get-bucket-policy --bucket bucket-base-name--azid--x-s3

Para obter mais informações, consulte get-bucket-policy na AWS Command Line Interface.

Excluir uma política de bucket

Para excluir uma política de um bucket de diretório, use os exemplos a seguir.

SDK for Java 2.x

DeleteBucketPolicy AWS SDK for Java 2.x

public static void deleteBucketPolicy(S3Client s3Client, String bucketName) { try { DeleteBucketPolicyRequest deleteBucketPolicyRequest = DeleteBucketPolicyRequest .builder() .bucket(bucketName) .build() s3Client.deleteBucketPolicy(deleteBucketPolicyRequest); System.out.println("Successfully deleted bucket policy"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); }

Este exemplo mostra como excluir uma política de bucket de um bucket de diretório usando a AWS CLI. Para usar o comando, substitua os espaços reservados para entrada do usuário por suas próprias informações.

aws s3api delete-bucket-policy --bucket bucket-base-name--azid--x-s3

Para obter mais informações, consulte delete-bucket-policy na AWS Command Line Interface.