Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione delle autorizzazioni delle risorse con i connettori AWS SAM
I connettori sono un tipo di risorsa astratto AWS Serverless Application Model (AWS SAM), identificato comeAWS::Serverless::Connector
, che fornisce autorizzazioni semplici e ben definite tra le risorse delle applicazioni serverless.
Vantaggi dei connettori AWS SAM
Componendo automaticamente le politiche di accesso appropriate tra le risorse, Connectors vi offre la possibilità di creare applicazioni serverless e concentrarvi sull'architettura dell'applicazione senza bisogno di competenze in termini di funzionalità di AWS autorizzazione, linguaggio delle policy e impostazioni di sicurezza specifiche del servizio. Pertanto, i connettori rappresentano un grande vantaggio per gli sviluppatori che potrebbero essere alle prime armi nello sviluppo serverless o per gli sviluppatori esperti che desiderano aumentare la velocità di sviluppo.
Utilizzo dei connettori AWS SAM
Usa l'attributo Connectors
resource incorporandolo in una risorsa di origine. Quindi, definisci la risorsa di destinazione e descrivi come i dati o gli eventi devono fluire tra tali risorse. AWS SAM compone quindi le politiche di accesso necessarie per facilitare le interazioni richieste.
Di seguito viene descritto come viene scritto questo attributo di risorsa:
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>
...
Come funzionano i connettori
Nota
Questa sezione spiega come i connettori forniscono le risorse necessarie dietro le quinte. Ciò avviene automaticamente quando si utilizzano i connettori.
Innanzitutto, l'attributo di Connectors
risorsa incorporato viene trasformato in un tipo di AWS::Serverless::Connector
risorsa. Il relativo ID logico viene creato automaticamente come <source-resource-logical-id><embedded-connector-logical-id>
.
Ad esempio, ecco un connettore incorporato:
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
Questo genererà la seguente AWS::Serverless::Connector
risorsa:
Transform: AWS::Serverless-2016-10-31 Resources: ... MyFunctionMyConn: Type: AWS::Serverless::Connector Properties: Source: Id: MyFunction Destination: Id: MyTable Permissions: - Read - Write
Nota
È inoltre possibile definire i connettori nel AWS SAM modello utilizzando questa sintassi. Questa operazione è consigliata quando la risorsa di origine è definita su un modello separato dal connettore.
Successivamente, le politiche di accesso necessarie per questa connessione vengono composte automaticamente. Per ulteriori informazioni sulle risorse generate dai connettori, vedereAWS CloudFormationrisorse generate quando si specifica AWS::Serverless::Connector.
Esempio di connettori
L'esempio seguente mostra come utilizzare i connettori per scrivere dati da una AWS Lambda funzione a una tabella 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
L'attributo Connectors
resource è incorporato nella risorsa sorgente della funzione Lambda. La tabella DynamoDB è definita come risorsa di destinazione utilizzando la proprietà. Id
I connettori forniranno le Write
autorizzazioni tra queste due risorse.
Quando distribuisci il AWS SAM modello su AWS CloudFormation, AWS SAM comporrà automaticamente le politiche di accesso necessarie per il funzionamento di questa connessione.
Connessioni supportate tra risorse di origine e destinazione
Supportano i connettori Read
e Write
i tipi di autorizzazione per dati ed eventi tra una combinazione selezionata di connessioni alle risorse di origine e destinazione. Ad esempio, i connettori supportano una Write
connessione tra una AWS::ApiGateway::RestApi
risorsa di origine e una risorsa di AWS::Lambda::Function
destinazione.
Le risorse di origine e di destinazione possono essere definite utilizzando una combinazione di proprietà supportate. I requisiti delle proprietà dipenderanno dalla connessione che si sta effettuando e da dove vengono definite le risorse.
Nota
I connettori possono fornire le autorizzazioni tra i tipi di risorse serverless e non serverless supportati.
Per un elenco delle connessioni di risorse supportate e dei relativi requisiti di proprietà, vedere. Tipi di risorse di origine e destinazione supportati per i connettori
Ulteriori informazioni
Per ulteriori informazioni sull'uso dei AWS SAM connettori, consulta i seguenti argomenti:
Fornire feedback
Per fornire feedback sui connettori, invia un nuovo problema