

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

# Mengelola AWS SAM izin dengan mekanisme CloudFormation
<a name="sam-permissions-cloudformation"></a>

Untuk mengontrol akses ke AWS sumber daya, AWS Serverless Application Model (AWS SAM) dapat menggunakan mekanisme yang sama seperti CloudFormation. Untuk informasi selengkapnya, lihat [Mengontrol akses dengan AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) dalam *Panduan Pengguna AWS CloudFormation *.

Ada tiga opsi utama untuk memberikan izin pengguna untuk mengelola aplikasi nirserver. Setiap opsi menyediakan pengguna dengan tingkat yang berbeda dari kontrol akses.
+ Berikan izin administrator.
+ Lampirkan kebijakan AWS terkelola yang diperlukan.
+ Berikan izin khusus AWS Identity and Access Management (IAM).

Bergantung pada opsi mana yang Anda pilih, pengguna hanya dapat mengelola aplikasi tanpa server yang berisi AWS sumber daya yang memiliki izin untuk mereka akses.

Bagian berikut menjelaskan setiap opsi secara lebih mendetail.

## Berikan izin administrator
<a name="sam-permissions-cloudformation-admin"></a>

Jika Anda memberikan izin administrator kepada pengguna, mereka dapat mengelola aplikasi tanpa server yang berisi kombinasi sumber daya apa pun. AWS Ini adalah opsi yang paling sederhana, namun juga memberi pengguna set izin terluas, yang karenanya memungkinkan administrator melakukan tindakan dengan dampak tertinggi.

Untuk informasi selengkapnya tentang memberikan izin administrator ke pengguna, lihat [Membuat pengguna dan grup admin IAM pertama Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dalam *Panduan Pengguna IAM*.

## Lampirkan kebijakan AWS terkelola yang diperlukan
<a name="sam-permissions-cloudformation-managed-policies"></a>

Anda dapat memberikan pengguna subset izin menggunakan [Kebijakan terkelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies), daripada memberikan izin administrator penuh. Jika Anda menggunakan opsi ini, pastikan bahwa kumpulan kebijakan AWS terkelola mencakup semua tindakan dan sumber daya yang diperlukan untuk aplikasi tanpa server yang dikelola pengguna.

Misalnya, kebijakan AWS terkelola berikut ini cukup untuk [menerapkan contoh aplikasi Hello World](serverless-getting-started-hello-world.md):
+ AWSCloudFormationFullAccess
+ IAMFullAkses
+ AWSLambda\$1FullAccess
+ APIGatewayAdministrator Amazon
+ AmazonS3 FullAccess
+ Amazon EC2 ContainerRegistryFullAccess

 Untuk informasi tentang melampirkan kebijakan ke pengguna IAM, lihat [Mengubah izin untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) dalam *Panduan Pengguna IAM*.

## Berikan izin IAM tertentu
<a name="sam-permissions-cloudformation-policy-statement"></a>

Untuk tingkat kontrol akses terperinci, Anda dapat memberikan izin IAM tertentu untuk pengguna yang menggunakan [pernyataan kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_statement.html). Jika Anda menggunakan opsi ini, pastikan bahwa pernyataan kebijakan mencakup semua tindakan dan sumber daya yang diperlukan untuk aplikasi nirserver yang dikelola pengguna.

Praktik terbaik dengan opsi ini adalah menolak izin pengguna untuk membuat peran, termasuk peran eksekusi Lambda, sehingga peran tersebut tidak dapat memberikan izin yang meningkat. Jadi, Anda sebagai administrator harus membuat terlebih dahulu [Peran eksekusi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) yang akan ditentukan dalam aplikasi nirserver yang akan pengguna kelola. Untuk informasi selengkapnya tentang membuat peran eksekusi Lambda, lihat [Membuat peran eksekusi di konsol IAM](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html#permissions-executionrole-console).

Untuk [contoh aplikasi Hello World **AWSLambdaBasicExecutionRole**](serverless-getting-started-hello-world.md)sudah cukup untuk menjalankan aplikasi. Setelah Anda membuat peran eksekusi Lambda, ubah file AWS SAM template dari contoh aplikasi Hello World untuk menambahkan properti berikut ke sumber daya: `AWS::Serverless::Function`

```
  Role: lambda-execution-role-arn
```

Pernyataan kebijakan berikut memberikan izin yang cukup bagi pengguna untuk men-deploy, memperbarui, dan menghapus aplikasi dengan diubah aplikasi Hello World di tempat:

**catatan**  
Pernyataan kebijakan contoh di bagian ini memberikan izin yang cukup bagi Anda untuk menyebarkan, memperbarui, dan menghapus [contoh aplikasi Hello World](serverless-getting-started-hello-world.md). Jika Anda menambahkan jenis sumber daya tambahan ke aplikasi Anda, Anda perlu memperbarui pernyataan kebijakan untuk menyertakan yang berikut:  
Izin untuk aplikasi Anda untuk memanggil tindakan layanan.
Prinsipal layanan, jika diperlukan untuk tindakan layanan.
Misalnya, jika Anda menambahkan alur kerja Step Functions, Anda mungkin perlu menambahkan izin untuk tindakan yang tercantum [di sini](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstepfunctions.html#awsstepfunctions-actions-as-permissions), dan prinsipal `states.amazonaws.com` layanan.

Untuk informasi selengkapnya tentang kebijakan IAM terkelola, lihat [Mengelola kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) dalam *Panduan Pengguna IAM*.