

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

# AWS Serverless Application Repository Contoh Kebijakan Berbasis Identitas
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran IAM tidak memiliki izin untuk membuat atau memodifikasi sumber daya AWS Serverless Application Repository . Mereka juga tidak dapat melakukan tugas menggunakan Konsol Manajemen AWS, AWS CLI, atau AWS API. Administrator IAM harus membuat kebijakan IAM yang memberikan izin kepada pengguna dan peran untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke pengguna IAM atau grup yang memerlukan izin tersebut.

*Untuk mempelajari cara membuat kebijakan berbasis identitas IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat Kebijakan pada Tab JSON di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) IAM.*

**Topics**
+ [Praktik Terbaik Kebijakan](#security_iam_service-with-iam-policy-best-practices)
+ [Menggunakan AWS Serverless Application Repository Konsol](#security_iam_id-based-policy-examples-console)
+ [Izinkan Pengguna untuk Melihat Izin Mereka Sendiri](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Contoh Kebijakan yang Dikelola Pelanggan](#security_iam_id-examples)

## Praktik Terbaik Kebijakan
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Kebijakan berbasis identitas adalah pilihan yang sangat tepat. Mereka menentukan apakah seseorang dapat membuat, mengakses, atau menghapus AWS Serverless Application Repository sumber daya di akun Anda. Tindakan ini dapat menimbulkan biaya untuk AWS akun Anda. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Pemberian hak istimewa terendah** – Ketika Anda membuat kebijakan kustom, berikan izin yang diperlukan saja untuk melakukan tugas. Mulai dengan satu set izin minimum dan berikan izin tambahan sesuai kebutuhan. Melakukan hal tersebut lebih aman daripada memulai dengan izin yang terlalu fleksibel, lalu mencoba memperketatnya nanti. Untuk informasi lebih lanjut, lihat [Berikan hak istimewa terkecil](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) dalam *Panduan Pengguna IAM*.
+ **Aktifkan autentikasi multifaktor (MFA) untuk operasi sensitif** – Untuk keamanan ekstra, mintalah pengguna IAM untuk menggunakan autentikasi multifaktor (MFA) guna mengakses sumber daya atau operasi API yang sensitif. Untuk informasi lebih lanjut, lihat [Menggunakan Autentikasi Multi-Faktor (MFA) di AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan syarat kebijakan untuk keamanan tambahan** – Selama bisa dilakukan, tentukan persyaratan agar kebijakan berbasis identitas Anda mengizinkan akses ke sumber daya. Misalnya, Anda dapat menulis persyaratan untuk menentukan jangkauan alamat IP yang diizinkan untuk mengajukan permintaan. Anda juga dapat menulis persyaratan untuk mengizinkan permintaan hanya dalam rentang tanggal atau waktu tertentu, atau untuk mewajibkan penggunaan SSL atau autentikasi multifaktor (MFA). Untuk informasi lebih lanjut, lihat [Elemen Kebijakan IAM JSON: Syarat](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.

## Menggunakan AWS Serverless Application Repository Konsol
<a name="security_iam_id-based-policy-examples-console"></a>

 AWS Serverless Application Repository Konsol menyediakan lingkungan terintegrasi bagi Anda untuk menemukan dan mengelola AWS Serverless Application Repository aplikasi. Konsol menyediakan fitur dan alur kerja yang sering memerlukan izin untuk mengelola AWS Serverless Application Repository aplikasi selain izin khusus API yang didokumentasikan dalam. [AWS Serverless Application Repository Izin API: Tindakan dan Referensi Sumber Daya](serverlessrepo-api-permissions-ref.md)

Untuk informasi selengkapnya tentang izin yang diperlukan untuk menggunakan AWS Serverless Application Repository konsol, lihat[Contoh Kebijakan yang Dikelola Pelanggan](#security_iam_id-examples).

## Izinkan Pengguna untuk Melihat Izin Mereka Sendiri
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Contoh Kebijakan yang Dikelola Pelanggan
<a name="security_iam_id-examples"></a>

Contoh dalam bagian ini menyediakan sekelompok contoh kebijakan yang dapat Anda lampirkan ke pengguna. Jika Anda baru membuat kebijakan, sebaiknya buat pengguna IAM terlebih dahulu di akun Anda dan lampirkan kebijakan tersebut ke pengguna secara berurutan. Anda juga dapat menggunakan contoh ini untuk membuat satu kebijakan khusus yang menyertakan izin untuk melakukan beberapa tindakan, lalu melampirkannya ke pengguna.

 Untuk informasi selengkapnya tentang cara melampirkan kebijakan ke pengguna, lihat [Menambahkan Izin ke Pengguna di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) *IAM*.

**Topics**
+ [Contoh Penerbit 1: Izinkan Penerbit Membuat Daftar Aplikasi](#security_iam_id-example-publisher-list-apps)
+ [Contoh Penerbit 2: Izinkan Penerbit Melihat Detail Aplikasi atau Versi Aplikasi](#security_iam_id-example-publisher-view-app-details)
+ [Contoh Penerbit 3: Izinkan Penerbit Membuat Aplikasi atau Versi Aplikasi](#security_iam_id-example-publisher-create-apps)
+ [Contoh Penerbit 4: Izinkan Penerbit Membuat Kebijakan Aplikasi untuk Berbagi Aplikasi dengan Orang Lain](#security_iam_id-example-publisher-create-app-policies)
+ [Contoh Konsumen 1: Izinkan Konsumen Mencari Aplikasi](#security_iam_id-example-consumer-search-apps)
+ [Contoh Konsumen 2: Izinkan Konsumen Melihat Detail Aplikasi](#security_iam_id-example-consumer-view-app-details)
+ [Contoh Konsumen 3: Izinkan Konsumen untuk Menyebarkan Aplikasi](#security_iam_id-example-consumer-deploy-apps)
+ [Contoh Konsumen 4: Tolak Akses ke Aset Penerapan](#security_iam_id-example-consumer-deny-deployment-assets)
+ [Contoh Konsumen 5: Mencegah Pencarian Konsumen dan Menyebarkan Aplikasi Publik](#access-control-identity-based-example-consumer-deny-public-apps)

### Contoh Penerbit 1: Izinkan Penerbit Membuat Daftar Aplikasi
<a name="security_iam_id-example-publisher-list-apps"></a>

Pengguna IAM di akun Anda harus memiliki izin untuk `serverlessrepo:ListApplications` operasi sebelum pengguna dapat melihat apa pun di konsol. Saat Anda memberikan izin ini, konsol dapat menampilkan daftar AWS Serverless Application Repository aplikasi di AWS akun yang dibuat di AWS Wilayah tertentu yang dimiliki pengguna.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListExistingApplications",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:ListApplications"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Contoh Penerbit 2: Izinkan Penerbit Melihat Detail Aplikasi atau Versi Aplikasi
<a name="security_iam_id-example-publisher-view-app-details"></a>

Seorang pengguna dapat memilih AWS Serverless Application Repository aplikasi dan melihat detail aplikasi. Rincian tersebut termasuk penulis, deskripsi, versi, dan informasi konfigurasi lainnya. Untuk melakukan ini, pengguna memerlukan izin untuk operasi `serverlessrepo:GetApplication` dan `serverlessrepo:ListApplicationVersions` API untuk. AWS Serverless Application Repository

Dalam contoh berikut, izin ini diberikan untuk aplikasi tertentu yang Nama Sumber Daya Amazon (ARN) ditentukan sebagai `Resource` nilainya.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:GetApplication",
                "serverlessrepo:ListApplicationVersions"
            ],
            "Resource": "arn:aws:serverlessrepo:{{us-east-1}}:{{111122223333}}:applications/{{application-name}}"
        }
    ]
}
```

------

 

### Contoh Penerbit 3: Izinkan Penerbit Membuat Aplikasi atau Versi Aplikasi
<a name="security_iam_id-example-publisher-create-apps"></a>

Jika Anda ingin mengizinkan pengguna memiliki izin untuk membuat AWS Serverless Application Repository aplikasi, Anda perlu memberikan izin untuk `serverlessrepo:CreateApplication` dan `serverlessrepo:CreateApplicationVersions` operasi, seperti yang ditunjukkan dalam kebijakan berikut.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:CreateApplication",
                "serverlessrepo:CreateApplicationVersion"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Contoh Penerbit 4: Izinkan Penerbit Membuat Kebijakan Aplikasi untuk Berbagi Aplikasi dengan Orang Lain
<a name="security_iam_id-example-publisher-create-app-policies"></a>

Agar pengguna dapat berbagi aplikasi dengan orang lain, Anda harus memberi mereka izin untuk membuat kebijakan aplikasi, seperti yang ditunjukkan dalam kebijakan berikut.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ShareApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:PutApplicationPolicy",
                "serverlessrepo:GetApplicationPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Contoh Konsumen 1: Izinkan Konsumen Mencari Aplikasi
<a name="security_iam_id-example-consumer-search-apps"></a>

Agar konsumen dapat mencari aplikasi, Anda harus memberi mereka izin berikut.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SearchApplications",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:SearchApplications"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Contoh Konsumen 2: Izinkan Konsumen Melihat Detail Aplikasi
<a name="security_iam_id-example-consumer-view-app-details"></a>

Pengguna dapat memilih AWS Serverless Application Repository aplikasi dan melihat detail aplikasi, seperti penulis, deskripsi, versi, dan informasi konfigurasi lainnya. Untuk melakukannya, pengguna harus memiliki izin untuk AWS Serverless Application Repository operasi berikut.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:GetApplication",
                "serverlessrepo:ListApplicationVersions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 

### Contoh Konsumen 3: Izinkan Konsumen untuk Menyebarkan Aplikasi
<a name="security_iam_id-example-consumer-deploy-apps"></a>

Agar pelanggan dapat menerapkan aplikasi, Anda harus memberi mereka izin untuk melakukan sejumlah operasi. Kebijakan berikut memberi pelanggan izin yang diperlukan.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DeployApplication",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:CreateCloudFormationChangeSet",
                "cloudformation:CreateChangeSet",
                "cloudformation:ExecuteChangeSet",
                "cloudformation:DescribeStacks"

            ],
            "Resource": "*"
        }
    ]
}
```

------

**catatan**  
Menyebarkan aplikasi mungkin memerlukan izin untuk menggunakan sumber daya tambahan AWS . Karena AWS Serverless Application Repository menggunakan mekanisme penyebaran dasar yang sama seperti CloudFormation, lihat [Mengontrol Akses dengan AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) untuk informasi selengkapnya. Untuk bantuan terkait masalah penerapan yang terkait dengan izin, lihat [Pemecahan Masalah:](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-insufficient-iam-permissions) Izin IAM Tidak Cukup.

### Contoh Konsumen 4: Tolak Akses ke Aset Penerapan
<a name="security_iam_id-example-consumer-deny-deployment-assets"></a>

Ketika aplikasi dibagikan secara pribadi dengan AWS akun, secara default, semua pengguna di akun itu dapat mengakses aset penyebaran semua pengguna lain di akun yang sama. Kebijakan berikut mencegah pengguna di akun mengakses aset penerapan, yang disimpan di bucket Amazon S3 untuk aplikasi. AWS Serverless Application Repository

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyDeploymentAssetAccess",
            "Effect": "Deny",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::awsserverlessrepo-changesets*/*"
            ]
        }
    ]
}
```

------

### Contoh Konsumen 5: Mencegah Pencarian Konsumen dan Menyebarkan Aplikasi Publik
<a name="access-control-identity-based-example-consumer-deny-public-apps"></a>

Anda dapat mencegah pengguna melakukan tindakan tertentu pada aplikasi.

Kebijakan berikut berlaku untuk aplikasi publik dengan menentukan `serverlessrepo:applicationType` menjadi`public`. Ini mencegah pengguna melakukan sejumlah tindakan dengan menentukan `Effect` menjadi`Deny`. Untuk informasi selengkapnya tentang kunci kondisi yang tersedia AWS Serverless Application Repository, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk AWS Serverless Application Repository](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsserverlessapplicationrepository.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Condition": {
                "StringEquals": {
                    "serverlessrepo:applicationType": "public"
                }
            },
            "Action": [
                "serverlessrepo:SearchApplications",
                "serverlessrepo:GetApplication",
                "serverlessrepo:CreateCloudFormationTemplate",
                "serverlessrepo:CreateCloudFormationChangeSet",
                "serverlessrepo:ListApplicationVersions",
                "serverlessrepo:ListApplicationDependencies"
            ],
            "Resource": "*",
            "Effect": "Deny"
        }
    ]
}
```

------

**catatan**  
Pernyataan kebijakan ini juga dapat digunakan sebagai Kebijakan Kontrol Layanan dan diterapkan pada AWS organisasi. Untuk informasi selengkapnya tentang Kebijakan Kontrol [Layanan, lihat Kebijakan Kontrol Layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) di *Panduan AWS Organizations Pengguna*.