

# AWS PrivateLink para S3 on Outposts
<a name="s3-outposts-privatelink-interface-endpoints"></a>

O S3 no Outposts é compatível com o AWS PrivateLink, que fornece acesso direto de gerenciamento ao armazenamento do S3 no Outposts por meio de um endpoint privado na rede privada virtual. Isso permite que você simplifique a arquitetura de rede interna e realize operações de gerenciamento no armazenamento de objetos do Outposts usando endereços IP privados na nuvem privada virtual (VPC). Usar o AWS PrivateLink elimina a necessidade de usar endereços IP públicos ou servidores proxy.

Com o AWS PrivateLink para o Amazon S3 no Outposts, é possível provisionar *endpoints da VPC de interface* na nuvem privada virtual (VPC) para acessar as APIs de [gerenciamento de bucket](S3OutpostsAPI.md#S3OutpostsAPIsBucket) e [gerenciamento de endpoint](S3OutpostsAPI.md#S3OutpostsAPIs) do S3 no Outposts. Os endpoints da VPC de interface são diretamente acessíveis por aplicações implantadas na VPC ou no ambiente on-premises por meio da rede privada virtual (VPN) ou do AWS Direct Connect. Você pode acessar as APIs de gerenciamento de buckets e endpoints por meio do AWS PrivateLink. O AWS PrivateLink não é compatível com operações de [transferência de dados](S3OutpostsAPI.md#S3OutpostsAPIsObject) da API, como GET, PUT e APIs semelhantes. Essas operações já são transferidas de forma privada por meio da configuração do ponto de acesso e do endpoint do S3 no Outposts. Para obter mais informações, consulte [Redes para S3 on Outposts](S3OutpostsNetworking.md).

Os endpoints de interface são representados por uma ou mais interfaces de rede elástica (ENIs) que recebem endereços IP privados de sub-redes em sua VPC. As solicitações realizadas para endpoints de interface para o S3 on Outposts são encaminhadas automaticamente para as APIs de gerenciamento de buckets e endpoints do S3 on Outposts na rede da AWS. Você também pode acessar endpoints de interface em sua VPC via aplicações on-premises por meio do AWS Direct Connect ou da AWS Virtual Private Network (Site-to-Site VPN). Para obter mais informações sobre como conectar sua VPC à rede on-premises, consulte o [https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) e o [https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html). 

Os endpoints de interface encaminham as solicitações para APIs de gerenciamento de buckets e endpoints do S3 on Outposts pela rede da AWS e por meio do AWS PrivateLink, conforme ilustrado no diagrama a seguir.

![\[O diagrama de fluxo de dados mostra como os endpoints de interface encaminham as solicitações para APIs de gerenciamento de buckets e endpoints do S3 no Outposts.\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/s3-outposts/images/s3-outposts-interface-endpoints.png)


Para obter informações gerais sobre endpoints de interface, consulte [Endpoints da VPC de interface (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html) no *Manual do AWS PrivateLink*.

**Topics**
+ [Restrições e limitações](#s3-outposts-privatelink-restrictions)
+ [Acessar endpoints da interface do S3 on Outposts](#s3-outposts-accessing-s3-interface-endpoints)
+ [Atualizar uma configuração de DNS on-premises](#s3-outposts-updating-on-premises-dns-config)
+ [Criar um endpoint da VPC para o S3 on Outposts](#s3-outposts-creating-vpc)
+ [Criar políticas de bucket e políticas de endpoint da VPC para S3 on Outposts](#s3-outposts-creating-vpc-endpoint-policy)

## Restrições e limitações
<a name="s3-outposts-privatelink-restrictions"></a>

Quando você acessa as APIs de gerenciamento de buckets e endpoints do S3 on Outposts por meio de AWS PrivateLink, há limitações da VPC. Para obter mais informações, consulte [Propriedades e limitações de endpoints de interface](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) e [Cotas do AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-limits-endpoints.html) no *Guia do usuário do AWS PrivateLink*. 

Além disso, o AWS PrivateLink não oferece compatibilidade com:
+ [Endpoints do Federal Information Processing Standard (FIPS – Padrões Federais de Processamento de Informações](https://aws.amazon.com/compliance/fips/)
+ [APIs de transferência de dados do S3 on Outposts](S3OutpostsAPI.md#S3OutpostsAPIsObject); por exemplo, GET, PUT e operações de API de objetos semelhantes.
+ DNS privado

## Acessar endpoints da interface do S3 on Outposts
<a name="s3-outposts-accessing-s3-interface-endpoints"></a>

Para acessar APIs de gerenciamento de buckets e endpoints do S3 on Outposts usando o AWS PrivateLink, você *deve* atualizar as aplicações para usar nomes de DNS específicos de endpoint. Quando você cria um endpoint de interface, o AWS PrivateLink gera dois tipos de nome do S3 on Outposts específicos do endpoint: *regional* e *por zona*.
+ **Nomes de DNS regionais**: incluem um ID de endpoint da VPC exclusivo, um identificador de serviço, a Região da AWS e `vpce.amazonaws.com`; por exemplo, `vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com`.
+ **Nomes de DNS por zona**: incluem um ID de endpoint da VPC exclusivo, a zona de disponibilidade, um identificador de serviço, a Região da AWS e `vpce.amazonaws.com`; por exemplo, `vpce-1a2b3c4d-5e6f-us-east-1a.s3-outposts.us-east-1.vpce.amazonaws.com`. Você pode usar essa opção se sua arquitetura isola zonas de disponibilidade. Por exemplo, você pode usar nomes DNS por zona para contenção de falhas ou para reduzir os custos da transferência de dados regional.

**Importante**  
Os endpoints da interface do S3 no Outposts são resolvidos pelo domínio DNS público. O S3 no Outposts não é compatível com DNS privado. Use o parâmetro `--endpoint-url` para todas as APIs de gerenciamento de buckets e endpoints.

### Exemplos da AWS CLI
<a name="s3-outposts-privatelink-aws-cli-examples"></a>

Use os parâmetros `--region` e `--endpoint-url` para acessar as APIs de gerenciamento de buckets e endpoints por meio de endpoints de interface do S3 on Outposts. 

**Example : usar o URL do endpoint para listar buckets com a API de controle do S3**  
No exemplo a seguir, substitua a região `us-east-1`, o URL do endpoint da VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` e o ID da conta `111122223333` pelas informações apropriadas.  

```
aws s3control list-regional-buckets --region us-east-1 --endpoint-url https://vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com --account-id 111122223333
```

### AWSExemplos de SDK
<a name="s3-outposts-privatelink-aws-sdk-examples"></a>

Atualize seus SDKs para a versão mais recente e configure seus clientes para usar um URL de endpoint a fim de acessar a API de controle para endpoints de interface do S3 on Outposts.

------
#### [ SDK for Python (Boto3) ]

**Example : use um URL de endpoint para acessar a API de controle do S3**  
No exemplo a seguir, substitua a região `us-east-1` e o URL de endpoint da VPC `vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com` por informações apropriadas.   

```
control_client = session.client(
service_name='s3control',
region_name='us-east-1',
endpoint_url='https://vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com'
)
```
Para obter mais informações, consulte [AWS PrivateLink para Amazon S3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-privatelink.html) no *Guia do desenvolvedor do Boto3*.

------
#### [ SDK for Java 2.x ]

**Example : use um URL de endpoint para acessar a API de controle do S3**  
No exemplo a seguir, substitua o URL do endpoint da VPC `vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com` e a região `Region.US_EAST_1` por informações apropriadas.  

```
// control client
Region region = Region.US_EAST_1;
s3ControlClient = S3ControlClient.builder().region(region)
                                 .endpointOverride(URI.create("https://vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com"))
                                 .build()
```
Para obter mais informações, consulte [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3control/S3ControlClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3control/S3ControlClient.html) na *Referência de APIs do AWS SDK para Java*.

------

## Atualizar uma configuração de DNS on-premises
<a name="s3-outposts-updating-on-premises-dns-config"></a>

Ao usar nomes de DNS específicos do endpoint para acessar os endpoints de interface para as APIs de gerenciamento de buckets e endpoints do S3 on Outposts, você não precisa atualizar seu resolvedor de DNS on-premises. Você pode resolver o nome de DNS específico do endpoint com o endereço IP privado do endpoint de interface do domínio DNS público do S3 on Outposts. 

## Criar um endpoint da VPC para o S3 on Outposts
<a name="s3-outposts-creating-vpc"></a>

Para criar um endpoint da VPC de interface para S3 em Outposts, consulte [Criar um endpoint da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) no *Guia do AWS PrivateLink*.

## Criar políticas de bucket e políticas de endpoint da VPC para S3 on Outposts
<a name="s3-outposts-creating-vpc-endpoint-policy"></a>

É possível anexar uma política de endpoint ao endpoint da VPC que controla o acesso ao S3 on Outposts. Você também pode usar a condição `aws:sourceVpce` em políticas de bucket do S3 on Outposts para restringir o acesso a buckets específicos de determinado endpoint da VPC. Com as políticas de endpoint da VPC, você pode controlar o acesso às APIs de gerenciamento de buckets e endpoints do S3 on Outposts. Com as políticas de bucket, você pode controlar o acesso às APIs de gerenciamento de buckets do S3 on Outposts. No entanto, você não pode gerenciar o acesso a ações de objeto para o S3 on Outposts usando `aws:sourceVpce`.

As políticas de acesso para o S3 on Outposts especificam as seguintes informações: 
+ A entidade principal do AWS Identity and Access Management (IAM) para a qual as ações são permitidas ou negadas.
+ As ações de controle do S3 permitidas ou negadas.
+ Os recursos do S3 on Outposts nos quais as ações são permitidas ou negadas.

Os exemplos a seguir mostram políticas que restringem o acesso a um bucket ou a um endpoint. Para obter mais informações sobre conectividade de VPC, consulte [Network-to-VPC connectivity options](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) (Opções de conectividade entre rede e VPC) no whitepaper da AWS [Amazon Virtual Private Cloud Connectivity Options](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/welcome.html) (Opções de conectividade do Amazon Virtual Private Cloud).

**Importante**  
Ao aplicar as políticas de exemplo para endpoints da VPC descritas nesta seção, talvez você bloqueie o acesso ao bucket acidentalmente. As permissões de bucket que limitam o acesso do bucket às conexões originadas de seu endpoint da VPC podem bloquear todas as conexões ao bucket. Para obter informações sobre como corrigir esse problema, consulte [Minha política de bucket tem o ID da VPC ou do endpoint da VPC incorreto. Como corrigir a política para que eu possa acessar o bucket? na ](https://aws.amazon.com/premiumsupport/knowledge-center/s3-regain-access/)Central de conhecimento do *Suporte*.
Antes de usar a política de bucket de exemplo a seguir, substitua o ID do endpoint da VPC por um valor apropriado para o caso de uso. Caso contrário, não será possível acessar o bucket. 
Se a política permitir apenas o acesso a um bucket do S3 on Outposts por meio de um endpoint da VPC específico, ela desativará o acesso do console para esse bucket porque as solicitações do console não se originam do endpoint da VPC especificado.

**Topics**
+ [Exemplo: restringir o acesso a um bucket específico a partir de um endpoint da VPC](#privatelink-example-restrict-access-to-bucket)
+ [Exemplo: negar acesso usando um endpoint da VPC específico em uma política de bucket do S3 on Outposts](#s3-outposts-privatelink-example-deny-access-from-vpc-endpoint)

### Exemplo: restringir o acesso a um bucket específico a partir de um endpoint da VPC
<a name="privatelink-example-restrict-access-to-bucket"></a>

Você pode criar uma política de endpoint que restrinja o acesso apenas a buckets específicos do S3 on Outposts. A política a seguir restringe o acesso à ação GetBucketPolicy somente ao `example-outpost-bucket`. Para usar essa política, substitua os valores de exemplo por seus próprios valores. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "Policy1415115909151",
    "Statement": [
        {
            "Sid": "Access-to-specific-bucket-only",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": "s3-outposts:GetBucketPolicy",
            "Effect": "Allow",
            "Resource": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket"
        }
    ]
}
```

------

### Exemplo: negar acesso usando um endpoint da VPC específico em uma política de bucket do S3 on Outposts
<a name="s3-outposts-privatelink-example-deny-access-from-vpc-endpoint"></a>

A política de bucket do S3 on Outposts a seguir nega acesso a GetBucketPolicy no bucket do `example-outpost-bucket` por meio do endpoint da VPC `vpce-1a2b3c4d`.

A condição `aws:sourceVpce` especifica o endpoint e não requer um nome do recurso da Amazon (ARN) para o recurso de endpoint da VPC, apenas o ID do endpoint. Para usar essa política, substitua os valores de exemplo por seus próprios valores.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "Policy1415115909152",
    "Statement": [
        {
            "Sid": "Deny-access-to-specific-VPCE",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": "s3-outposts:GetBucketPolicy",
            "Effect": "Deny",
            "Resource": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpce": "vpce-1a2b3c4d"
                }
            }
        }
    ]
}
```

------