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 o escopo das permissões de suas funções Lambda e AWS Step Functions máquinas de estado para os recursos usados por seu aplicativo.
Os aplicativos AWS SAM no 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:
-
Envie uma solicitação pull no arquivo de origem policy_templates.json na
develop
ramificação do AWS SAM do projeto do GitHub. Você pode encontrar o arquivo de origem em policy_templates.jsonno site do GitHub. -
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. 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 modelo AWS SAM , 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 modelo do AWS SAM recupera o nome da fila "MyQueue
" do Amazon SQS, que você pode ser criado no mesmo aplicativo ou solicitado como 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 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 | Dá permissão para ler um certificado do AWS Certificate Manager. |
AMIDescribePolicy | Concede permissão para descrever Imagens de máquina da Amazon (AMI). |
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 pilhas do AWS CloudFormation. |
CloudWatchDashboardPolicy | Concede permissões para colocar métricas para operar nos painéis do CloudWatch. |
CloudWatchDescribeAlarmHistoryPolicy | Concede permissão para descrever o histórico de alarmes do CloudWatch. |
CloudWatchPutMetricPolicy | Concede permissão para enviar métricas para o CloudWatch. |
CodeCommitCrudPolicy | Concede permissões para criar, ler, atualizar e excluir objetos em um repositório específico do CodeCommit. |
CodeCommitReadPolicy | Concede permissões para ler objetos em um repositório específico do CodeCommit. |
CodePipelineLambdaExecutionPolicy | Concede permissão para uma função do Lambda invocada pelo CodePipeline para relatar o status do trabalho. |
CodePipelineReadOnlyPolicy | Concede permissões de leitura para obter detalhes sobre uma pipeline do CodePipeline. |
ComprehendBasicAccessPolicy | Concede permissão para a detecção de entidades, frases-chave, idiomas e sentimentos. |
CostExplorerReadOnlyPolicy | Concede permissão somente leitura às APIs Cost Explorer somente leitura para 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 | Concede permissão para copiar imagens do Amazon EC2. |
EC2DescribePolicy | Concede permissão para descrever instâncias do Amazon Elastic Compute Cloud (Amazon EC2). |
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. |
EKSDescribePolicy | Concede permissão para descrever ou listar clusters do Amazon EKS. |
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 | Concede permissão de POST ao Amazon OpenSearch Service. |
EventBridgePutEventsPolicy | Concede permissões para enviar eventos ao EventBridge. |
FilterLogEventsPolicy | Concede permissão para filtrar eventos de logs do CloudWatch de um grupo de logs 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 | Concede permissão para descriptografar com uma chave AWS Key Management Service (AWS KMS). |
KMSEncryptPolicy | Concede permissão para criptografar com uma chave AWS Key Management Service (AWS KMS). |
LambdaInvokePolicy | Concede permissão para invocar uma função AWS Lambda, um alias ou uma 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 e IDs de contas secundárias. |
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 | Concede permissão para criar uma configuração de endpoint no SageMaker. |
SageMakerCreateEndpointPolicy | Concede permissão para criar um endpoint no SageMaker. |
ServerlessRepoReadWriteAccessPolicy | Concede permissões para criar e listar aplicativos no serviço do AWS Serverless Application Repository. |
SESBulkTemplatedCrudPolicy | Concede permissão para enviar e-mail, e-mail modelo, e-mail em massa modelo e verificar identidade. |
SESBulkTemplatedCrudPolicy_v2 | Concede permissão para enviar e-mails, e-mails modelados e e-mails em massa modelados para o Amazon SES e para verificar a identidade. |
SESCrudPolicy | Concede permissão para enviar e-mails e verificar identidades. |
SESEmailTemplateCrudPolicy | Concede permissão para criar, obter, listar, atualizar e excluir modelos de e-mail do Amazon SES. |
SESSendBouncePolicy | Concede permissão SendBounce a uma identidade do Amazon Simple Email Service (Amazon SES). |
SNSCrudPolicy | Concede permissão para criar, publicar e assinar tópicos do Amazon SNS. |
SNSPublishMessagePolicy | Concede permissão para publicar mensagens de eventos em um tópico do Amazon Simple Notification Service (Amazon SNS). |
SQSPollerPolicy | Concede permissão para pesquisar uma fila do Amazon Simple Queue Service (Amazon SQS). |
SQSSendMessagePolicy | Concede permissão para enviar mensagens para uma fila do Amazon SQS. |
SSMParameterReadPolicy | Concede permissão para acessar um parâmetro de um armazenamento de parâmetros do Amazon EC2 Systems Manager (SSM) para carregar segredos nesta conta. Use quando o nome do parâmetro não tiver prefixo de barra. |
SSMParameterWithSlashPrefixReadPolicy | Concede permissão para acessar um parâmetro de um armazenamento 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
Erro de CLI do SAM: “É 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: {}