AWS SAM Richtlinienvorlagen - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS SAM Richtlinienvorlagen

Mit AWS Serverless Application Model (AWS SAM) können Sie aus einer Liste von Richtlinienvorlagen auswählen, um die Berechtigungen Ihrer Lambda-Funktionen und AWS Step Functions Zustandsmaschinen auf die Ressourcen zu beschränken, die von Ihrer Anwendung verwendet werden.

AWS SAM Für Anwendungen in der AWS Serverless Application Repository , die Richtlinienvorlagen verwenden, ist keine besondere Bestätigung durch den Kunden erforderlich, um die Anwendung über die bereitzustellen. AWS Serverless Application Repository

Wenn Sie das Hinzufügen einer neuen Richtlinienvorlage anfordern möchten, führen Sie die folgenden Schritte aus:

  1. Reichen Sie einen Pull-Request für die Quelldatei policy_templates.json im Branch des Projekts ein. develop AWS SAM GitHub Sie finden die Quelldatei in policy_templates.json auf der Website. GitHub

  2. Reichen Sie im AWS SAM GitHub Projekt ein Problem ein, das die Gründe für Ihre Pull-Anfrage und einen Link zur Anfrage enthält. Verwenden Sie diesen Link, um ein neues Problem einzureichen AWS Serverless Application Model: Probleme.

Syntax

Für jede Richtlinienvorlage, die Sie in Ihrer AWS SAM Vorlagendatei angeben, müssen Sie immer ein Objekt angeben, das die Platzhalterwerte der Richtlinienvorlage enthält. Wenn für eine Richtlinienvorlage keine Platzhalterwerte erforderlich sind, müssen Sie ein leeres Objekt angeben.

YAML

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

Beispiele

Beispiel 1: Richtlinienvorlage mit Platzhalterwerten

Das folgende Beispiel zeigt, dass die SQSPollerPolicy-Richtlinienvorlage als Ressource einen QueueName erwartet. Die AWS SAM Vorlage ruft den Namen der "MyQueue" Amazon SQS SQS-Warteschlange ab, die Sie in derselben Anwendung erstellen oder als Parameter für die Anwendung anfordern können.

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

Beispiel 2: Richtlinienvorlage ohne Platzhalterwerten

Das folgende Beispiel enthält die CloudWatchPutMetricPolicy-Richtlinienvorlage ohne Platzhalterwerte.

Anmerkung

Auch wenn es keine Platzhalterwerte gibt, müssen Sie ein leeres Objekt angeben, da andernfalls ein Fehler auftritt.

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

Tabelle mit Richtlinienvorlagen

In der folgenden Tabelle sind die verfügbaren Richtlinienvorlagen aufgeführt.

Richtlinienvorlage Beschreibung
AcmGetCertificatePolicy Erteilt die Berechtigung zum Lesen eines Zertifikats von AWS Certificate Manager.
AMIDescribePolicy Erteilt die Erlaubnis, Amazon Machine Images (AMIs) zu beschreiben.
AthenaQueryPolicy Erteilt Berechtigungen zur Ausführung von Athena-Abfragen.
AWSSecretsManagerGetSecretValuePolicy Erteilt die Erlaubnis, den geheimen Wert für das angegebene AWS Secrets Manager Geheimnis abzurufen.
AWSSecretsManagerRotationPolicy Erteilt die Erlaubnis, ein Geheimnis abwechselnd einzugeben AWS Secrets Manager.
CloudFormationDescribeStacksPolicy Erteilt die Erlaubnis, AWS CloudFormation Stapel zu beschreiben.
CloudWatchDashboardPolicy Erteilt die Erlaubnis, Metriken auf CloudWatch Dashboards zu platzieren.
CloudWatchDescribeAlarmHistoryPolicy Erteilt die Erlaubnis, den CloudWatch Alarmverlauf zu beschreiben.
CloudWatchPutMetricPolicy Erteilt die Erlaubnis, Metriken an zu senden CloudWatch.
CodeCommitCrudPolicy Erteilt Berechtigungen zum Erstellen/Lesen/Aktualisieren/Löschen von Objekten innerhalb eines bestimmten Repositorys. CodeCommit
CodeCommitReadPolicy Erteilt Berechtigungen zum Lesen von Objekten innerhalb eines bestimmten Repositorys. CodeCommit
CodePipelineLambdaExecutionPolicy Erteilt die Erlaubnis für eine Lambda-Funktion, die von aufgerufen wird CodePipeline , um den Status des Jobs zu melden.
CodePipelineReadOnlyPolicy Erteilt die Leseberechtigung zum Abrufen von Details zu einer CodePipeline Pipeline.
ComprehendBasicAccessPolicy Erteilt die Berechtigung zum Erkennen von Entitäten, Schlüsselbegriffen, Sprachen und Stimmungen.
CostExplorerReadOnlyPolicy Erteilt den schreibgeschützten Cost Explorer Explorer-APIs für den Abrechnungsverlauf Leseberechtigungen.
DynamoDBBackupFullAccessPolicy Erteilt Lese- und Schreibberechtigungen für DynamoDB-Backups auf Abruf für eine Tabelle.
DynamoDBCrudPolicy Erteilt Erstellungs-, Lese-, Aktualisierungs- und Löschberechtigungen für eine Amazon DynamoDB-Tabelle.
DynamoDBReadPolicy Erteilt einer DynamoDB-Tabelle nur Leseberechtigungen.
DynamoDBReconfigurePolicy Erteilt die Erlaubnis, eine DynamoDB-Tabelle neu zu konfigurieren.
DynamoDBRestoreFromBackupPolicy Erteilt die Erlaubnis, eine DynamoDB-Tabelle aus einem Backup wiederherzustellen.
DynamoDBStreamReadPolicy Erlaubt das Beschreiben und Lesen von DynamoDB-Streams und -Datensätzen.
DynamoDBWritePolicy Erteilt nur Schreibberechtigungen für eine DynamoDB-Tabelle.
EC2CopyImagePolicy Erlaubt das Kopieren von Amazon EC2 EC2-Images.
EC2DescribePolicy Erteilt die Erlaubnis, Amazon Elastic Compute Cloud (Amazon EC2) -Instances zu beschreiben.
EcsRunTaskPolicy Erteilt die Erlaubnis, eine neue Aufgabe für eine Aufgabendefinition zu starten.
EFSWriteAccessPolicy Erteilt die Erlaubnis, ein Amazon EFS-Dateisystem mit Schreibzugriff zu mounten.
EKSDescribePolicy Erteilt die Erlaubnis, Amazon EKS-Cluster zu beschreiben oder aufzulisten.
ElasticMapReduceAddJobFlowStepsPolicy Erteilt die Erlaubnis, einem laufenden Cluster neue Schritte hinzuzufügen.
ElasticMapReduceCancelStepsPolicy Erteilt die Erlaubnis, einen oder mehrere ausstehende Schritte in einem laufenden Cluster abzubrechen.
ElasticMapReduceModifyInstanceFleetPolicy Erteilt die Erlaubnis, Details für Instance-Flotten innerhalb eines Clusters aufzulisten und Kapazitäten zu ändern.
ElasticMapReduceModifyInstanceGroupsPolicy Erteilt die Erlaubnis, Details aufzulisten und Einstellungen für Instanzgruppen innerhalb eines Clusters zu ändern.
ElasticMapReduceSetTerminationProtectionPolicy Erteilt die Erlaubnis, den Kündigungsschutz für einen Cluster festzulegen.
ElasticMapReduceTerminateJobFlowsPolicy Erteilt die Erlaubnis, einen Cluster herunterzufahren.
ElasticsearchHttpPostPolicy Erteilt Amazon OpenSearch Service die POST-Berechtigung.
EventBridgePutEventsPolicy Erteilt Berechtigungen zum Senden von Ereignissen an EventBridge.
FilterLogEventsPolicy Erteilt die Berechtigung, CloudWatch Log-Ereignisse aus einer bestimmten Protokollgruppe zu filtern.
FirehoseCrudPolicy Erteilt die Erlaubnis, einen Firehose-Lieferstream zu erstellen, zu schreiben, zu aktualisieren und zu löschen.
FirehoseWritePolicy Erteilt die Erlaubnis, in einen Firehose-Lieferstream zu schreiben.
KinesisCrudPolicy Erteilt die Erlaubnis, einen Amazon Kinesis Kinesis-Stream zu erstellen, zu veröffentlichen und zu löschen.
KinesisStreamReadPolicy Erteilt die Erlaubnis, einen Amazon Kinesis Kinesis-Stream aufzulisten und zu lesen.
KMSDecryptPolicy Erteilt die Erlaubnis zum Entschlüsseln mit einem AWS Key Management Service (AWS KMS) -Schlüssel.
KMSEncryptPolicy Erteilt die Erlaubnis, mit einem Schlüssel AWS Key Management Service (AWS KMS) zu verschlüsseln.
LambdaInvokePolicy Erteilt die Erlaubnis, eine AWS Lambda Funktion, einen Alias oder eine Version aufzurufen.
MobileAnalyticsWriteOnlyAccessPolicy Erteilt nur Schreibzugriff zum Speichern von Ereignisdaten für alle Anwendungsressourcen.
OrganizationsListAccountsPolicy Erteilt die Leseberechtigung zum Auflisten der Kontonamen und IDs von Kindern.
PinpointEndpointAccessPolicy Erteilt die Erlaubnis, Endpunkte für eine Amazon Pinpoint Pinpoint-Anwendung abzurufen und zu aktualisieren.
PollyFullAccessPolicy Gewährt vollen Zugriff auf Amazon Polly Polly-Lexikonressourcen.
RekognitionDetectOnlyPolicy Erteilt die Erlaubnis, Gesichter, Beschriftungen und Text zu erkennen.
RekognitionFacesManagementPolicy Erlaubt das Hinzufügen, Löschen und Suchen von Gesichtern in einer Amazon Rekognition Rekognition-Sammlung.
RekognitionFacesPolicy Erlaubt das Vergleichen und Erkennen von Gesichtern und Labels.
RekognitionLabelsPolicy Erteilt die Erlaubnis, Objekt- und Moderationsbezeichnungen zu erkennen.
RekognitionNoDataAccessPolicy Erlaubt das Vergleichen und Erkennen von Gesichtern und Labels.
RekognitionReadPolicy Erlaubt das Auflisten und Suchen von Gesichtern.
RekognitionWriteOnlyAccessPolicy Erteilt die Erlaubnis, Gesichter in einer Sammlung zu erstellen und zu indexieren.
Route53ChangeResourceRecordSetsPolicy Erteilt die Erlaubnis, Ressourcendatensätze in Route 53 zu ändern.
S3CrudPolicy Erteilt Erstellungs-, Lese-, Aktualisierungs- und Löschberechtigungen, um auf die Objekte in einem Amazon S3 S3-Bucket zu reagieren.
S3FullAccessPolicy Erteilt die volle Zugriffsberechtigung, um auf die Objekte in einem Amazon S3 S3-Bucket zu reagieren.
S3ReadPolicy Erteilt nur Leseberechtigungen zum Lesen von Objekten in einem Amazon Simple Storage Service (Amazon S3) -Bucket.
S3WritePolicy Erteilt Schreibberechtigungen zum Schreiben von Objekten in einen Amazon S3 S3-Bucket.
SageMakerCreateEndpointConfigPolicy Erteilt die Erlaubnis, eine Endpunktkonfiguration in zu erstellen SageMaker.
SageMakerCreateEndpointPolicy Erteilt die Erlaubnis, einen Endpunkt in zu erstellen SageMaker.
ServerlessRepoReadWriteAccessPolicy Erteilt die Erlaubnis, Anwendungen im AWS Serverless Application Repository Dienst zu erstellen und aufzulisten.
SESBulkTemplatedCrudPolicy Erteilt die Erlaubnis, E-Mails, E-Mails mit Vorlagen und Massen-E-Mails mit Vorlagen zu senden und die Identität zu überprüfen.
SESBulkTemplatedCrudPolicy_v2 Erteilt die Erlaubnis, Amazon SES SES-E-Mails, E-Mail-Vorlagen und Massen-E-Mails mit Vorlagen zu senden und die Identität zu überprüfen.
SESCrudPolicy Erteilt die Erlaubnis, E-Mails zu senden und die Identität zu überprüfen.
SESEmailTemplateCrudPolicy Erteilt die Erlaubnis, Amazon SES SES-E-Mail-Vorlagen zu erstellen, abzurufen, aufzulisten, zu aktualisieren und zu löschen.
SESSendBouncePolicy SendBounce Erteilt die Erlaubnis für eine Amazon Simple Email Service (Amazon SES) -Identität.
SNSCrudPolicy Erteilt die Erlaubnis, Amazon SNS SNS-Themen zu erstellen, zu veröffentlichen und zu abonnieren.
SNSPublishMessagePolicy Erteilt die Erlaubnis, eine Nachricht zu einem Amazon Simple Notification Service (Amazon SNS) -Thema zu veröffentlichen.
SQSPollerPolicy Erteilt die Erlaubnis, eine Amazon Simple Queue Service (Amazon SQS) -Warteschlange abzufragen.
SQSSendMessagePolicy Erteilt die Erlaubnis, Nachrichten an eine Amazon SQS SQS-Warteschlange zu senden.
SSMParameterReadPolicy Erteilt die Erlaubnis, auf einen Parameter aus einem Amazon EC2 Systems Manager (SSM) -Parameterspeicher zuzugreifen, um Geheimnisse in dieses Konto zu laden. Wird verwendet, wenn der Parametername kein Schrägstrich-Präfix hat.
SSMParameterWithSlashPrefixReadPolicy Erteilt die Erlaubnis, auf einen Parameter aus einem Amazon EC2 Systems Manager (SSM) -Parameterspeicher zuzugreifen, um Geheimnisse in dieses Konto zu laden. Wird verwendet, wenn der Parametername ein Schrägstrich-Präfix hat.
StepFunctionsExecutionPolicy Erteilt die Erlaubnis, die Ausführung einer Step Functions Functions-Zustandsmaschine zu starten.
TextractDetectAnalyzePolicy Ermöglicht den Zugriff auf die Erkennung und Analyse von Dokumenten mit Amazon Textract.
TextractGetResultPolicy Ermöglicht den Zugriff auf erkannte und analysierte Dokumente von Amazon Textract.
TextractPolicy Gewährt vollen Zugriff auf Amazon Textract.
VPCAccessPolicy Ermöglicht das Erstellen, Löschen, Beschreiben und Trennen von Elastic Network-Schnittstellen.

Fehlerbehebung

SAM-CLI-Fehler: „Gültige Parameterwerte für die Richtlinienvorlage '< policy-template-name >' müssen angegeben werden“

Bei der Ausführung von sam build wird der folgende Fehler angezeigt:

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

Das bedeutet, dass Sie bei der Deklaration einer Richtlinienvorlage, die keine Platzhalterwerte enthält, kein leeres Objekt übergeben haben.

Um dieses Problem zu beheben, deklarieren Sie die Richtlinie wie im folgenden Beispiel für. CloudWatchPutMetricPolicy

MyFunction: Policies: - CloudWatchPutMetricPolicy: {}