Armazenamento S3 | Criar - Referência avançada de tipo de alteração do AMS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Armazenamento S3 | Criar

Crie um bucket Amazon S3 para armazenamento em nuvem.

Classificação completa: Implantação | Componentes avançados de pilha | Armazenamento S3 | Criar

Detalhes do tipo de alteração

ID do tipo de alteração

ct-1a68ck03fn98r

Versão atual

5,0

Duração esperada da execução

60 minutos

Aprovação da AWS

Obrigatório

Aprovação do cliente

Não obrigatório

Modo de execução

Automatizado

Informações adicionais

Crie armazenamento S3

Captura de tela desse tipo de alteração no console AMS:

Console interface showing details for creating an Amazon S3 bucket, including ID and execution mode.

Como funciona:

  1. Navegue até a página Criar RFC: No painel de navegação esquerdo do console AMS, clique RFCspara abrir a página da RFCs lista e, em seguida, clique em Criar RFC.

  2. Escolha um tipo de alteração popular (CT) na visualização padrão Procurar tipos de alteração ou selecione uma CT na visualização Escolher por categoria.

    • Navegar por tipo de alteração: você pode clicar em um CT popular na área de criação rápida para abrir imediatamente a página Executar RFC. Observe que você não pode escolher uma versão mais antiga do CT com a criação rápida.

      Para classificar CTs, use a área Todos os tipos de alteração na exibição Cartão ou Tabela. Em qualquer exibição, selecione uma CT e clique em Criar RFC para abrir a página Executar RFC. Se aplicável, a opção Criar com uma versão mais antiga aparece ao lado do botão Criar RFC.

    • Escolha por categoria: selecione uma categoria, subcategoria, item e operação e a caixa de detalhes do CT será aberta com a opção Criar com uma versão mais antiga, se aplicável. Clique em Criar RFC para abrir a página Executar RFC.

  3. Na página Executar RFC, abra a área do nome do CT para ver a caixa de detalhes do CT. É necessário um Assunto (preenchido se você escolher seu CT na visualização Procurar tipos de alteração). Abra a área Configuração adicional para adicionar informações sobre o RFC.

    Na área Configuração de execução, use as listas suspensas disponíveis ou insira valores para os parâmetros necessários. Para configurar parâmetros de execução opcionais, abra a área Configuração adicional.

  4. Ao terminar, clique em Executar. Se não houver erros, a página RFC criada com sucesso será exibida com os detalhes da RFC enviada e a saída inicial de execução.

  5. Abra a área Parâmetros de execução para ver as configurações que você enviou. Atualize a página para atualizar o status de execução do RFC. Opcionalmente, cancele a RFC ou crie uma cópia dela com as opções na parte superior da página.

Como funciona:

  1. Use o Inline Create (você emite um create-rfc comando com todos os parâmetros de RFC e execução incluídos) ou o Template Create (você cria dois arquivos JSON, um para os parâmetros RFC e outro para os parâmetros de execução) e emita o create-rfc comando com os dois arquivos como entrada. Ambos os métodos são descritos aqui.

  2. Envie o aws amscm submit-rfc --rfc-id ID comando RFC: com o ID RFC retornado.

    Monitore o aws amscm get-rfc --rfc-id ID comando RFC:.

Para verificar a versão do tipo de alteração, use este comando:

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID

CRIAÇÃO EM LINHA:

Execute o comando create RFC com os parâmetros de execução fornecidos em linha (aspas de escape ao fornecer parâmetros de execução em linha) e, em seguida, envie a ID de RFC retornada. Por exemplo, você pode substituir o conteúdo por algo assim:

Exemplo com somente os parâmetros necessários, versão 5.0:

aws amscm create-rfc --title "my-s3-bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\"}}"

Exemplo com todos os parâmetros, versão 5.0:

aws amscm create-rfc --title "My S3 Bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\",\"ServerSideEncryption\":\"KmsManagedKeys\",\"KMSKeyId\":\"arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4\",\"Versioning\":\"Enabled\",\"IAMPrincipalsRequiringReadObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"IAMPrincipalsRequiringWriteObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"ServicesRequiringReadObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"ServicesRequiringWriteObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"EnforceSecureTransport\":true,\"AccessAllowedIpRanges\":[\"1.0.0.0/24\",\"2.0.0.0/24\"]}}"

CRIAÇÃO DE MODELO:

  1. Envie os parâmetros de execução do esquema JSON para esse tipo de alteração em um arquivo; este exemplo o chama de .json. CreateBucketParams

    aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateBucketParams.json
  2. Modifique e salve o CreateBucketParams arquivo. Observe que você não precisa usar o ID da sua conta noBucketName, mas isso pode facilitar a localização do bucket (lembre-se de que os nomes dos buckets devem ser exclusivos na conta em todas as regiões e não podem ter letras maiúsculas). Se estiver usando isso para criar um tier-and-tie WordPress site, talvez você queira indicar essa finalidade ao definir BucketName o.

    Exemplo com acesso de leitura:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsWithReadObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }

    Exemplo com acesso de gravação:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }

    Para ver a política resultante, consulteConcede acesso READ para um usuário ou uma função do IAM.

    Exemplo com acesso de leitura ao serviço:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }

    Para ver a política resultante, consulteConcede acesso WRITE para um usuário ou uma função do IAM.

    Exemplo com acesso de gravação ao serviço:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }

    Exemplo com impor transporte seguro:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "EnforceSecureTransport": "true" } }

    Para ver a política resultante, consulteUsos EnforceSecureTransport.

    Exemplo com limites de acesso ao bucket a partir de um conjunto de intervalos de IP:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "AccessAllowedIpRanges": [ "1.2.3.0/24", "2.3.4.0/24" ] } }

    Para ver a política resultante, consulteLimita o acesso ao intervalo de IP.

  3. Envie o arquivo JSON do modelo RFC para um arquivo chamado CreateBucketRfc .json:

    aws amscm create-rfc --generate-cli-skeleton > CreateBucketRfc.json
  4. Modifique e salve o CreateBucketRfc arquivo.json. Por exemplo, você pode substituir o conteúdo por algo assim:

    { "ChangeTypeVersion": "5.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Bucket-Create-RFC", "RequestedStartTime": "2016-12-05T14:20:00Z", "RequestedEndTime": "2016-12-05T16:20:00Z" }
  5. Crie o RFC, especificando o CreateBucketRfc arquivo e o CreateBucketParams arquivo:

    aws amscm create-rfc --cli-input-json file://CreateBucketRfc.json --execution-parameters file://CreateBucketParams.json

    Você recebe a ID da nova RFC na resposta e pode usá-la para enviar e monitorar a RFC. Até que você o envie, o RFC permanece no estado de edição e não inicia.

  6. Para visualizar o bucket do S3 ou carregar objetos nele, veja o resultado da execução: use o stack_id para visualizar o bucket no console do Cloud Formation, use o nome do bucket do S3 para visualizar o bucket no console do S3.

    nota

    Ao fazer o upload de objetos de uma conta não proprietária, é obrigatório especificar a bucket-owner-full-control ACL, que concede à conta do proprietário do bucket controle total sobre todos os objetos no bucket. Exemplo:

    aws s3api put-object --acl bucket-owner-full-control --bucket amzn-s3-demo-bucket --key data.txt --body /tmp/data.txt
nota

Este passo a passo descreve e fornece exemplos de comandos para criar um bucket de armazenamento Amazon S3 usando a versão 5.0 do tipo de alteração (ct-1a68ck03fn98r). Essa versão não permite que você crie um bucket público do S3, somente o privado é permitido. Para criar um bucket de armazenamento público do S3, use uma versão anterior do tipo de alteração e especifique PublicReado AccessControlparâmetro.

Além disso, essa explicação passo a passo não concede as permissões necessárias para excluir objetos com controle de versão.

Para saber mais sobre o Amazon S3, consulte a documentação do Amazon Simple Storage Service.

Exemplo de políticas resultantes do S3 Storage Bucket

Dependendo de como você criou seu bucket de armazenamento do Amazon S3, você criou políticas. Esses exemplos de políticas correspondem a vários cenários de criação do Amazon S3 fornecidos em. Criando um bucket S3 com a CLI

Concede acesso READ para um usuário ou uma função do IAM

O exemplo de política resultante concede acesso READ aos objetos no bucket para um usuário ou uma função do IAM:

{ "Sid": "AllowBucketReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.BUCKET_NAME" }, { "Sid": "AllowObjectReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

Para obter os parâmetros de execução para criar essa política com o bucket de armazenamento S3 Create change type, consulte Criando um bucket S3 com a CLI

Concede acesso WRITE para um usuário ou uma função do IAM

O exemplo de política resultante a seguir concede acesso WRITE aos objetos no bucket para um usuário ou uma função do IAM. Essa política não concede as permissões necessárias para excluir objetos com controle de versão.

{ "Sid": "AllowObjectWriteActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

Para obter os parâmetros de execução para criar essa política com o bucket de armazenamento S3 Create change type, consulte Criando um bucket S3 com a CLI

Concede acesso READ para um serviço da AWS

O exemplo de política resultante concede acesso READ aos objetos no bucket para um serviço da AWS:

{ "Sid": "AllowBucketReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }, { "Sid": "AllowObjectReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

Para obter os parâmetros de execução para criar essa política com o bucket de armazenamento S3 Create change type, consulte Criando um bucket S3 com a CLI

Concede acesso WRITE para um serviço da AWS

O exemplo de política resultante a seguir concede acesso WRITE aos objetos no bucket para um serviço da AWS. Essa política não concede as permissões necessárias para excluir objetos com controle de versão.

{ "Sid": "AllowObjectWriteActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

Para obter os parâmetros de execução para criar essa política com o bucket de armazenamento S3 Create change type, consulte Criando um bucket S3 com a CLI

Usos EnforceSecureTransport

Exemplo de política resultante que impõe transporte seguro:

{ "Sid": "EnforceSecureTransport", "Effect": "Deny", "Principal": "*", "Action": "*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } }

Para obter os parâmetros de execução para criar essa política com o bucket de armazenamento S3 Create change type, consulte Criando um bucket S3 com a CLI

Limita o acesso ao intervalo de IP

Exemplo de política resultante que limita o acesso ao bucket a partir de um conjunto de intervalos de IP:

{ "Sid": "RestrictBasedOnIPRanges", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ “1.2.3.0/24", “2.3.4.0/24" ] } } }

Para obter os parâmetros de execução para criar essa política com o bucket de armazenamento S3 Create change type, consulte Criando um bucket S3 com a CLI

Parâmetros de entrada de execução

Para obter informações detalhadas sobre os parâmetros de entrada de execução, consulteEsquema para alteração do tipo ct-1a68ck03fn98r.

Exemplo: parâmetros obrigatórios

{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket" } }

Exemplo: Todos os parâmetros

{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket", "ServerSideEncryption": "KmsManagedKeys", "KMSKeyId": "arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4", "Versioning": "Enabled", "IAMPrincipalsRequiringReadObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "ServicesRequiringReadObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "EnforceSecureTransport": true, "AccessAllowedIpRanges": [ "1.0.0.0/24", "2.0.0.0/24" ], "Tags": [ "{\"Key\": \"foo\", \"Value\": \"bar\"}", "{ \"Key\": \"testkey\",\"Value\": \"testvalue\" }" ] } }