Fazer solicitações - Amazon Simple Storage Service

Fazer solicitações

O Amazon S3 é um serviço REST. Você pode enviar solicitações para o Amazon S3 usando a API REST ou as bibliotecas wrapper do AWS SDK (consulte Código de exemplo e bibliotecas) que envolvem a API REST estrutural do Amazon S3, simplificando as tarefas de programação.

Cada interação com o Amazon S3 é autenticada ou anônima. A autenticação é um processo de verificação da identidade do solicitante que está tentando acessar um produto da Amazon Web Services (AWS). As solicitações autenticadas devem incluir um valor de assinatura que autentique o remetente da solicitação. O valor da assinatura é, em parte, gerado a partir das chaves de acesso da AWS do solicitante (ID de chave de acesso e chave de acesso secreta). Para obter mais informações sobre a obtenção de chaves de acesso, consulte Como obter credenciais de segurança? no Referência geral da AWS.

Se você estiver usando o AWS SDK, as bibliotecas calcularão a assinatura a partir das chaves fornecidas. No entanto, se fizer chamadas diretas da API REST no aplicativo, você deverá escrever o código para calcular a assinatura e adicioná-la à solicitação.

Sobre as chaves de acesso

As seções a seguir avaliam os tipos de chaves de acesso que você pode usar para fazer solicitações autenticadas.

Chaves de acesso da Conta da AWS

As chaves de acesso da conta fornecem acesso total aos recursos da AWS que pertencem à conta. Veja a seguir exemplos de chaves de acessos:

  • ID de chave de acesso (uma string de 20 caracteres alfanuméricos). Por exemplo: AKIAIOSFODNN7EXAMPLE

  • Chave de acesso secreta (uma string de 40 caracteres). Por exemplo: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

O ID de chave de acesso identifica uma Conta da AWS de maneira única. Use essas chaves de acesso para enviar solicitações autenticadas para o Amazon S3.

Chaves de acesso do usuário do IAM

Você pode criar uma Conta da AWS para sua empresa. No entanto, podem existir vários funcionários na organização que precisam de acesso aos recursos da AWS da organização. Compartilhar as chaves de acesso da Conta da AWS reduz a segurança e criar Contas da AWS individuais para cada funcionário pode não ser prático. Além disso, não é fácil compartilhar recursos como buckets e objetos, pois eles pertencem a contas diferentes. Para compartilhar recursos, você deve conceder permissões, o que gera trabalho adicional.

Em tais cenários, use o AWS Identity and Access Management (IAM) para criar usuários em sua Conta da AWS com suas próprias chaves de acesso e anexe políticas de usuário do IAM que concedam as permissões de acesso aos recursos apropriados para esses usuários. Para gerenciar melhor esses usuários, o IAM permite que você crie grupos de usuários e conceda permissões no nível de grupo que se aplicam a todos os usuário do grupo.

Esses usuários são conhecidos como usuários do IAM criados e gerenciados dentro da AWS. A conta pai controla a capacidade que um usuário tem de acessar a AWS. Quaisquer recursos que um usuário do IAM cria estão sob o controle da Conta da AWS pai e são pagos por ela. Esses usuários do IAM podem enviar solicitações autenticadas para o Amazon S3 usando as próprias credenciais de segurança. Para obter mais informações sobre a criação e o gerenciamento de usuário em sua Conta da AWS, acesse a página de detalhes do produto do AWS Identity and Access Management.

Credenciais de segurança temporárias

Além de criar usuários do IAM com suas próprias chaves de acesso, o IAM também permite que você conceda credenciais de segurança temporárias (chaves de acesso temporárias e um token de segurança) a qualquer usuário do IAM permitindo que eles acessem serviços e recursos da AWS. Você também pode gerenciar usuários no sistema fora da AWS. Eles são conhecidos como usuários federados. Além disso, usuários podem ser aplicações criadas para acessar os recursos da AWS.

O IAM fornece a API do AWS Security Token Service para a solicitação de credenciais de segurança temporárias. Use a API do AWS STS ou o AWS SDK para solicitar essas credenciais. A API retorna as credenciais de segurança temporárias (ID de chave de acesso e chave de acesso secreta) e um token de segurança. Essas credenciais são válidas apenas pela duração especificada ao solicitá-las. Use o ID de chave de acesso e a chave secreta da mesma forma que os usa ao enviar solicitações usando a Conta da AWS ou as chaves de acesso do usuário do IAM. Além disso, é necessário incluir o token em cada solicitação enviada para o Amazon S3.

Um usuário do IAM pode solicitar essas credenciais de segurança temporárias para seu próprio uso ou enviá-las para usuários federados ou aplicações. Ao solicitar credenciais de segurança temporárias para usuários federados, você deve fornecer um nome de usuário e uma política do IAM definindo as permissões que deseja associar a essas credenciais. O usuário federado não pode obter mais permissões que o usuário pai do IAM que solicitou as credenciais temporárias.

Use as credenciais de segurança temporárias para fazer solicitações ao Amazon S3. As bibliotecas de API calculam o valor de assinatura necessário usando essas credenciais para autenticar sua solicitação. Se você enviar solicitações usando credenciais vencidas, o Amazon S3 negará a solicitação.

Para obter informações sobre a assinatura de solicitações usando credenciais de segurança temporárias nas solicitações da API REST, consulte Assinar e autenticar as solicitações REST. Para obter informações sobre o envio de solicitações usando AWS SDKs, consulte Fazer solicitações usando os AWS SDKs.

Para obter mais informações sobre o suporte do IAM para credenciais de segurança temporárias, consulte Credenciais de segurança temporárias no Manual do usuário do IAM.

Para maior segurança, é possível exigir autenticação multifator (MFA) ao acessar os recursos do Amazon S3 configurando uma política do bucket. Para mais informações, consulte Exigir MFA. Depois de exigir a MFA para acesso aos recursos do Amazon S3, a única maneira de acessar esses recursos é fornecendo credenciais temporárias criadas com uma chave MFA. Para obter mais informações, consulte a página de detalhes do AWS Multi-Factor Authentication e Configuração do acesso à API com proteção MFA no Manual do usuário do IAM.

Endpoints de solicitações

Envie solicitações REST para o endpoint predefinido do serviço. Para obter uma lista de todos os serviços da AWS Endpoints os respectivos endpoints, acesse Regiões e endpoints na Referência geral da AWS.