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á.
AWS SAMmodelos de política
OAWS Serverless Application Model (AWS SAM) permite que você escolha entre uma lista de modelos de política para definir o escopo das permissões de suas funções e máquinas deAWS Step Functions estado do Lambda para os recursos usados pelo seu aplicativo.
AWS SAMos aplicativosAWS Serverless Application Repository que usam modelos de políticas não exigem nenhum reconhecimento especial do cliente para implantar o aplicativo a partir doAWS Serverless Application Repository.
Se deseja solicitar um novo modelo de política a ser adicionado, faça o seguinte:
-
Envie uma solicitação de pull para o arquivo de origem policy_templates.json na
develop
ramificação doAWS SAM GitHub projeto. Você pode encontrar o arquivo fonte em policy_templates.jsonno GitHub site. -
Envie um problema noAWS SAM GitHub projeto que inclua os motivos da sua pull request e um link para a solicitação. Use este link para enviar uma nova edição: AWS Serverless Application Model: Problemas
.
Sintaxe
Para cada modelo de política que você especificar em seu arquivo deAWS SAM modelo, 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ê 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. OAWS SAM modelo recupera o nome da fila "MyQueue
" do Amazon SQS, que você pode criar no mesmo aplicativo ou solicitada como um 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 modelo de políticas
A seguir está uma tabela dos modelos de políticas disponíveis.
Modelo de política | Descrição |
---|---|
AcmGetCertificatePolicy | Concede permissão para ler um certificado doAWS Certificate Manager. |
AMIDescribePolicy | Concede permissão para descrever imagens de máquina da Amazon (AMIs). |
AthenaQueryPolicy | Concede permissões para executar consultas do Athena. |
AWSSecretsManagerGetSecretValuePolicy | Concede permissão para obter o valor secreto doAWS Secrets Manager segredo especificado. |
AWSSecretsManagerRotationPolicy | Dá permissão para inserir um segredoAWS Secrets Manager. |
CloudFormationDescribeStacksPolicy | Dá permissão para descreverAWS CloudFormation pilhas. |
CloudWatchDashboardPolicy | Concede permissões para colocar métricas para operar em CloudWatch painéis. |
CloudWatchDescribeAlarmHistoryPolicy | Dá permissão para descrever o histórico CloudWatch de alarmes. |
CloudWatchPutMetricPolicy | Concede permissão para enviar métricas para CloudWatch. |
CodeCommitCrudPolicy | Concede permissões para criar/ler/atualizar/excluir objetos em um CodeCommit repositório específico. |
CodeCommitReadPolicy | Concede permissões para ler objetos em um CodeCommit repositório específico. |
CodePipelineLambdaExecutionPolicy | Concede permissão para uma função do Lambda invocada por CodePipeline para relatar o status do trabalho. |
CodePipelineReadOnlyPolicy | Concede permissão de leitura para obter detalhes sobre um CodePipeline pipeline. |
ComprehendBasicAccessPolicy | Permite detectar entidades, frases-chave, idiomas e sentimentos. |
CostExplorerReadOnlyPolicy | Concede permissão somente de leitura às APIs do Cost Explorer somente para leitura para o histórico de cobrança. |
DynamoDBBackupFullAccessPolicy | Concede permissão de leitura e gravação aos backups sob demanda do DynamoDB para uma tabela. |
DynamoDBCrudPolicy | Concede permissões criar, ler, atualizar e excluir uma tabela do Amazon DynamoDB. |
DynamoDBReadPolicy | Concede permissão somente de 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 a partir do backup. |
DynamoDBStreamReadPolicy | Concede permissão para descrever e ler streams e registros do DynamoDB. |
DynamoDBWritePolicy | Concede permissão somente de gravação para uma tabela do DynamoDB. |
EC2CopyImagePolicy | Concede permissão para copiar imagens do Amazon EC2. |
EC2DescribePolicy | Concede permissão para descrever as 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 ou mais etapas pendentes em um cluster em execução. |
ElasticMapReduceModifyInstanceFleetPolicy | Concede permissão para listar detalhes e modificar capacidades para, por exemplo, frotas dentro de um cluster. |
ElasticMapReduceModifyInstanceGroupsPolicy | Concede permissão para listar detalhes e modificar configurações de 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 desligar um cluster. |
ElasticsearchHttpPostPolicy | Concede permissão POST ao Amazon OpenSearch Service. |
EventBridgePutEventsPolicy | Concede permissões para o envio de eventos EventBridge. |
FilterLogEventsPolicy | Concede permissão para 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 Kinesis Data Firehose. |
FirehoseWritePolicy | Concede permissão para gravar em um delivery stream do Kinesis Data Firehose. |
KinesisCrudPolicy | Concede permissão para criar, publicar e excluir um stream do Amazon Kinesis. |
KinesisStreamReadPolicy | Concede permissão para listar e ler um fluxo do Amazon Kinesis. |
KMSDecryptPolicy | Dá permissão para decifrar com uma chaveAWS Key Management Service (AWS KMS). |
KMSEncryptPolicy | Concede permissão para criptografar com uma chaveAWS Key Management Service (AWS KMS). |
LambdaInvokePolicy | Concede permissão para invocar umaAWS Lambda função, alias ou versão. |
MobileAnalyticsWriteOnlyAccessPolicy | Concede permissão somente de gravação para colocar dados de eventos em todos os recursos do aplicativo. |
OrganizationsListAccountsPolicy | Concede permissão somente de leitura para listar nomes e IDs de contas infantis. |
PinpointEndpointAccessPolicy | Concede permissão para obter e atualizar endpoints para um aplicativo do Amazon Pinpoint. |
PollyFullAccessPolicy | Concede permissão de acesso total aos recursos do léxico do Amazon Polly. |
RekognitionDetectOnlyPolicy | Concede permissão para detectar rostos, rótulos e texto. |
RekognitionFacesManagementPolicy | Concede permissão para adicionar, excluir e pesquisar faces em uma coleção do Amazon Rekognition. |
RekognitionFacesPolicy | Permite comparar e detectar rostos e rótulos. |
RekognitionLabelsPolicy | Concede permissão para detectar rótulos de objeto e moderação. |
RekognitionNoDataAccessPolicy | Permite comparar e detectar rostos e rótulos. |
RekognitionReadPolicy | Dá permissão para listar e pesquisar rostos. |
RekognitionWriteOnlyAccessPolicy | Concede permissão para criar faces de coleção e indexação. |
Route53ChangeResourceRecordSetsPolicy | Concede permissão para alterar conjuntos de registros de recursos no Route 53. |
S3CrudPolicy | Concede permissão criar, ler, atualizar e excluir para agir sobre os objetos em um bucket do Amazon S3. |
S3FullAccessPolicy | Concede permissão de acesso total para agir 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 em SageMaker. |
SageMakerCreateEndpointPolicy | Concede permissão para criar um endpoint em SageMaker. |
ServerlessRepoReadWriteAccessPolicy | Concede permissão para criar e listar aplicativos noAWS Serverless Application Repository serviço. |
SESBulkTemplatedCrudPolicy | Concede permissão para enviar e-mails, e-mails modelados, e-mails em massa modelados e verificar a identidade. |
SESBulkTemplatedCrudPolicy_v2 | Concede permissão para enviar e-mails do Amazon SES, e-mails modelados e e-mails em massa modelados e para verificar a identidade. |
SESCrudPolicy | Dá permissão para enviar e-mail e verificar a identidade. |
SESEmailTemplateCrudPolicy | Concede permissão para criar, obter, listar, atualizar e excluir modelos de e-mail do Amazon SES. |
SESSendBouncePolicy | Concede SendBounce permissão para 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 uma mensagem 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 nessa 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 tem um prefixo de barra. |
StepFunctionsExecutionPolicy | Concede permissão para iniciar a execução de uma máquina de estado do Step Functions. |
TextractDetectAnalyzePolicy | Fornece acesso para detectar e analisar documentos com o Amazon Textract. |
TextractGetResultPolicy | Dá acesso para obter documentos detectados e analisados do Amazon Textract. |
TextractPolicy | Concede ao acesso total ao Amazon Textract. |
VPCAccessPolicy | Fornece acesso para criar, excluir, descrever e desanexar interfaces de rede elásticas. |
Solução de problemas
Erro do SAM CLI: “É 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 paraCloudWatchPutMetricPolicy.
MyFunction: Policies: - CloudWatchPutMetricPolicy: {}