

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á.

# Gerenciando permissões de recursos com AWS SAM conectores
<a name="managing-permissions-connectors"></a>

Os conectores são um tipo de recurso AWS Serverless Application Model (AWS SAM) abstrato, identificado como`AWS::Serverless::Connector`, que fornece permissões simples e bem definidas entre seus recursos de aplicativos sem servidor.

## Benefícios dos AWS SAM conectores
<a name="connector-benefits"></a>

Ao compor automaticamente as políticas de acesso apropriadas entre os recursos, os conectores permitem que você crie seus aplicativos sem servidor e se concentre na arquitetura do aplicativo sem precisar de experiência em recursos de AWS autorização, linguagem de políticas e configurações de segurança específicas do serviço. Portanto, os conectores são um grande benefício para desenvolvedores que podem ser novos no desenvolvimento de tecnologia sem servidor ou desenvolvedores experientes que desejam aumentar sua velocidade de desenvolvimento.

## Usando AWS SAM conectores
<a name="what-are-connectors"></a>

Use o atributo de recurso `Connectors` incorporando-o em um recurso de **origem**. Em seguida, defina seu recurso de **destino** e descreva como os dados ou eventos devem fluir entre esses recursos. AWS SAM em seguida, compõe as políticas de acesso necessárias para facilitar as interações necessárias.

A seguir é descrito como esse atributo de recurso é gravado:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  <source-resource-logical-id>:
    Type: <resource-type>
    ...
    Connectors:
      <connector-name>:
        Properties:
          Destination:
            <properties-that-identify-destination-resource>
          Permissions:
            <permission-types-to-provision>
  ...
```

## Como funcionam os conectores
<a name="connectors-work"></a>

**nota**  
Esta seção explica como os conectores provisionam os recursos necessários nos bastidores. Isso acontece automaticamente ao usar conectores.

Primeiro, o atributo de recurso `Connectors` incorporado é transformado em um tipo de recurso `AWS::Serverless::Connector`. Seu ID lógico é criado automaticamente como*<source-resource-logical-id><embedded-connector-logical-id>*.

Por exemplo, aqui está um conector incorporado:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
```

Isso gerará o seguinte recurso `AWS::Serverless::Connector`:

```
Transform: AWS::Serverless-2016-10-31
Resources:
  ...
  MyFunctionMyConn:
    Type: AWS::Serverless::Connector
    Properties:
      Source:
        Id: MyFunction
      Destination:
        Id: MyTable
      Permissions:
        - Read
        - Write
```

**nota**  
Você também pode definir conectores em seu AWS SAM modelo usando essa sintaxe. Isso é recomendado quando seu recurso de origem é definido em um modelo separado do seu conector.

Em seguida, as políticas de acesso necessárias para essa conexão são compostas automaticamente. Para obter mais informações sobre os recursos gerados por conectores, consulte [CloudFormation recursos gerados quando você especifica AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).

## Exemplo de conectores
<a name="what-are-connectors-example"></a>

O exemplo a seguir mostra como você pode usar conectores para gravar dados de uma AWS Lambda função em uma tabela do Amazon DynamoDB.

![\[Uma função do Lambda gravando dados em uma tabela do DynamoDB usando conectores do AWS SAM .\]](http://docs.aws.amazon.com/pt_br/serverless-application-model/latest/developerguide/images/managing-connectors-example.png)


```
Transform: AWS::Serverless-2016-10-31
Resources:
  MyTable:
    Type: AWS::Serverless::SimpleTable
  MyFunction:
    Type: AWS::Serverless::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Write
    Properties:
      Runtime: nodejs16.x
      Handler: index.handler
      InlineCode: |
        const AWS = require("aws-sdk");
        const docClient = new AWS.DynamoDB.DocumentClient();
        exports.handler = async (event, context) => {
          await docClient.put({
            TableName: process.env.TABLE_NAME,
            Item: {
              id: context.awsRequestId,
              event: JSON.stringify(event) 
            }
          }).promise();
        }
      Environment:
        Variables:
          TABLE_NAME: !Ref MyTable
```

O recurso do atributo `Connectors` está incorporado ao recurso de origem da função do Lambda. A tabela do DynamoDB é definida como o recurso de destino usando a propriedade `Id`. Os conectores provisionarão permissões `Write` entre esses dois recursos.

Quando você implanta seu AWS SAM modelo no CloudFormation, AWS SAM ele compõe automaticamente as políticas de acesso necessárias para que essa conexão funcione.

## Conexões suportadas entre recursos de origem e destino
<a name="supported-connector-resources"></a>

Suporte a conectores `Read` e tipos de permissão de dados e eventos `Write` entre uma combinação selecionada de conexões de recursos de origem e destino. Por exemplo, os conectores oferecem suporte a uma conexão `Write` entre um recurso de origem `AWS::ApiGateway::RestApi` e um recurso de destino `AWS::Lambda::Function`.

Os recursos de origem e destino podem ser definidos usando uma combinação de propriedades compatíveis. Os requisitos de propriedade dependerão da conexão que você está fazendo e de onde os recursos estão definidos.

**nota**  
Os conectores podem provisionar permissões entre os tipos de recursos com tecnologia sem servidor e sem tecnologia sem servidor compatíveis.

Para obter uma lista de conexões de recursos compatíveis e seus requisitos de propriedade, consulte [Tipos de recursos de origem e destino suportados para conectores](reference-sam-connector.md#supported-connector-resource-types).

## Saiba mais
<a name="connector-learn-more"></a>

Para obter mais informações sobre o uso de AWS SAM conectores, consulte os tópicos a seguir:
+ [AWS::Serverless::Connector](sam-resource-connector.md)
+ [Defina as permissões de leitura e gravação em AWS SAM](connector-usage-define.md)
+ [Defina recursos usando outras propriedades suportadas no AWS SAM](connector-usage-other-properties.md)
+ [Crie vários conectores de uma única fonte no AWS SAM](connector-usage-single-source.md)
+ [Crie conectores de vários destinos em AWS SAM](connector-usage-multi-destination.md)
+ [Defina as permissões de leitura e gravação em AWS SAM](connector-usage-define.md)
+ [Defina atributos de recursos com conectores em AWS SAM](connector-usage-resource-attributes.md)

## Fornecer feedback
<a name="connector-feedback"></a>

Para fornecer feedback sobre conectores, [envie um novo problema](https://github.com/aws/serverless-application-model/issues/new?assignees=&labels=area%2Fconnectors,stage%2Fneeds-triage&template=other.md&title=%28Feature%20Request%29) no *serverless-application-model AWS GitHubrepositório*.