Apresentando namespaces regionais de conta para buckets de uso geral do Amazon S3


Apresentando namespaces regionais de conta para buckets de uso geral do Amazon S3

Hoje estamos anunciando um novo recurso do Serviço de armazenamento simples da Amazon (Amazon S3) você pode usar para criar buckets de uso geral no namespace regional de sua própria conta, simplificando a criação e o gerenciamento de buckets à medida que suas necessidades de armazenamento de dados aumentam em tamanho e escopo. Você pode criar nomes de buckets de uso geral em várias regiões da AWS com a garantia de que os nomes de buckets desejados estarão sempre disponíveis para uso.

Com esse recurso, você pode nomear e criar buckets de uso geral de maneira previsível no namespace regional de sua própria conta, anexando o sufixo exclusivo da sua conta ao nome do bucket solicitado. Por exemplo, posso criar o bucket mybucket-123456789012-us-east-1-an no namespace regional da minha conta. mybucket é o prefixo do nome do bucket que especifiquei e adiciono o sufixo regional da minha conta ao nome do bucket solicitado: -123456789012-us-east-1-an. Se outra conta tentar criar buckets usando o sufixo da minha conta, suas solicitações serão rejeitadas automaticamente.

Suas equipes de segurança podem usar AWS Identification and Entry Administration (AWS IAM) políticas e Organizações AWS políticas de controle de serviço para garantir que seus funcionários criem apenas buckets no namespace regional da conta usando o novo s3:x-amz-bucket-namespace chave de condição, ajudando as equipes a adotar o namespace regional da conta em toda a sua organização.

Crie seu bucket S3 com namespace regional da conta em ação

Para começar, escolha Criar intervalo no Console Amazon S3. Para criar seu bucket no namespace regional da sua conta, escolha Namespace regional da conta. Se você escolher esta opção, poderá criar seu bucket com qualquer nome exclusivo para sua conta e região.

Essa configuração oferece suporte a todos os mesmos recursos dos buckets de uso geral no namespace world. A única diferença é que somente sua conta pode usar nomes de bucket com o sufixo da sua conta. O prefixo do nome do bucket e o sufixo regional da conta combinados devem ter entre 3 e 63 caracteres.

Usando o Interface de linha de comando da AWS (AWS CLI)você pode criar um bucket com namespace regional de conta especificando o x-amz-bucket-namespace:account-regional cabeçalho da solicitação e fornecendo um nome de intervalo compatível.

$ aws s3api create-bucket --bucket mybucket-123456789012-us-east-1-an 
   --bucket-namespace account-regional 
   --region us-east-1

Você pode usar o SDK da AWS para Python (Boto3) para criar um bucket com namespace regional de conta usando CreateBucket Solicitação de API.

import boto3

class AccountRegionalBucketCreator:
    """Creates S3 buckets utilizing account-regional namespace characteristic."""
    
    ACCOUNT_REGIONAL_SUFFIX = "-an"
    
    def __init__(self, s3_client, sts_client):
        self.s3_client = s3_client
        self.sts_client = sts_client
    
    def create_account_regional_bucket(self, prefix):
        """
        Creates an account-regional S3 bucket with the required prefix.
        Resolves caller AWS account ID utilizing the STS GetCallerIdentity API.
        Format: ---an
        """
        account_id = self.sts_client.get_caller_identity()('Account')
        area = self.s3_client.meta.region_name
        bucket_name = self._generate_account_regional_bucket_name(
            prefix, account_id, area
        )
        
        params = {
            "Bucket": bucket_name,
            "BucketNamespace": "account-regional"
        }
        if area != "us-east-1":
            params("CreateBucketConfiguration") = {
                "LocationConstraint": area
            }
        
        return self.s3_client.create_bucket(**params)
    
    def _generate_account_regional_bucket_name(self, prefix, account_id, area):
        return f"{prefix}-{account_id}-{area}{self.ACCOUNT_REGIONAL_SUFFIX}"


if __name__ == '__main__':
    s3_client = boto3.consumer('s3')
    sts_client = boto3.consumer('sts')
    
    creator = AccountRegionalBucketCreator(s3_client, sts_client)
    response = creator.create_account_regional_bucket('test-python-sdk')
    
    print(f"Bucket created: {response}")

Você pode atualizar sua infraestrutura como ferramentas de código (IaC), como AWS CloudFormationpara simplificar a criação de buckets no namespace regional da sua conta. AWS CloudFormation oferece pseudoparâmetros, AWS::AccountId e AWS::Areafacilitando a construção Modelos CloudFormation que criam intervalos de namespace regionais de conta.

O exemplo a seguir demonstra como você pode atualizar seus modelos existentes do CloudFormation para começar a criar buckets no namespace regional da sua conta:

BucketName: !Sub "amzn-s3-demo-bucket-${AWS::AccountId}-${AWS::Area}-an"
BucketNamespace: "account-regional"

Alternativamente, você também pode usar o BucketNamePrefix propriedade para atualizar seu modelo CloudFormation. Ao usar o BucketNamePrefixvocê poderá fornecer apenas a parte definida pelo cliente do nome do bucket e, em seguida, ele adicionará automaticamente o sufixo do namespace regional da conta com base na conta da AWS solicitante e na região especificada.

BucketNamePrefix: 'amzn-s3-demo-bucket'
BucketNamespace: "account-regional"

Usando essas opções, você pode criar um modelo personalizado do CloudFormation para criar facilmente buckets de uso geral no namespace regional da sua conta.

Coisas para saber

Você não pode renomear seus buckets globais existentes para nomes de bucket com namespace regional de conta, mas pode criar novos buckets de uso geral no namespace regional de sua conta. Além disso, o namespace regional da conta só é compatível com buckets de uso geral. Os buckets de tabela e de vetor do S3 já existem em um namespace no nível da conta e os buckets de diretório do S3 existem em um namespace zonal.

Para saber mais, visite Namespaces para buckets de uso geral no Guia do usuário do Amazon S3.

Agora disponível

A criação de buckets de uso geral no namespace regional da sua conta no Amazon S3 agora está disponível em 37 regiões da AWS, incluindo as regiões AWS China e AWS GovCloud (EUA). Você pode criar buckets de uso geral no namespace regional da sua conta sem custo adicional.

Experimente no Console Amazon S3 hoje e envie comentários para AWS re:Put up para Amazon S3 ou por meio de seus contatos habituais do AWS Assist.

Channy

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *