AWS SAM templat kebijakan - AWS Serverless Application Model

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS SAM templat kebijakan

AWS Serverless Application Model (AWS SAM) memungkinkan Anda memilih dari daftar templat kebijakan untuk mencakup izin fungsi Lambda AWS Step Functions dan mesin status ke sumber daya yang digunakan oleh aplikasi Anda.

AWS SAM aplikasi dalam AWS Serverless Application Repository yang menggunakan templat kebijakan tidak memerlukan pengakuan pelanggan khusus untuk menyebarkan aplikasi dari. AWS Serverless Application Repository

Jika Anda ingin meminta agar templat kebijakan baru ditambahkan, lakukan hal berikut:

  1. Kirim permintaan tarik terhadap file sumber policy_templates.json di cabang proyek. develop AWS SAM GitHub Anda dapat menemukan file sumber di policy_templates.json di situs web. GitHub

  2. Kirimkan masalah dalam AWS SAM GitHub proyek yang mencakup alasan permintaan tarik Anda dan tautan ke permintaan tersebut. Gunakan tautan ini untuk mengirimkan masalah baru: AWS Serverless Application Model: Permasalahan.

Sintaks

Untuk setiap templat kebijakan yang Anda tentukan dalam file AWS SAM templat, Anda harus selalu menentukan objek yang berisi nilai placeholder templat kebijakan. Jika templat kebijakan tidak memerlukan nilai pengganti, Anda harus menentukan objek yang kosong.

YAML

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

Contoh

Contoh 1: Templat kebijakan dengan nilai pengganti

Contoh berikut menunjukkan bahwa templat kebijakan SQSPollerPolicy mengasumsikan QueueName sebagai sumber daya. AWS SAM Template mengambil nama antrian Amazon SQS MyQueue "", yang dapat Anda buat dalam aplikasi yang sama atau diminta sebagai parameter untuk aplikasi.

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

Contoh 2: Templat kebijakan tanpa nilai pengganti

Contoh berikut berisi templat kebijakan CloudWatchPutMetricPolicy, yang tidak memiliki nilai pengganti.

catatan

Meskipun tidak ada nilai pengganti, Anda harus menentukan objek yang kosong, jika tidak ditentukan akan muncul sebuah kesalahan.

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

Tabel templat kebijakan

Berikut ini adalah tabel templat kebijakan yang tersedia.

Templat kebijakan Deskripsi
AcmGetCertificatePolicy Memberikan izin untuk membaca sertifikat dari AWS Certificate Manager.
AMIDescribePolicy Memberikan izin untuk menjelaskan Amazon Machine Images (AMI).
AthenaQueryPolicy Memberikan izin untuk mengeksekusi kueri Athena.
AWSSecretsManagerGetSecretValuePolicy Memberikan izin agar mendapatkan nilai rahasia untuk rahasia AWS Secrets Manager yang ditentukan.
AWSSecretsManagerRotationPolicy Memberikan izin untuk merotasi rahasia di AWS Secrets Manager.
CloudFormationDescribeStacksPolicy Memberikan izin untuk menggambarkan AWS CloudFormation tumpukan.
CloudWatchDashboardPolicy Memberikan izin untuk menempatkan metrik untuk beroperasi di CloudWatch dasbor.
CloudWatchDescribeAlarmHistoryPolicy Memberikan izin untuk menggambarkan riwayat CloudWatch alarm.
CloudWatchPutMetricPolicy Memberikan izin untuk mengirim metrik ke CloudWatch.
CodeCommitCrudPolicy Memberikan izin untuk membuat/membaca/memperbarui/menghapus objek dalam repositori tertentu. CodeCommit
CodeCommitReadPolicy Memberikan izin untuk membaca objek dalam CodeCommit repositori tertentu.
CodePipelineLambdaExecutionPolicy Memberikan izin untuk fungsi Lambda yang dipanggil oleh CodePipeline untuk melaporkan status pekerjaan.
CodePipelineReadOnlyPolicy Memberikan izin baca untuk mendapatkan detail tentang CodePipeline pipa.
ComprehendBasicAccessPolicy Memberikan izin untuk mendeteksi entitas, frasa kunci, bahasa, dan sentimen.
CostExplorerReadOnlyPolicy Memberikan izin baca-saja pada baca-saja Cost Explorer API untuk riwayat penagihan.
DynamoDBBackupFullAccessPolicy Memberikan izin membaca dan menulis pada pencadangan sesuuai permintaan DynamoDB untuk tabel.
DynamoDBCrudPolicy Memberikan izin untuk membuat, membaca, memperbarui, dan menghapus pada tabel Amazon DynamoDB.
DynamoDBReadPolicy Memberikan izin baca-saja pada tabel DynamoDB.
DynamoDBReconfigurePolicy Memberikan izin untuk mengonfigurasi ulang tabel DynamoDB.
DynamoDBRestoreFromBackupPolicy Memberikan izin untuk memulihkan tabel DynamoDB dari cadangan.
DynamoDBStreamReadPolicy Memberikan izin untuk menjelaskan dan membaca aliran dan catatan DynamoDB.
DynamoDBWritePolicy Memberikan izin tulis-saja pada tabel DynamoDB.
EC2CopyImagePolicy Memberikan izin untuk menyalin citra Amazon EC2.
EC2DescribePolicy Memberikan izin untuk menjelaskan instans Amazon Elastic Compute Cloud (Amazon EC2).
EcsRunTaskPolicy Memberikan izin agar dapat memulai tugas baru untuk definisi tugas.
EFSWriteAccessPolicy Memberikan izin untuk memasang sistem file Amazon EFS dengan akses tulis.
EKSDescribePolicy Memberikan izin untuk menjelaskan atau membuat daftar klaster Amazon EKS.
ElasticMapReduceAddJobFlowStepsPolicy Memberikan izin untuk menambahkan langkah-langkah baru agar dapat menjalankan klaster.
ElasticMapReduceCancelStepsPolicy Memberikan izin untuk membatalkan langkah yang tertunda atau langkah-langkah pada klaster yang sedang berjalan.
ElasticMapReduceModifyInstanceFleetPolicy Memberikan izin untuk membuat daftar detail dan mengubah kapasitas untuk armada instans dalam sebuah klaster.
ElasticMapReduceModifyInstanceGroupsPolicy Memberikan izin untuk membuat daftar detail dan mengubah pengaturan pada grup instans dalam klaster.
ElasticMapReduceSetTerminationProtectionPolicy Memberikan izin untuk mengatur perlindungan terminasi pada klaster.
ElasticMapReduceTerminateJobFlowsPolicy Memberikan izin untuk menutup klaster.
ElasticsearchHttpPostPolicy Memberikan izin POST ke Amazon OpenSearch Service.
EventBridgePutEventsPolicy Memberikan izin untuk mengirim acara ke EventBridge.
FilterLogEventsPolicy Memberikan izin untuk memfilter peristiwa CloudWatch Log dari grup log tertentu.
FirehoseCrudPolicy Memberikan izin untuk membuat, menulis, memperbarui, dan menghapus aliran pengiriman Firehose.
FirehoseWritePolicy Memberikan izin untuk menulis ke aliran pengiriman Firehose.
KinesisCrudPolicy Memberikan izin untuk membuat, memublikasikan, dan menghapus aliran Amazon Kinesis.
KinesisStreamReadPolicy Memberikan izin untuk membuat daftar dan membaca aliran Amazon Kinesis.
KMSDecryptPolicy Memberikan izin untuk mendekripsi dengan kunci AWS Key Management Service (AWS KMS).
KMSEncryptPolicy Memberikan izin untuk mengenkripsi dengan kunci AWS Key Management Service (AWS KMS).
LambdaInvokePolicy Memberikan izin untuk memanggil AWS Lambda fungsi, alias, atau versi.
MobileAnalyticsWriteOnlyAccessPolicy Memberikan izin tulis-saja agar dapat menempatkan data kejadian untuk semua sumber daya aplikasi.
OrganizationsListAccountsPolicy Memberikan izin baca-saja pada daftar nama akun anak dan ID.
PinpointEndpointAccessPolicy Memberikan izin agar mendapatkan serta memperbarui titik akhir untuk aplikasi Amazon Pinpoint.
PollyFullAccessPolicy Memberikan izin akses penuh ke sumber leksikon Amazon Polly.
RekognitionDetectOnlyPolicy Memberikan izin untuk mendeteksi wajah, label, dan teks.
RekognitionFacesManagementPolicy Memberikan izin untuk menambah, menghapus, dan mencari wajah di koleksi Amazon Rekognition.
RekognitionFacesPolicy Memberikan izin untuk membandingkan dan mendeteksi wajah serta label.
RekognitionLabelsPolicy Memberikan izin untuk mendeteksi objek dan moderasi pada label.
RekognitionNoDataAccessPolicy Memberikan izin untuk membandingkan dan mendeteksi wajah serta label.
RekognitionReadPolicy Memberikan izin untuk membuat daftar dan mencari wajah.
RekognitionWriteOnlyAccessPolicy Memberikan izin untuk membuat koleksi dan indeks wajah.
Route53ChangeResourceRecordSetsPolicy Memberikan izin untuk mengubah set catatan sumber daya di Route 53.
S3CrudPolicy Memberikan izin untuk membuat, membaca, memperbarui, dan menghapus untuk bertindak di objek dalam bucket Amazon S3.
S3FullAccessPolicy Memberikan izin akses penuh agar dapat bertindak pada objek dalam bucket Amazon S3.
S3ReadPolicy Memberikan izin baca-saja untuk membaca objek di bucket Amazon Simple Storage Service (Amazon S3).
S3WritePolicy Memberikan izin menulis untuk menulis objek ke dalam bucket Amazon S3.
SageMakerCreateEndpointConfigPolicy Memberikan izin untuk membuat konfigurasi titik akhir di SageMaker.
SageMakerCreateEndpointPolicy Memberikan izin untuk membuat titik akhir di SageMaker.
ServerlessRepoReadWriteAccessPolicy Memberikan izin untuk membuat dan mendaftar aplikasi dalam AWS Serverless Application Repository layanan.
SESBulkTemplatedCrudPolicy Memberikan izin untuk mengirimkan email, templat email, templat email massal, dan melakukan verifikasi identitas.
SESBulkTemplatedCrudPolicy_v2 Memberikan izin untuk mengirim email Amazon SES, email yang ditemplat, dan templat email massal serta agar menjalankan verifikasi identitas.
SESCrudPolicy Memberikan izin untuk mengirim email dan memverifikasi identitas.
SESEmailTemplateCrudPolicy Memberikan izin untuk membuat, mendapatkan, membuat daftar, memperbarui dan menghapus templat email Amazon SES.
SESSendBouncePolicy Memberikan SendBounce izin ke identitas Amazon Simple Email Service (Amazon SES).
SNSCrudPolicy Memberikan izin untuk membuat, memublikasikan, dan berlangganan pada topik Amazon SNS.
SNSPublishMessagePolicy Memberikan izin untuk memublikasikan pesan ke topik Amazon Simple Notification Service (Amazon SNS).
SQSPollerPolicy Memberikan izin untuk polling antrean Amazon Simple Queue Service (Amazon SQS).
SQSSendMessagePolicy Memberikan izin untuk mengirim pesan ke antrean Amazon SQS.
SSMParameterReadPolicy Memberikan izin untuk mengakses parameter dari penyimpanan parameter Amazon EC2 Systems Manager (SSM) untuk memuat rahasia di akun ini. Gunakan ketika nama parameter tidak memiliki awalan garis miring.
SSMParameterWithSlashPrefixReadPolicy Memberikan izin untuk mengakses parameter dari penyimpanan parameter Amazon EC2 Systems Manager (SSM) untuk memuat rahasia di akun ini. Gunakan ketika nama parameter memiliki awalan garis miring.
StepFunctionsExecutionPolicy Memberikan izin untuk memulai eksekusi pada mesin keadaan Step Functions.
TextractDetectAnalyzePolicy Memberikan akses untuk mendeteksi dan menganalisia dokumen menggunakan Amazon Textract.
TextractGetResultPolicy Memberikan akses untuk mendapatkan dokumen yang terdeteksi dan teranalisis dari Amazon Textract.
TextractPolicy Memberikan akses penuh menuju Amazon Textract.
VPCAccessPolicy Memberikan akses untuk membuat, menghapus, menjelaskan, dan melepaskan antarmuka jaringan elastis.

Pemecahan Masalah

Kesalahan SAM CLI: “Harus menentukan nilai parameter yang valid untuk templat kebijakan policy-template-name '< >'”

Saat mengeksekusi sam build, Anda akan melihat kesalahan berikut:

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

Kesalahan tersebut berarti bahwa Anda tidak dapat melewati objek kosong ketika menyatakan templat kebijakan yang tidak memiliki nilai pengganti.

Untuk memperbaikinya, nyatakan kebijakan seperti contoh berikut untuk CloudWatchPutMetricPolicy.

MyFunction: Policies: - CloudWatchPutMetricPolicy: {}