Modelos de políticas 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íticas AWS SAM

O AWS Serverless Application Model (AWS SAM) permite que você escolha em uma lista de modelos de política para definir o escopo das permissões de suas funções e máquinas de AWS Step Functions estado do Lambda para os recursos que são usados pelo seu aplicativo.

AWS SAM os aplicativos do AWS Serverless Application Repository que usam modelos de política não exigem nenhum reconhecimento 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 pull request no arquivo de origem policy_templates.json na ramificação do projeto. develop AWS SAM GitHub Você pode encontrar o arquivo de origem em policy_templates.json no site. GitHub

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

Sintaxe

Para cada modelo de política especificado em seu arquivo de AWS SAM modelo, você deve sempre 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ê deverá 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

Exemplos

Exemplo 1: modelo de política com valores de espaços reservados

O exemplo a seguir mostra que o modelo de política SQSPollerPolicy espera um QueueName como recurso. O AWS SAM modelo recupera o nome da SQS fila "MyQueue" da Amazon, que você pode criar no mesmo aplicativo ou solicitada como parâmetro para o aplicativo.

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 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, ocorrerá um erro.

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
AcmGetCertificatePolicy Permite ler um certificado de AWS Certificate Manager.
AMIDescribePolicy Dá permissão para descrever Amazon Machine Images (AMIs).
AthenaQueryPolicy Concede permissões para executar consultas do Athena.
AWSSecretsManagerGetSecretValuePolicy Concede permissão para obter o valor secreto do segredo AWS Secrets Manager especificado.
AWSSecretsManagerRotationPolicy Permite a entrada de um segredo no AWS Secrets Manager.
CloudFormationDescribeStacksPolicy Dá permissão para descrever AWS CloudFormation pilhas.
CloudWatchDashboardPolicy Concede permissões para colocar métricas em operação em CloudWatch painéis.
CloudWatchDescribeAlarmHistoryPolicy Permite descrever o histórico CloudWatch de alarmes.
CloudWatchPutMetricPolicy Permite enviar métricas para CloudWatch o.
CodeCommitCrudPolicy Concede permissões a create/read/update/delete objetos em um CodeCommit repositório específico.
CodeCommitReadPolicy Concede permissões para ler objetos em um CodeCommit repositório específico.
CodePipelineLambdaExecutionPolicy Permite que uma função Lambda invocada por relate CodePipeline o status do trabalho.
CodePipelineReadOnlyPolicy Dá permissão de leitura para obter detalhes sobre um CodePipeline funil.
ComprehendBasicAccessPolicy Concede permissão para a detecção de entidades, frases-chave, idiomas e sentimentos.
CostExplorerReadOnlyPolicy Fornece permissão somente de leitura ao Cost APIs Explorer somente para leitura para o histórico de faturamento.
DynamoDBBackupFullAccessPolicy Concede permissão de leitura e gravação aos backups do DynamoDB sob demanda para uma tabela.
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 para uma tabela do DynamoDB.
DynamoDBReconfigurePolicy Concede permissão para reconfigurar uma tabela do DynamoDB.
DynamoDBRestoreFromBackupPolicy Concede permissão para restaurar uma tabela do DynamoDB do backup.
DynamoDBStreamReadPolicy Concede permissão para descrever e ler streams e registros do DynamoDB.
DynamoDBWritePolicy Concede permissão somente gravação a uma tabela do DynamoDB.
EC2CopyImagePolicy Permite copiar EC2 imagens da Amazon.
EC2DescribePolicy Dá permissão para descrever instâncias do Amazon Elastic Compute Cloud (AmazonEC2).
EcsRunTaskPolicy Concede permissão para iniciar uma nova tarefa para uma definição de tarefa.
EFSWriteAccessPolicy Permite montar um sistema de EFS arquivos da Amazon com acesso de gravação.
EKSDescribePolicy Dá permissão para descrever ou listar EKS clusters da Amazon.
ElasticMapReduceAddJobFlowStepsPolicy Concede permissão para adicionar novas etapas a um cluster em execução.
ElasticMapReduceCancelStepsPolicy Concede permissão para cancelar uma etapa ou etapas pendentes em um cluster em execução.
ElasticMapReduceModifyInstanceFleetPolicy Concede permissão para listar detalhes e modificar capacidades para frotas de instâncias em um cluster.
ElasticMapReduceModifyInstanceGroupsPolicy Concede permissão para listar detalhes e modificar configurações para grupos de instâncias em um cluster.
ElasticMapReduceSetTerminationProtectionPolicy Concede permissão para definir a proteção contra encerramento para um cluster.
ElasticMapReduceTerminateJobFlowsPolicy Concede permissão para encerrar um cluster.
ElasticsearchHttpPostPolicy Dá POST permissão ao Amazon OpenSearch Service.
EventBridgePutEventsPolicy Concede permissões para enviar eventos para EventBridge o.
FilterLogEventsPolicy Permite filtrar eventos de CloudWatch registros de um grupo de registros especificado.
FirehoseCrudPolicy Concede permissão para criar, gravar, atualizar e excluir um fluxo de entrega do Firehose.
FirehoseWritePolicy Concede permissão para gravar em um fluxo de entrega do Firehose.
KinesisCrudPolicy Concede permissão para criar, publicar e excluir um Amazon Kinesis Stream.
KinesisStreamReadPolicy Concede permissão para listar e ler um Amazon Kinesis Stream.
KMSDecryptPolicy Dá permissão para descriptografar com uma chave AWS Key Management Service ()AWS KMS.
KMSEncryptPolicy Dá permissão para criptografar com uma chave AWS Key Management Service (AWS KMS).
LambdaInvokePolicy Permite invocar uma AWS Lambda função, alias ou versão.
MobileAnalyticsWriteOnlyAccessPolicy Concede permissão somente gravação para colocar dados de eventos para todos os recursos de aplicativos.
OrganizationsListAccountsPolicy Concede permissão somente para leitura para listar nomes de contas infantis e. IDs
PinpointEndpointAccessPolicy Concede permissão para obter e atualizar endpoints para um aplicativo Amazon Pinpoint.
PollyFullAccessPolicy Concede permissão de acesso total aos recursos de léxico do Amazon Polly.
RekognitionDetectOnlyPolicy Concede permissão para detectar faces, rótulos e texto.
RekognitionFacesManagementPolicy Concede permissão para adicionar, excluir e pesquisar faces em uma coleção do Amazon Rekognition.
RekognitionFacesPolicy Concede permissão para comparar e detectar faces e rótulos.
RekognitionLabelsPolicy Concede permissão para detectar rótulos de objetos e moderação.
RekognitionNoDataAccessPolicy Concede permissão para comparar e detectar faces e rótulos.
RekognitionReadPolicy Concede permissão para listar e pesquisar faces.
RekognitionWriteOnlyAccessPolicy Concede permissão para criar faces de coleção e índice.
Route53ChangeResourceRecordSetsPolicy Concede permissão para alterar conjuntos de registros de recursos no Route 53.
S3CrudPolicy Concede permissão de criação, leitura, atualização e exclusão para atuar nos objetos em um bucket do Amazon S3.
S3FullAccessPolicy Concede permissão de acesso total para atuar nos objetos em um bucket do Amazon S3.
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.
SageMakerCreateEndpointConfigPolicy Permite criar uma configuração de endpoint na SageMaker IA.
SageMakerCreateEndpointPolicy Dá permissão para criar um endpoint na SageMaker IA.
ServerlessRepoReadWriteAccessPolicy Permite criar e listar aplicativos no AWS Serverless Application Repository serviço.
SESBulkTemplatedCrudPolicy Concede permissão para enviar e-mail, e-mail modelo, e-mail em massa modelo e verificar identidade.
SESBulkTemplatedCrudPolicy_v2 Permite enviar SES e-mails, e-mails modelados e e-mails em massa modelados para a Amazon e verificar a identidade.
SESCrudPolicy Concede permissão para enviar e-mails e verificar identidades.
SESEmailTemplateCrudPolicy Permite criar, obter, listar, atualizar e excluir modelos de SES e-mail da Amazon.
SESSendBouncePolicy Concede SendBounce permissão a uma identidade do Amazon Simple Email Service (AmazonSES).
SNSCrudPolicy Permite criar, publicar e assinar SNS tópicos da Amazon.
SNSPublishMessagePolicy Permite publicar uma mensagem em um tópico do Amazon Simple Notification Service (AmazonSNS).
SQSPollerPolicy Permite pesquisar uma fila do Amazon Simple Queue Service SQS (Amazon).
SQSSendMessagePolicy Permite enviar mensagens para uma SQS fila da Amazon.
SSMParameterReadPolicy Permite acessar um parâmetro de um repositório de parâmetros do Amazon EC2 Systems Manager (SSM) para carregar segredos nessa conta. Use quando o nome do parâmetro não tiver prefixo de barra.
SSMParameterWithSlashPrefixReadPolicy Permite acessar um parâmetro de um repositório de parâmetros do Amazon EC2 Systems Manager (SSM) para carregar segredos nessa conta. Use quando o nome do parâmetro tiver prefixo de barra.
StepFunctionsExecutionPolicy Concede permissão para iniciar a execução de uma máquina de estado do Step Functions.
TextractDetectAnalyzePolicy Concede acesso para detectar e analisar documentos com Amazon Textract.
TextractGetResultPolicy Concede acesso para detectar e analisar documentos com o Amazon Textract.
TextractPolicy Concede acesso total ao Amazon Textract.
VPCAccessPolicy Concede acesso para criar, excluir, descrever e desanexar interfaces de rede elásticas.

Solução de problemas

SAMCLIerro: “É necessário especificar valores de parâmetros 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 no exemplo a seguir para CloudWatchPutMetricPolicy.

MyFunction: Policies: - CloudWatchPutMetricPolicy: {}