Plantillas de política de AWS SAM - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Plantillas de política de AWS SAM

El AWS Serverless Application Model (AWS SAM) le permite elegir de una lista de plantillas de políticas para limitar los permisos de las funciones y máquinas de AWS Step Functions estado de Lambda a los recursos que utiliza la aplicación.

AWS SAM las aplicaciones AWS Serverless Application Repository que utilizan plantillas de políticas no requieren ningún reconocimiento especial del cliente para implementar la aplicación desde. AWS Serverless Application Repository

Si desea solicitar que se agregue una nueva plantilla de política, haga lo siguiente:

  1. Envía una solicitud de incorporación de datos utilizando el archivo fuente policy_templates.json de la rama del proyecto. develop AWS SAM GitHub Puedes encontrar el archivo fuente en policy_templates.json en el sitio web. GitHub

  2. Envía una incidencia en el AWS SAM GitHub proyecto que incluya los motivos de tu solicitud de cambios y un enlace a la solicitud. Utilice este enlace para enviar una nueva edición: Issues AWS Serverless Application Model.

Sintaxis

Para cada plantilla de política que especifiques en tu archivo de AWS SAM plantilla, siempre debes especificar un objeto que contenga los valores de los marcadores de posición de la plantilla de política. Si una plantilla de política no requiere ningún valor de marcador de posición, debe especificar un objeto vacío.

YAML

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

Ejemplos

Ejemplo 1: plantilla de política con valores de marcador de posición

El siguiente ejemplo muestra que la plantilla de política SQSPollerPolicy espera QueueName como recurso. La AWS SAM plantilla recupera el nombre de la cola "MyQueue" de Amazon SQS, que puede crear en la misma aplicación o solicitarla como parámetro de la aplicación.

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

Ejemplo 2: plantilla de política sin valores de marcador de posición

El ejemplo siguiente contiene la plantilla de política CloudWatchPutMetricPolicy, que no tiene valores de marcador de posición.

nota

Aunque no haya valores de marcador de posición, debe especificar un objeto vacío; de lo contrario, se producirá un error.

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

Tabla de plantillas de políticas

La siguiente es una tabla de las plantillas de políticas disponibles.

Plantilla de política Descripción
AcmGetCertificatePolicy Otorga permiso para leer un certificado desde. AWS Certificate Manager
AMIDescribePolicy Concede permiso para describir imágenes de máquina de Amazon (AMI).
AthenaQueryPolicy Concede permisos para ejecutar consultas de Athena.
AWSSecretsManagerGetSecretValuePolicy Concede permiso para obtener el valor secreto del secreto AWS Secrets Manager especificado.
AWSSecretsManagerRotationPolicy Concede permiso para transferir un secreto AWS Secrets Manager.
CloudFormationDescribeStacksPolicy Da permiso para describir las AWS CloudFormation pilas.
CloudWatchDashboardPolicy Otorga permisos para poner las métricas en los CloudWatch paneles de control para que funcionen.
CloudWatchDescribeAlarmHistoryPolicy Da permiso para describir el historial CloudWatch de alarmas.
CloudWatchPutMetricPolicy Da permiso para enviar métricas a CloudWatch.
CodeCommitCrudPolicy Otorga permisos para crear, leer, actualizar o eliminar objetos dentro de un repositorio específico. CodeCommit
CodeCommitReadPolicy Otorga permisos para leer objetos dentro de un repositorio específico. CodeCommit
CodePipelineLambdaExecutionPolicy Da permiso para que una función Lambda invocada por CodePipeline informe del estado del trabajo.
CodePipelineReadOnlyPolicy Otorga permiso de lectura para obtener detalles sobre una CodePipeline canalización.
ComprehendBasicAccessPolicy Concede permiso para detectar entidades, frases clave, idiomas y sentimientos.
CostExplorerReadOnlyPolicy Concede permisos de solo lectura a las API de Cost Explorer de solo lectura para el historial de facturación.
DynamoDBBackupFullAccessPolicy Concede permiso de lectura y escritura a las copias de seguridad bajo demanda de DynamoDB para una tabla.
DynamoDBCrudPolicy Concede permisos de creación, lectura, actualización y eliminación a una tabla de Amazon DynamoDB.
DynamoDBReadPolicy Concede permiso de solo lectura a una tabla DynamoDB.
DynamoDBReconfigurePolicy Concede permiso para volver a configurar una tabla DynamoDB.
DynamoDBRestoreFromBackupPolicy Concede permiso para restaurar una tabla de DynamoDB a partir de una copia de seguridad.
DynamoDBStreamReadPolicy Concede permiso para describir y leer flujos y registros de DynamoDB.
DynamoDBWritePolicy Concede permiso de solo escritura a una tabla DynamoDB.
EC2CopyImagePolicy Concede permiso para copiar imágenes de Amazon EC2.
EC2DescribePolicy Concede permiso para describir instancias de Amazon Elastic Compute Cloud (Amazon EC2).
EcsRunTaskPolicy Concede permiso para iniciar una nueva tarea para una definición de tarea.
EFSWriteAccessPolicy Concede permiso para montar un sistema de archivos de Amazon EFS con acceso de escritura.
EKSDescribePolicy Concede permiso para describir o enumerar los clústeres de Amazon EKS.
ElasticMapReduceAddJobFlowStepsPolicy Concede permiso para añadir nuevos pasos a un clúster en ejecución.
ElasticMapReduceCancelStepsPolicy Concede permiso para cancelar un paso o pasos pendientes en un clúster en ejecución.
ElasticMapReduceModifyInstanceFleetPolicy Concede permiso para enumerar detalles y modificar las capacidades para las flotas de instancia de un clúster.
ElasticMapReduceModifyInstanceGroupsPolicy Concede permiso para enumerar los detalles y modificar la configuración de los grupos de instancias de un clúster.
ElasticMapReduceSetTerminationProtectionPolicy Concede permiso para establecer la protección de terminación para un clúster.
ElasticMapReduceTerminateJobFlowsPolicy Concede permiso para cerrar un clúster.
ElasticsearchHttpPostPolicy Otorga permiso POST a Amazon OpenSearch Service.
EventBridgePutEventsPolicy Otorga permisos para enviar eventos a EventBridge.
FilterLogEventsPolicy Otorga permiso para filtrar CloudWatch los eventos de registros de un grupo de registros especificado.
FirehoseCrudPolicy Otorga permiso para crear, escribir, actualizar y eliminar una transmisión de entrega de Firehose.
FirehoseWritePolicy Da permiso para escribir en una transmisión de entrega de Firehose.
KinesisCrudPolicy Concede permiso para crear, publicar y eliminar un flujo de Amazon Kinesis.
KinesisStreamReadPolicy Concede permiso para listar y leer un flujo de Amazon Kinesis.
KMSDecryptPolicy Da permiso para descifrar con una clave AWS Key Management Service (AWS KMS).
KMSEncryptPolicy Da permiso para cifrar con una clave AWS Key Management Service (AWS KMS).
LambdaInvokePolicy Da permiso para invocar una AWS Lambda función, un alias o una versión.
MobileAnalyticsWriteOnlyAccessPolicy Concede permiso de solo escritura para poner datos de eventos para todos los recursos de la aplicación.
OrganizationsListAccountsPolicy Concede permisos de solo lectura para incluir los nombres e ID de las cuentas secundarias.
PinpointEndpointAccessPolicy Concede permiso para obtener y actualizar puntos de conexión para una aplicación de Amazon Pinpoint.
PollyFullAccessPolicy Concede permiso de acceso completo a los recursos del léxico de Amazon Polly.
RekognitionDetectOnlyPolicy Concede permiso para detectar rostros, etiquetas y texto.
RekognitionFacesManagementPolicy Concede permiso para añadir, eliminar y buscar rostros en una colección de Amazon Rekognition.
RekognitionFacesPolicy Concede permiso para comparar y detectar rostros y etiquetas.
RekognitionLabelsPolicy Concede permiso para detectar etiquetas de objetos y de moderación.
RekognitionNoDataAccessPolicy Concede permiso para comparar y detectar rostros y etiquetas.
RekognitionReadPolicy Concede permiso para enumerar y buscar rostros.
RekognitionWriteOnlyAccessPolicy Concede permiso para crear colecciones e indexar rostros.
Route53ChangeResourceRecordSetsPolicy Concede permiso para cambiar los conjuntos de registros de recursos en Route 53.
S3CrudPolicy Concede permisos de creación, lectura, actualización y eliminación para actuar en los objetos de un bucket de Amazon S3.
S3FullAccessPolicy Concede permiso de acceso completo para actuar sobre los objetos de un bucket de Amazon S3.
S3ReadPolicy Concede permiso de solo lectura para leer objetos en un bucket de Amazon Simple Storage Service (Amazon S3).
S3WritePolicy Concede permiso de escritura para escribir objetos en un bucket de Amazon S3.
SageMakerCreateEndpointConfigPolicy Da permiso para crear una configuración de punto final en SageMaker.
SageMakerCreateEndpointPolicy Da permiso para crear un punto final en SageMaker.
ServerlessRepoReadWriteAccessPolicy Otorga permiso para crear y enumerar aplicaciones en el AWS Serverless Application Repository servicio.
SESBulkTemplatedCrudPolicy Concede permiso para enviar correos electrónicos, correos electrónicos con plantillas, correos electrónicos masivos con plantillas y verificar la identidad.
SESBulkTemplatedCrudPolicy_v2 Concede permiso para enviar correos electrónicos, correos electrónicos con plantillas y correos electrónicos masivos con plantillas de Amazon SES y para verificar la identidad.
SESCrudPolicy Concede permiso para enviar correo electrónico y verificar la identidad.
SESEmailTemplateCrudPolicy Concede permiso para crear, obtener, enumerar, actualizar y eliminar plantillas de correo electrónico de Amazon SES.
SESSendBouncePolicy Concede SendBounce permiso a una identidad de Amazon Simple Email Service (Amazon SES).
SNSCrudPolicy Concede permisos para crear, publicar y suscribirse a temas de Amazon SNS.
SNSPublishMessagePolicy Concede permiso para publicar un mensaje en un tema de Amazon Simple Notification Service (Amazon SNS).
SQSPollerPolicy Concede permiso para sondear una cola de Amazon Simple Queue Service (Amazon SQS).
SQSSendMessagePolicy Concede permisos para enviar mensajes a una cola de Amazon SQS.
SSMParameterReadPolicy Concede permiso para acceder a un parámetro de un almacén de parámetros de Amazon EC2 Systems Manager (SSM) para cargar secretos en esta cuenta. Se utiliza cuando el nombre del parámetro no tiene un prefijo de barra inclinada.
SSMParameterWithSlashPrefixReadPolicy Concede permiso para acceder a un parámetro de un almacén de parámetros de Amazon EC2 Systems Manager (SSM) para cargar secretos en esta cuenta. Se utiliza cuando el nombre del parámetro tiene un prefijo de barra diagonal.
StepFunctionsExecutionPolicy Concede permiso para iniciar la ejecución de una máquina de estado de Step Functions.
TextractDetectAnalyzePolicy Concede acceso para detectar y analizar documentos con Amazon Textract.
TextractGetResultPolicy Concede acceso a documentos detectados y analizados desde Amazon Textract.
TextractPolicy Proporciona acceso completo a Amazon Textract.
VPCAccessPolicy Permite crear, eliminar, describir y eliminar interfaces de red elásticas.

Solución de problemas

Error de la CLI de SAM: «Debe especificar valores de parámetros válidos para la plantilla de política '< policy-template-name >'»

Al ejecutar sam build, verá el siguiente error:

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

Esto significa que no pasó un objeto vacío al declarar una plantilla de política que no tiene ningún valor de marcador de posición.

Para solucionar este problema, declare la política como se muestra en el siguiente ejemplo paraCloudWatchPutMetricPolicy.

MyFunction: Policies: - CloudWatchPutMetricPolicy: {}