Modelos de política do AWS SAM - AWS Serverless Application Model

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

Modelos de política do AWS SAM

O AWS SAM permite que você escolha de uma lista de modelos de política para definir o escopo das permissões das funções do Lambda para os recursos que são usados pelo aplicativo.

Os aplicativos do AWS SAM no AWS Serverless Application Repository que usam modelos de política não exigem nenhuma confirmação especial do cliente para implantar o aplicativo a partir do AWS Serverless Application Repository.

Se deseja solicitar um novo modelo de política a ser adicionado, faça o seguinte:

  1. Envie uma solicitação pull no arquivo de origem policy_templates.json nadevelopdo projeto do AWS SAM GitHub. É possível encontrar o arquivo fonte empolicy_templates.jsonNo site do GitHub.

  2. Envie um problema no projeto AWS SAM GitHub que inclua os motivos da sua solicitação pull e um link para ela. Use este link para enviar um novo problema: AWS Serverless (AWS Serverless) Problemas.

Syntax

Para cada modelo de política especificado no arquivo de modelo do AWS SAM, você sempre deve especificar um objeto contendo os valores de espaço reservado do modelo de política. Se um modelo de política não exigir nenhum valor de espaço reservado, você deve especificar um objeto vazio.

YAML

MyFunction: Type: AWS::Serverless::Function Properties: Policies: - PolicyTemplateName1: # Policy template with placeholder value Key1: Value1 - PolicyTemplateName2: {} # Policy template with no placeholder value

Examples

Exemplo 1: Modelo de política com valores de espaço reservado

O exemplo a seguir mostra que o modelo de política SQSPollerPolicy espera um QueueName como recurso. O modelo do AWS SAM recupera o nome do”MyQueue“Fila do Amazon SQS, que você pode criar no mesmo aplicativo ou solicitado como um parâmetro para ele.

MyFunction: Type: 'AWS::Serverless::Function' Properties: CodeUri: ${codeuri} Handler: hello.handler Runtime: python2.7 Policies: - SQSPollerPolicy: QueueName: !GetAtt MyQueue.QueueName

Exemplo 2: Modelo de política sem valores de espaço reservado

O exemplo a seguir contém o modelo de política CloudWatchPutMetricPolicy, que não tem valores de espaços reservados.

nota

Mesmo que não haja valores de espaço reservado, você deve especificar um objeto vazio, caso contrário, um erro ocorrerá.

MyFunction: Type: 'AWS::Serverless::Function' Properties: CodeUri: ${codeuri} Handler: hello.handler Runtime: python2.7 Policies: - CloudWatchPutMetricPolicy: {}

Tabela de modelos de política

Veja a seguir uma tabela dos modelos de política disponíveis.

Modelo de política Descrição
SQSPollerPolicy concede permissão para consultar uma fila do Amazon Simple Queue Service (Amazon SQS).
LambdaInvokePolicy Concede permissão para invocar uma função, alias ou versão do AWS Lambda.
CloudWatchDescribeAlarmHistoryPolicy Dá permissão para descrever o histórico de alarmes do CloudWatch.
CloudWatchPutMetricPolicy Dá permissão para enviar métricas ao CloudWatch.
EC2DescribePolicy concede permissão para descrever instâncias do Amazon Elastic Compute Cloud (Amazon EC2).
DynamoDBCrudPolicy Concede permissões de criação, leitura, atualização e exclusão a uma tabela do Amazon DynamoDB.
DynamoDBReadPolicy Concede permissão somente leitura a uma tabela do DynamoDB.
DynamoDBWritePolicy Concede permissão somente gravação a uma tabela do DynamoDB.
DynamoDBReconfigurePolicy Concede permissão para reconfigurar uma tabela do DynamoDB.
SESSendBouncePolicy Concede permissão ao SendBounce para uma identidade do Amazon Simple Email Service (Amazon SES).
ElasticsearchHttpPostPolicy Concede permissão POST ao Amazon Elasticsearch Service.
S3ReadPolicy concede permissão somente leitura para ler objetos em um bucket do Amazon Simple Storage Service (Amazon S3).
S3WritePolicy Concede permissão de gravação para gravar objetos em um bucket do Amazon S3.
S3CrudPolicy Concede permissão para criar, ler, atualizar e excluir para agir sobre os objetos em um bucket do Amazon S3.
AMIDescribePolicy Concede permissão para descrever imagens de máquina da Amazon (AMIs).
CloudFormationDescribeStacksPolicy Concede permissão para descrever pilhas do AWS CloudFormation.
RekognitionDetectOnlyPolicy Concede permissão para detectar faces, rótulos e texto.
RekognitionNoDataAccessPolicy Concede permissão para comparar e detectar faces e rótulos.
RekognitionReadPolicy Dá permissão para listar e pesquisar rostos.
RekognitionWriteOnlyAccessPolicy Dá permissão para criar faces de coleção e índice.
SQSSendMessagePolicy Concede permissão para enviar mensagens para uma fila do Amazon SQS.
SNSPublishMessagePolicy concede permissão para publicar uma mensagem em um tópico do Amazon Simple Notification Service (Amazon SNS).
VPCAccessPolicy Dá acesso para criar, excluir, descrever e desanexar interfaces de rede elástica.
DynamoDBStreamReadPolicy Dá permissão para descrever e ler fluxos e registros do DynamoDB.
KinesisStreamReadPolicy Concede permissão para listar e ler um fluxo do Amazon Kinesis.
SESCrudPolicy Dá permissão para enviar e-mail e verificar a identidade.
SNSCrudPolicy Dá permissão para criar, publicar e assinar tópicos do Amazon SNS.
KinesisCrudPolicy Dá permissão para criar, publicar e excluir um stream do Amazon Kinesis.
KMSDecryptPolicy concede permissão para descriptografar com uma chave do AWS Key Management Service (AWS KMS).
KMSEncryptPolicy concede permissão para criptografar com uma chave do AWS Key Management Service (AWS KMS).
PollyFullAccessPolicy Dá permissão de acesso total aos recursos do léxico do Amazon Polly.
S3FullAccessPolicy concede permissão de acesso total para agir sobre os objetos em um bucket do Amazon S3.
CodePipelineLambdaExecutionPolicy Concede permissão para uma função do Lambda invocada pelo CodePipeline para informar o status do trabalho.
ServerlessRepoReadWriteAccessPolicy concede permissão para criar e listar aplicativos no serviço AWS Serverless Application Repository.
EC2CopyImagePolicy Concede permissão para copiar imagens do Amazon EC2.
AWSSecretsManagerRotationPolicy Concede permissão para rotacionar um segredo no AWS Secrets Manager.
AWSSecretsManagerGetSecretValuePolicy concede permissão para obter o valor secreto para o segredo especificado do AWS Secrets Manager.
CodePipelineReadOnlyPolicy Concede permissão de leitura para obter detalhes sobre um pipeline do CodePipeline.
CloudWatchDashboardPolicy Dá permissões para colocar métricas para operar em painéis do CloudWatch.
RekognitionFacesManagementPolicy Dá permissão para adicionar, excluir e pesquisar rostos em uma coleção do Amazon Rekognition.
RekognitionFacesPolicy Concede permissão para comparar e detectar faces e rótulos.
RekognitionLabelsPolicy Dá permissão para detectar rótulos de objeto e moderação.
DynamoDBBackupFullAccessPolicy Concede permissão de leitura e gravação aos backups sob demanda do DynamoDB para uma tabela.
DynamoDBRestoreFromBackupPolicy Dá permissão para restaurar uma tabela do DynamoDB a partir do backup.
ComprehendBasicAccessPolicy concede permissão para detectar entidades, frases-chave, linguagens e sentimentos.
MobileAnalyticsWriteOnlyAccessPolicy concede permissão somente gravação para colocar dados de eventos para todos os recursos do aplicativo.
PinpointEndpointAccessPolicy concede permissão para obter e atualizar endpoints para um aplicativo Amazon Pinpoint.
FirehoseWritePolicy Concede permissão para gravar em um fluxo de entrega do Kinesis Data Firehose.
FirehoseCrudPolicy concede permissão para criar, gravar, atualizar e excluir um fluxo de entrega do Kinesis Data Firehose.
EKSDescribePolicy Dá permissão para descrever ou listar clusters do Amazon EKS.
CostExplorerReadOnlyPolicy Fornece permissão somente leitura para as APIs do Cost Explorer somente leitura para o histórico de cobrança.
OrganizationsListAccountsPolicy Dá permissão somente leitura para listar nomes de conta de criança e IDs.
SESBulkTemplatedCrudPolicy Dá permissão para enviar e-mails, e-mails com modelos, e-mails em massa modelados e verificar a identidade.
SESEmailTemplateCrudPolicy concede permissão para criar, obter, listar, atualizar e excluir modelos de e-mail do Amazon SES.
FilterLogEventsPolicy Dá permissão para filtrar eventos do CloudWatch Logs de um grupo de logs especificado.
SSMParameterReadPolicy Dá permissão para acessar parâmetros de um armazenamento de parâmetros do Amazon EC2 Systems Manager (SSM) para carregar segredos nesta conta.
StepFunctionsExecutionPolicy Concede permissão para iniciar uma execução da máquina de estados do Step Functions
CodeCommitCrudPolicy Dá permissões para criar/ler/atualizar/excluir objetos dentro de um repositório CodeCommit específico.
CodeCommitReadPolicy Concede permissões para ler objetos dentro de um repositório CodeCommit específico.
AthenaQueryPolicy Dá permissões para executar consultas do Athena.
TextractPolicy Dá acesso total ao Amazon Textract.
TextractDetectAnalyzePolicy Dá acesso para detectar e analisar documentos com o Amazon Textract.
TextractGetResultPolicy Dá acesso para obter documentos detectados e analisados do Amazon Textract.
EventBridgePutEventsPolicy Concede permissões para enviar eventos para o EventBridge.
ElasticMapReduceModifyInstanceFleetPolicy Dá permissão para listar detalhes e modificar capacidades para frotas de exemplo dentro de um cluster.
ElasticMapReduceSetTerminationProtectionPolicy Concede permissão para definir a proteção contra encerramento para um cluster.
ElasticMapReduceModifyInstanceGroupsPolicy Dá permissão para listar detalhes e modificar configurações para grupos de instâncias em um cluster.
ElasticMapReduceCancelStepsPolicy Concede permissão para cancelar uma etapa pendente ou etapas em um cluster em execução.
ElasticMapReduceTerminateJobFlowsPolicy Concede permissão para encerrar um cluster.
ElasticMapReduceAddJobFlowStepsPolicy Concede permissão para adicionar novas etapas a um cluster em execução.
SageMakerCreateEndpointPolicy Dá permissão para criar um endpoint no SageMaker.
SageMakerCreateEndpointConfigPolicy Dá permissão para criar uma configuração de endpoint no SageMaker.
EcsRunTaskPolicy Concede permissão para iniciar uma nova tarefa para uma definição de tarefa.
EFSWriteAccessPolicy Concede permissão para montar um sistema de arquivos do Amazon EFS com acesso de gravação.
Route53ChangeResourceRecordSetsPolicy Concede permissão para alterar conjuntos de registros de recursos no Route 53.

Troubleshooting

Erro da CLI do SAM: “Deve especificar valores de parâmetro válidos para o modelo de política '<policy-template-name>'”

Ao executar sam build, você verá o seguinte erro:

"Must specify valid parameter values for policy template '<policy-template-name>'"
            

Isso significa que você não passou um objeto vazio ao declarar um modelo de política que não tem nenhum valor de espaço reservado.

Para corrigir isso, declare a política como o exemplo a seguir paraCloudWatchPutMetricPolicy.

MyFunction: Policies: - CloudWatchPutMetricPolicy: {}