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

Se fornecermos uma tradução da versão em inglês do guia, a versão em inglês prevalecerá caso haja qualquer conflito entre as versões. A tradução é fornecida com o uso de tradução por máquina.

Modelos de política do AWS SAM

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

AWS SAM aplicações no AWS Serverless Application Repository que usam modelos de políticas não requerem quaisquer confirmações especiais de clientes para implementar a aplicação do AWS Serverless Application Repository.

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

  1. Submeter um pedido de pull-pull ao ficheiro de origem da apólice_modelos.json no develop da AWS SAM projeto de github. Pode encontrar o ficheiro de origem em política_modelos.json no website de github.

  2. Envie um problema no projeto AWS SAM do GitHub que inclua os motivos da sua solicitação pull e um link para a solicitação. Utilize esta ligação para enviar um novo problema: Modelo de aplicação sem servidor AWS: Problemas

Syntax

Para cada modelo de apólice que especificar no seu AWS SAM ficheiro de modelo, tem sempre de especificar um objeto que contém os valores do espaço reservado do modelo da apólice. Se um modelo de apólice não necessitar de quaisquer valores de marcador de posição, tem de especificar um objecto 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 AWS SAM o modelo recupera o nome do "MyQueue" Amazon SQS fila, que pode criar na mesma aplicação ou solicitada como um parâmetro para a aplicação.

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

Exemplo: = 2. Modelo de apólice sem valores de marcador de posição

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

nota

Embora não existam valores de marcador de posição, tem de especificar um objecto vazio, caso contrário, será apresentado um erro.

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

Tabela de modelos de políticas

Segue-se uma tabela dos modelos de políticas disponíveis.

Modelo de política Description (Descrição)
SQSPollerPolicy Dá permissão para consultar um Amazon Simple Queue Service (Amazon SQS) fila.
LambdaInvokePolicy Dá permissão para invocar um AWS Lambda função, alias ou versão.
CloudWatchDescribeAlarmHistoryPolicy Dá permissão para descrever CloudWatch histórico de alarmes.
CloudWatchPutMetricPolicy Dá permissão para enviar métricas para CloudWatch.
EC2DescribePolicy Dá permissão para descrever Amazon Elastic Compute Cloud (Amazon EC2) instâncias.
DynamoDBCrudPolicy Permite criar, ler, atualizar e eliminar permissões para um Amazon DynamoDB tabela.
DynamoDBReadPolicy Fornece permissão só de leitura para um DynamoDB tabela.
DynamoDBWritePolicy Fornece permissão apenas de escrita para DynamoDB tabela.
DynamoDBReconfigurePolicy Dá permissão para reconfigurar um DynamoDB tabela.
SESSendBouncePolicy Dá permissão de sendbounce a um Amazon Simple Email Service (Amazon SES) identidade.
ElasticsearchHttpPostPolicy Fornece autorização POST para Amazon Elasticsearch Service.
S3ReadPolicy Fornece permissão só de leitura a objetos num Amazon Simple Storage Service (Amazon S3) pá.
S3WritePolicy Dá permissão escrita aos objetos num Amazon S3 balde.
S3CrudPolicy Permite criar, ler, atualizar e eliminar permissão para objetos num Amazon S3 balde.
AMIDescribePolicy Dá permissão para descrever as Imagens da Máquina Amazon (amis).
CloudFormationDescribeStacksPolicy Dá permissão para descrever AWS CloudFormation pilhas.
RekognitionDetectOnlyPolicy Dá permissão para detetar faces, etiquetas e texto.
RekognitionNoDataAccessPolicy Dá permissão para comparar e detetar faces e rótulos.
RekognitionReadPolicy Dá permissão à lista e à pesquisa de faces.
RekognitionWriteOnlyAccessPolicy Dá permissão para criar a coleção e o índice.
SQSSendMessagePolicy Dá permissão para enviar mensagem para um Amazon SQS fila.
SNSPublishMessagePolicy Dá permissão para publicar uma mensagem a um Amazon Simple Notification Service (Amazon SNS) tópico.
VPCAccessPolicy Permite o acesso para criar, eliminar, descrever e separar interfaces de rede elástica.
DynamoDBStreamReadPolicy Dá permissão para descrever e ler DynamoDB comboios e registos.
KinesisStreamReadPolicy Dá permissão para listar e ler um Amazon Kinesis fluxo.
SESCrudPolicy Dá permissão para enviar e-mail e verificar a identidade.
SNSCrudPolicy Dá permissão para criar, publicar e subscrever Amazon SNS tópicos.
KinesisCrudPolicy Dá permissão para criar, publicar e eliminar um Amazon Kinesis fluxo.
KMSDecryptPolicy Dá permissão para desencriptar com um AWS Key Management Service (AWS KMS) tecla.
KMSEncryptPolicy Dá permissão para encriptar com um AWS Key Management Service (AWS KMS) tecla.
PollyFullAccessPolicy Oferece permissão de acesso total para Amazon Polly recursos da lexicon.
S3FullAccessPolicy Dá permissão de acesso total aos objetos num Amazon S3 balde.
CodePipelineLambdaExecutionPolicy Dá permissão para um Lambda função invocada por CodePipeline para comunicar o estado do trabalho.
ServerlessRepoReadWriteAccessPolicy Dá permissão para criar e listar aplicações no AWS Serverless Application Repository serviço.
EC2CopyImagePolicy Dá permissão para copiar Amazon EC2 imagens.
AWSSecretsManagerRotationPolicy Dá permissão para rodar um segredo em AWS Secrets Manager.
AWSSecretsManagerGetSecretValuePolicy Dá permissão para obter o valor secreto para o especificado AWS Secrets Manager segredo.
CodePipelineReadOnlyPolicy Dá permissão de leitura para obter detalhes sobre um CodePipeline linha.
CloudWatchDashboardPolicy Dá permissão para colocar métricas para operar CloudWatch dashboards.
RekognitionFacesManagementPolicy Dá permissão para adicionar, eliminar e rostos de pesquisa num Amazon Rekognition recolha.
RekognitionFacesPolicy Dá permissão para comparar e detetar faces e rótulos.
RekognitionLabelsPolicy Dá permissão para detetar rótulos de objetos e moderação.
DynamoDBBackupFullAccessPolicy Dá permissão de leitura e escrita para DynamoDB cópias de segurança mediante pedido para uma tabela.
DynamoDBRestoreFromBackupPolicy Dá permissão para restaurar um DynamoDB tabela a partir da cópia de segurança.
ComprehendBasicAccessPolicy Dá permissão para detetar entidades, frases-chave, idiomas e sentimentos.
MobileAnalyticsWriteOnlyAccessPolicy Fornece permissão apenas de escrita para colocar dados de eventos para todos os recursos da aplicação.
PinpointEndpointAccessPolicy Dá permissão para obter e atualizar parâmetros de avaliação para um Amazon Pinpoint aplicação.
FirehoseWritePolicy Dá permissão para escrever a um Kinesis Data Firehose fluxo de entrega.
FirehoseCrudPolicy Dá permissão para criar, escrever, atualizar e eliminar um Kinesis Data Firehose fluxo de entrega.
EKSDescribePolicy Dá permissão para descrever ou listar Amazon EKS grupos.
CostExplorerReadOnlyPolicy Fornece permissão só de leitura às API de custos de leitura apenas de leitura para o histórico de faturação.
OrganizationsListAccountsPolicy Fornece permissão apenas de leitura para listar nomes e Ids de contas secundárias.
SESBulkTemplatedCrudPolicy Dá permissão para enviar e-mails, e-mails de modelos, e-mails em massa temperados e verificar a identidade.
SESEmailTemplateCrudPolicy Dá permissão para criar, obter, listar, atualizar e eliminar Amazon SES modelos de e-mail.
FilterLogEventsPolicy Dá permissão para filtrar CloudWatch Logs eventos de um grupo de registo especificado.
SSMParameterReadPolicy Dá permissão para aceder a parâmetros de um Amazon EC2 Systems Manager (SSM) loja de parâmetros para carregar segredos nesta conta.
StepFunctionsExecutionPolicy Dá permissão para iniciar uma Step Functions execução da máquina.
CodeCommitCrudPolicy Dá permissões para criar/ler/atualizar/eliminar objetos dentro de um CodeCommit repositório.
CodeCommitReadPolicy Dá permissão para ler objetos dentro de um CodeCommit repositório.
AthenaQueryPolicy Dá permissões para executar Athena perguntas.
TextractPolicy Oferece acesso total a Amazon Textract.
TextractDetectAnalyzePolicy Permite o acesso à detecção e análise de documentos com Amazon Textract.
TextractGetResultPolicy Permite obter documentos detectados e analisados de Amazon Textract.
EventBridgePutEventsPolicy Fornece permissões para enviar eventos para EventBridge.
ElasticMapReduceModifyInstanceFleetPolicy Dá permissão para listar detalhes e modificar capacidades, por exemplo, frotas dentro de um grupo.
ElasticMapReduceSetTerminationProtectionPolicy Dá permissão para definir a proteção de terminação para um grupo.
ElasticMapReduceModifyInstanceGroupsPolicy Dá permissão para listar detalhes e modificar definições para grupos de instância dentro de um grupo.
ElasticMapReduceCancelStepsPolicy Dá permissão para cancelar um passo ou passos pendentes num grupo de execução.
ElasticMapReduceTerminateJobFlowsPolicy Dá permissão para encerrar um grupo.
ElasticMapReduceAddJobFlowStepsPolicy Dá permissão para adicionar novos passos a um grupo de execução.
SageMakerCreateEndpointPolicy Dá permissão para criar um parâmetro de avaliação em SageMaker.
SageMakerCreateEndpointConfigPolicy Dá permissão para criar uma configuração de parâmetro de avaliação em SageMaker.
EcsRunTaskPolicy Dá permissão para iniciar uma nova tarefa para uma definição de tarefa.
EFSWriteAccessPolicy Dá permissão para montar um Amazon EFS sistema de ficheiros com acesso a escrita.

Troubleshooting

Erro de CLI: "Deve especificar valores de parâmetros válidos para o modelo da apólice "<policy-model-name>'"

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

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

Isto significa que não passou um objeto vazio ao declarar um modelo de apólice que não tem valores de marcador de posição.

Para resolver isto, declare a política como o exemplo seguinte para CloudWatchPutMetricPolicy.

MyFunction: Policies: - CloudWatchPutMetricPolicy: {}