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:
-
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.jsonauf der Website. GitHub -
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: {}