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 conectores AWS SAM
Os conectores são um tipo de recurso AWS Serverless Application Model (AWS SAM) abstrato, identificado comoAWS::Serverless::Connector
, que fornece permissões simples e bem definidas entre seus recursos de aplicativos sem servidor.
Benefícios dos AWS SAM conectores
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
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
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 Os recursos AWS CloudFormation gerados quando você especifica AWS::Serverless::Connector.
Exemplo de conectores
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.
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 AWS 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
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.
Saiba mais
Para obter mais informações sobre o uso de AWS SAM conectores, consulte os tópicos a seguir:
Envie seu feedback
Para fornecer feedback sobre conectores, envie um novo problema