

# Configurar políticas do IAM para pontos de acesso do Object Lambda
<a name="olap-policies"></a>

**nota**  
Desde 7 de novembro de 2025, o S3 Object Lambda está disponível somente para clientes existentes que estão usando o serviço no momento, bem como para parceiros selecionados da Rede de Parceiros da AWS (APN). Para recursos semelhantes ao S3 Object Lambda, saiba mais aqui: [Amazon S3 Object Lambda availability change](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Os pontos de acesso do Amazon S3 são compatíveis com as políticas de recursos do AWS Identity and Access Management (IAM) que você pode usar para controlar o uso do ponto de acesso por recurso, usuário ou outras condições. Você pode controlar o acesso por meio de uma política de recursos opcional no ponto de acesso do Object Lambda ou uma política de recursos no ponto de acesso de suporte. Para obter um exemplo detalhado, consulte [Tutorial: Como transformar dados para sua aplicação com o S3 Object Lambda](tutorial-s3-object-lambda-uppercase.md) e [Tutorial: Detectar e editar dados PII com o S3 Object Lambda e o Amazon Comprehend](tutorial-s3-object-lambda-redact-pii.md). 

Os quatro recursos a seguir devem ter permissões concedidas para trabalhar com pontos de acesso do Object Lambda:
+ A identidade do IAM, como um usuário ou um perfil. Para obter mais informações sobre as identidades do IAM e as práticas recomendadas, consulte [Identidades do IAM (usuários, grupos de usuários e perfis)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) no *Guia do usuário do IAM*.
+ O ponto de acesso padrão conectado a uma fonte de dados subjacente, como um bucket do S3 ou um volume do Amazon FSx para OpenZFS. Quando você trabalha com pontos de acesso do Object Lambda, esse ponto de acesso padrão é conhecido como *ponto de acesso de suporte*.
+ O ponto de acesso do Object Lambda.
+ A função do AWS Lambda.

**Importante**  
Antes de salvar a política, solucione os avisos de segurança, os erros, os avisos gerais e as sugestões de AWS Identity and Access Management Access Analyzer. O IAM Access Analyzer executa verificações de política para validar sua política em relação à [gramática das políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) e às [práticas recomendadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) do IAM. Essas verificações geram descobertas e fornecem recomendações práticas que ajudam a criar políticas que sejam funcionais e estejam em conformidade com as práticas recomendadas de segurança.   
Para saber mais sobre a validação de políticas usando o IAM Access Analyzer, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do usuário do IAM*. Para visualizar uma lista de avisos, erros e sugestões retornados pelo IAM Access Analyzer, consulte [Referência de verificação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html).

Os seguintes exemplos de política assumem que você tem os seguintes recursos:
+ Um bucket do Amazon S3 com o seguinte nome do recurso da Amazon (ARN): 

  `arn:aws:s3:::{{amzn-s3-demo-bucket1}}`
+ Um ponto de acesso do Amazon S3 Standard nesse bucket com o seguinte ARN: 

  `arn:aws:s3:{{us-east-1}}:{{111122223333}}:accesspoint/{{my-access-point}}`
+ Um ponto de acesso do Object Lambda com o seguinte ARN: 

  `arn:aws:s3-object-lambda:{{us-east-1}}:{{111122223333}}:accesspoint/{{my-object-lambda-ap}}`
+ Uma função do AWS Lambda com o seguinte ARN: 

  `arn:aws:lambda:{{us-east-1}}:{{111122223333}}:function:{{MyObjectLambdaFunction}}`

**nota**  
Se estiver usando uma função do Lambda em sua conta, você deverá incluir a versão da função na declaração da política. No seguinte exemplo de ARN, a versão é indicada por {{1}}:  
`arn:aws:lambda:{{us-east-1}}:{{111122223333}}:function:{{MyObjectLambdaFunction}}:{{1}}`  
O Lambda não permite adicionar políticas do IAM à versão `$LATEST`. Para obter mais informações sobre as versões de funções do Lambda, consulte [Versões de funções do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) no *Guia do desenvolvedor do AWS Lambda*.

**Example : Política de buckets que delega controle de acesso a pontos de acesso**  
O exemplo de política de buckets do S3 a seguir delega o controle de acesso para um bucket aos pontos de acesso padrão do bucket. Essa política permite total acesso a todos os pontos de acesso pertencentes à conta do proprietário do bucket. Assim, todo o acesso a esse bucket é controlado pelas políticas anexadas aos seus pontos de acesso. Os usuários só podem ler no bucket por meio de um ponto de acesso, o que significa que as operações só podem ser invocadas por meio dos pontos de acesso. Para ter mais informações, consulte [Delegar controle de acesso a pontos de acesso](access-points-policies.md#access-points-delegating-control).     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement" : [
    {
        "Effect": "Allow",
        "Principal" : { "AWS":"{{account-ARN}}"},
        "Action" : "*",
        "Resource" : [
            "arn:aws:s3:::{{amzn-s3-demo-bucket}}", 
            "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
        ],
        "Condition": {
            "StringEquals" : { "s3:DataAccessPointAccount" : "{{Bucket owner's account ID}}" }
        }
    }]
}
```

**Example : política do IAM que concede ao usuário as permissões necessárias para usar um ponto de acesso do Object Lambda**  
A seguinte política do IAM concede a um usuário permissões para a função do Lambda, o ponto de acesso padrão e o ponto de acesso do Object Lambda.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowLambdaInvocation",
      "Action": [
        "lambda:InvokeFunction"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:lambda:{{us-east-1}}:{{111122223333}}:function:{{MyObjectLambdaFunction}}:{{1}}",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "s3-object-lambda.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AllowStandardAccessPointAccess",
      "Action": [
        "s3:Get*",
        "s3:List*"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:{{us-east-1}}:{{111122223333}}:accesspoint/{{my-access-point}}/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "s3-object-lambda.amazonaws.com"
          ]
        }
      }
    },
    {
      "Sid": "AllowObjectLambdaAccess",
      "Action": [
        "s3-object-lambda:Get*",
        "s3-object-lambda:List*"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3-object-lambda:{{us-east-1}}:{{111122223333}}:accesspoint/{{my-object-lambda-ap}}"
    }
  ]
}
```

## Habilitar permissões para funções de execução do Lambda
<a name="olap-execution-role"></a>

Quando são feitas solicitações `GET` a um ponto de acesso do Object Lambda, a função do Lambda precisa de permissão para enviar dados ao ponto de acesso do S3 Object Lambda. Isso é fornecido habilitando a permissão `s3-object-lambda:WriteGetObjectResponse` na função de execução da sua função do Lambda. Crie uma nova função de execução ou atualize uma existente.

**nota**  
Sua função precisa da permissão `s3-object-lambda:WriteGetObjectResponse` somente se você estiver fazendo uma solicitação `GET`.

**Como criar uma função de execução no console do IAM**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação à esquerda, escolha **Funções**. 

1. Selecione **Create role** (Criar função).

1. Em **Common use cases (Casos de uso comuns)**, selecione **Lambda**.

1. Escolha **Próximo**.

1. Na página **Add permissions** (Adicionar permissões), pesquise a política [https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy$serviceLevelSummary](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AmazonS3ObjectLambdaExecutionRolePolicy$serviceLevelSummary)gerenciada pela AWS e marque a caixa de seleção ao lado do nome da política. 

   Essa política deve conter a ação `s3-object-lambda:WriteGetObjectResponse`.

1. Escolha **Próximo**.

1. Na página **Name, review, and create** (Nomear, revisar e criar), para **Role name** (Nome da função), insira **s3-object-lambda-role**.

1. (Opcional) Adicione uma descrição e etiquetas para esse perfil. 

1. Selecione **Criar perfil**.

1. Aplique a **s3-object-lambda-role** recém-criada como a função de execução de sua função Lambda. Isso pode ser feito durante ou após a criação da função do Lambda no console do Lambda.

Para obter informações sobre funções de execução, consulte [Função de execução do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) no *Guia do desenvolvedor do AWS Lambda*.

## Usar chaves de contexto com pontos de acesso do Object Lambda
<a name="olap-keys"></a>

O S3 Object Lambda avaliará chaves de contexto, como `s3-object-lambda:TlsVersion` ou `s3-object-lambda:AuthType`, relacionadas à conexão ou assinatura da solicitação. Todas as outras chaves de contexto, como `s3:prefix`, são avaliadas pelo Simple Storage Service (Amazon S3). 