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:
-
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 -
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: {}