

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

# Contoh kebijakan IAM untuk Amazon EBS
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya Amazon EBS. Mereka juga tidak dapat melakukan tugas dengan menggunakan Konsol Manajemen AWS, AWS Command Line Interface (AWS CLI), atau AWS API. Untuk memberikan izin kepada pengguna untuk melakukan tindakan di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM. Administrator kemudian akan dapat menambahkan kebijakan IAM ke peran, dan pengguna dapat mengambil peran.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) dalam *Panduan Pengguna IAM*.

**Topics**
+ [Praktik terbaik kebijakan](#security_iam_service-with-iam-policy-best-practices)
+ [Izinkan pengguna menggunakan konsol Amazon EBS](#security_iam_id-based-policy-examples-console)
+ [Mengizinkan pengguna melihat izin mereka sendiri](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Memungkinkan pengguna untuk bekerja dengan volume](#iam-example-manage-volumes)
+ [Memungkinkan pengguna untuk bekerja dengan snapshot](#iam-example-manage-snapshots)

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

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon EBS di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin** kepada pengguna dan beban kerja Anda, gunakan *kebijakan AWS terkelola* yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+ **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+ **Memerlukan otentikasi multi-faktor (MFA)** - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

## Izinkan pengguna menggunakan konsol Amazon EBS
<a name="security_iam_id-based-policy-examples-console"></a>

Untuk mengakses konsol Amazon Elastic Block Store, Anda harus memiliki set izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Amazon EBS di Anda. Akun AWS Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai gantinya, izinkan akses hanya ke tindakan yang sesuai dengan operasi API yang coba mereka lakukan.

Untuk memastikan bahwa pengguna dan peran masih dapat menggunakan konsol Amazon EBS, lampirkan juga Amazon EBS `{{ConsoleAccess}}` atau kebijakan `{{ReadOnly}}` AWS terkelola ke entitas. Untuk informasi selengkapnya, lihat [Menambah izin untuk pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

## Mengizinkan pengguna 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": "*"
        }
    ]
}
```

## Memungkinkan pengguna untuk bekerja dengan volume
<a name="iam-example-manage-volumes"></a>

**Topics**
+ [Contoh: Melampirkan dan melepaskan lampiran volume](#iam-example-manage-volumes-attach-detach)
+ [Contoh: Membuat volume](#iam-example-manage-volumes-create)
+ [Contoh: Membuat volume dengan tanda](#iam-example-manage-volumes-tags)
+ [Contoh: Bekerja dengan volume menggunakan konsol Amazon EC2](#ex-volumes)

### Contoh: Melampirkan dan melepaskan lampiran volume
<a name="iam-example-manage-volumes-attach-detach"></a>

Ketika tindakan API memerlukan pemerintah untuk menentukan beberapa sumber daya, Anda harus membuat pernyataan kebijakan yang memungkinkan para pengguna mengakses semua sumber daya yang diperlukan. Jika Anda harus menggunakan elemen `Condition` dengan satu atau beberapa sumber daya ini, maka Anda harus membuat beberapa pernyataan seperti yang ditunjukkan dalam contoh berikut ini.

Kebijakan berikut memungkinkan pengguna untuk melampirkan volume dengan tag "`volume_user`= *iam-user-name*" ke instance dengan tag "`department=dev`“, dan untuk melepaskan volume tersebut dari instance tersebut. Jika Anda melampirkan kebijakan ini ke grup IAM, variabel kebijakan `aws:username` akan memberikan izin kepada setiap pengguna yang ada dalam grup untuk melampirkan atau melepaskan volume dari instans dengan nama tanda `volume_user` yang menjadikan nama pengguna IAM-nya sebagai nilai.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:DetachVolume"
            ],
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/department": "dev"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:DetachVolume"
            ],
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/volume_user": "${aws:username}"
                }
            }
        }
    ]
}
```

------

### Contoh: Membuat volume
<a name="iam-example-manage-volumes-create"></a>

Kebijakan berikut memungkinkan pengguna untuk menggunakan tindakan API [CreateVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html). Pengguna diperbolehkan untuk membuat volume hanya jika volume tersebut dienkripsi dan hanya jika ukuran volume kurang dari 20 GiB.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateVolume"
            ],
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*",
            "Condition": {
                "NumericLessThan": {
                    "ec2:VolumeSize": "20"
                },
                "Bool": {
                    "ec2:Encrypted": "true"
                }
            }
        }
    ]
}
```

------

### Contoh: Membuat volume dengan tanda
<a name="iam-example-manage-volumes-tags"></a>

Kebijakan berikut mencakup kunci syarat `aws:RequestTag` yang mengharuskan para pengguna untuk menandai setiap volume yang mereka buat dengan tanda `costcenter=115` dan `stack=prod`. Jika pengguna tidak meneruskan tanda tertentu ini, atau jika mereka tidak menentukan tanda sama sekali, maka permintaan itu akan gagal. 

Untuk tindakan-tindakan yang digunakan untuk membuat sumber daya yang menerapkan tanda, para pengguna juga harus memiliki izin untuk menggunakan tindakan `CreateTags`. Pernyataan kedua menggunakan kunci syarat `ec2:CreateAction` untuk memungkinkan para pengguna membuat tanda hanya dalam konteks `CreateVolume`. Para pengguna tidak dapat menandai volume yang ada atau sumber daya lainnya.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateTaggedVolumes",
            "Effect": "Allow",
            "Action": "ec2:CreateVolume",
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/costcenter": "115",
                    "aws:RequestTag/stack": "prod"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateVolume"
                }
            }
        }
    ]
}
```

------

Kebijakan berikut memungkinkan para pengguna untuk membuat volume tanpa harus menentukan tanda. Tindakan `CreateTags` akan dievaluasi hanya jika tanda ditentukan dalam permintaan `CreateVolume`. Jika para pengguna menentukan tanda, maka tanda tersebut harus `purpose=test`. Tidak ada tanda lain yang diperbolehkan dalam permintaan.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:CreateVolume",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/purpose": "test",
                    "ec2:CreateAction": "CreateVolume"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "purpose"
                }
            }
        }
    ]
}
```

------

### Contoh: Bekerja dengan volume menggunakan konsol Amazon EC2
<a name="ex-volumes"></a>

Kebijakan berikut memberi pengguna izin untuk melihat dan membuat volume, serta melampirkan serta melepaskan volume ke instans tertentu menggunakan konsol Amazon EC2. 

Para pengguna dapat melampirkan volume apa pun ke instans yang memiliki tanda "`purpose=test`" dan juga melepaskan volume yang dilampirkan dari instans tersebut. Untuk melampirkan volume menggunakan konsol Amazon EC2, akan sangat membantu bagi para pengguna jika mereka memiliki izin untuk menggunakan tindakan `ec2:DescribeInstances`, karena hal ini akan memungkinkan mereka memilih instans dari daftar yang sudah diisi sebelumnya dalam kotak dialog **Lampirkan Volume**. Akan tetapi, hal ini juga akan memungkinkan para pengguna untuk menampilkan semua instans dalam halaman **Instans** dalam konsol tersebut, sehingga Anda dapat menghilangkan tindakan ini.

Dalam pernyataan pertama, tindakan `ec2:DescribeAvailabilityZones` diperlukan untuk memastikan bahwa seorang pengguna dapat memilih Zona Ketersediaan saat membuat volume.

Para pengguna tidak dapat memberikan tanda pada volume-volume yang mereka buat (baik ketika volume sedang dibuat maupun setelah volume dibuat).

## Memungkinkan pengguna untuk bekerja dengan snapshot
<a name="iam-example-manage-snapshots"></a>

Berikut ini adalah contoh kebijakan untuk keduanya `CreateSnapshot` (point-in-timesnapshot dari volume EBS) dan `CreateSnapshots` (snapshot multi-volume).

**Topics**
+ [Contoh: Membuat snapshot](#iam-creating-snapshot)
+ [Contoh: Membuat beberapa snapshot](#iam-creating-snapshots)
+ [Contoh: Membuat snapshot dengan tanda](#iam-creating-snapshot-with-tags)
+ [Contoh: Membuat snapshot multivolume dengan tanda](#iam-creating-snapshots-with-tags)
+ [Contoh: Menyalin beberapa snapshot](#iam-copy-snapshot)
+ [Contoh: Memodifikasi pengaturan izin untuk snapshot](#iam-modifying-snapshot-with-tags)

### Contoh: Membuat snapshot
<a name="iam-creating-snapshot"></a>

Kebijakan berikut memungkinkan pelanggan untuk menggunakan tindakan API [CreateSnapshot](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshot.html). Pelanggan dapat membuat snapshot hanya jika volume sudah dienkripsi dan hanya jika ukuran volume kurang dari 20 GiB.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:CreateSnapshot",
            "Resource": "arn:aws:ec2:us-east-1::snapshot/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateSnapshot",
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*",
            "Condition": {
                "NumericLessThan": {
                    "ec2:VolumeSize": "20"
                },
                "Bool": {
                    "ec2:Encrypted": "true"
                }
            }
        }
    ]
}
```

------

### Contoh: Membuat beberapa snapshot
<a name="iam-creating-snapshots"></a>

Kebijakan berikut memungkinkan pelanggan untuk menggunakan tindakan API [CreateSnapshots](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshots.html). Pelanggan dapat membuat snapshot hanya jika semua volume pada instance adalah tipe GP2.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect":"Allow",
         "Action":"ec2:CreateSnapshots",
         "Resource":[
"arn:aws:ec2:us-east-1::snapshot/*",
"arn:aws:ec2:*:*:instance/*"
   ]
      },
      {
         "Effect":"Allow",
         "Action":"ec2:CreateSnapshots",
         "Resource":"arn:aws:ec2:us-east-1:*:volume/*",
         "Condition":{
            "StringLikeIfExists":{
               "ec2:VolumeType":"gp2"
             }
	    }
            
      }
   ]
}
```

------

### Contoh: Membuat snapshot dengan tanda
<a name="iam-creating-snapshot-with-tags"></a>

Kebijakan berikut mencakup kunci syarat `aws:RequestTag` yang mengharuskan pelanggan menerapkan tanda `costcenter=115` dan `stack=prod` ke setiap snapshot baru. Jika pengguna tidak meneruskan tanda tertentu ini, atau jika mereka tidak menentukan tanda sama sekali, maka permintaan itu akan gagal.

Untuk tindakan-tindakan yang digunakan untuk membuat sumber daya yang menerapkan tanda, pelanggan juga harus memiliki izin untuk menggunakan tindakan `CreateTags`. Pernyataan ketiga menggunakan kunci syarat `ec2:CreateAction` untuk memungkinkan para pelanggan membuat tanda hanya dalam konteks `CreateSnapshot`. Para pelanggan tidak dapat menandai volume yang ada atau sumber daya lainnya.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:CreateSnapshot",
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*"
        },
        {
            "Sid": "AllowCreateTaggedSnapshots",
            "Effect": "Allow",
            "Action": "ec2:CreateSnapshot",
            "Resource": "arn:aws:ec2:us-east-1::snapshot/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/costcenter": "115",
                    "aws:RequestTag/stack": "prod"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:us-east-1::snapshot/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateSnapshot"
                }
            }
        }
    ]
}
```

------

### Contoh: Membuat snapshot multivolume dengan tanda
<a name="iam-creating-snapshots-with-tags"></a>

Kebijakan berikut mencakup kunci syarat `aws:RequestTag` yang mengharuskan pelanggan menerapkan tanda `costcenter=115` dan `stack=prod` saat membuat set snapshot multivolume. Jika pengguna tidak meneruskan tanda tertentu ini, atau jika mereka tidak menentukan tanda sama sekali, maka permintaan itu akan gagal.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect":"Allow",
         "Action":"ec2:CreateSnapshots",
         "Resource":[
"arn:aws:ec2:us-east-1::snapshot/*",
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:volume/*"

   ]
      },
      {
         "Sid":"AllowCreateTaggedSnapshots",
         "Effect":"Allow",
         "Action":"ec2:CreateSnapshots",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "StringEquals":{
               "aws:RequestTag/costcenter":"115",
               "aws:RequestTag/stack":"prod"
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":"ec2:CreateTags",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "StringEquals":{
               "ec2:CreateAction":"CreateSnapshots"
            }
         }
      }
   ]
}
```

------

Kebijakan berikut memungkinkan para pelanggan untuk membuat snapshot tanpa harus menentukan tanda. Tindakan `CreateTags` akan dievaluasi hanya jika tanda ditentukan dalam permintaan `CreateSnapshot` atau `CreateSnapshots`. Tanda dapat dihilangkan dalam permintaan. Jika tanda ditentukan, maka tanda tersebut harus `purpose=test`. Tidak ada tanda lain yang diperbolehkan dalam permintaan.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect":"Allow",
         "Action":"ec2:CreateSnapshot",
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":"ec2:CreateTags",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "StringEquals":{
               "aws:RequestTag/purpose":"test",
               "ec2:CreateAction":"CreateSnapshot"
            },
            "ForAllValues:StringEquals":{
               "aws:TagKeys":"purpose"
            }
         }
      }
   ]
}
```

------

Kebijakan berikut memungkinkan pelanggan untuk membuat set snapshot multivolume tanpa perlu menentukan tanda. Tindakan `CreateTags` akan dievaluasi hanya jika tanda ditentukan dalam permintaan `CreateSnapshot` atau `CreateSnapshots`. Tanda dapat dihilangkan dalam permintaan. Jika tanda ditentukan, maka tanda tersebut harus `purpose=test`. Tidak ada tanda lain yang diperbolehkan dalam permintaan.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect":"Allow",
         "Action":"ec2:CreateSnapshots",
         "Resource":"*"
      },
      {
         "Effect":"Allow",
         "Action":"ec2:CreateTags",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "StringEquals":{
               "aws:RequestTag/purpose":"test",
               "ec2:CreateAction":"CreateSnapshots"
            },
            "ForAllValues:StringEquals":{
               "aws:TagKeys":"purpose"
            }
         }
      }
   ]
}
```

------

Kebijakan berikut mengizinkan snapshot untuk dibuat hanya jika volume sumber diberi tanda dengan `User:username` untuk pelanggan, dan snapshot itu sendiri diberi tanda dengan `Environment:Dev` dan `User:username`. Pelanggan dapat menambahkan tanda tambahan untuk snapshot tersebut.

Kebijakan untuk `CreateSnapshots` berikut mengizinkan snapshot untuk dibuat hanya jika volume sumber diberi tanda dengan `User:username` untuk pelanggan, dan snapshot itu sendiri diberi tanda dengan `Environment:Dev` dan `User:username`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:CreateSnapshots",
            "Resource": "arn:aws:ec2:us-east-1:*:instance/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateSnapshots",
            "Resource": "arn:aws:ec2:us-east-1:{{111122223333}}:volume/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/User": "${aws:username}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateSnapshots",
            "Resource": "arn:aws:ec2:us-east-1::snapshot/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/Environment": "Dev",
                    "aws:RequestTag/User": "${aws:username}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:us-east-1::snapshot/*"
        }
    ]
}
```

------

Kebijakan berikut memungkinkan penghapusan snapshot hanya jika snapshot tersebut diberi tanda dengan Pengguna:*username* untuk pelanggan.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
            {
         "Effect":"Allow",
         "Action":"ec2:DeleteSnapshot",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "StringEquals":{
               "aws:ResourceTag/User":"${aws:username}"
            }
         }
      }
   ]
}
```

------

Kebijakan berikut memungkinkan pelanggan untuk membuat snapshot tetapi menolak tindakan jika snapshot yang dibuat memiliki kunci tanda `value=stack`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect":"Allow",
         "Action":[
            "ec2:CreateSnapshot",
            "ec2:CreateTags"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Deny",
         "Action":"ec2:CreateSnapshot",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "ForAnyValue:StringEquals":{
               "aws:TagKeys":"stack"
            }
         }
      }
   ]
}
```

------

Kebijakan berikut memungkinkan pelanggan untuk membuat beberapa snapshot tetapi menolak tindakan jika snapshot yang dibuat tersebut memiliki kunci tanda `value=stack`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect":"Allow",
         "Action":[
            "ec2:CreateSnapshots",
            "ec2:CreateTags"
         ],
         "Resource":"*"
      },
      {
         "Effect":"Deny",
         "Action":"ec2:CreateSnapshots",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "ForAnyValue:StringEquals":{
               "aws:TagKeys":"stack"
            }
         }
      }
   ]
}
```

------

Kebijakan berikut memungkinkan Anda untuk menggabungkan beberapa tindakan ke dalam satu kebijakan. Anda hanya dapat membuat snapshot (dalam konteks `CreateSnapshots`) saat snapshot tersebut dibuat di Wilayah `us-east-1`. Anda hanya dapat membuat beberapa snapshot (dalam konteks `CreateSnapshots`) ketika snapshot-snapshot tersebut sedang dibuat di Wilayah `us-east-1` dan ketika tipe instans-nya adalah `t2*`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
          {
         "Effect":"Allow",
         "Action":[
            "ec2:CreateSnapshots",
            "ec2:CreateSnapshot",
            "ec2:CreateTags"
         ],
         "Resource": [
            "arn:aws:ec2:*:*:instance/*",
            "arn:aws:ec2:*:*:snapshot/*",
            "arn:aws:ec2:*:*:volume/*"
         ],
         "Condition":{
            "StringEqualsIgnoreCase": {
              "ec2:Region": "us-east-1"
            },
            "StringLikeIfExists": {
              "ec2:InstanceType": ["t2.*"]
            }
         }
      }
   ]
}
```

------

### Contoh: Menyalin beberapa snapshot
<a name="iam-copy-snapshot"></a>

Izin tingkat sumber daya yang ditentukan untuk **CopySnapshot**tindakan berlaku untuk snapshot baru dan snapshot sumber.

Kebijakan contoh berikut mengizinkan prinsipal utama untuk menyalin snapshot hanya jika snapshot baru dibuat dengan tanda kunci `purpose` dan nilai tanda `production` (`purpose=production`).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCopySnapshotWithTags",
            "Effect": "Allow",
            "Action": "ec2:CopySnapshot",
            "Resource": "arn:aws:ec2:*:{{111122223333}}:snapshot/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/purpose": "production"
                }
            }
        }
    ]
}
```

------

Contoh kebijakan berikut memungkinkan prinsipal untuk menyalin snapshot hanya jika snapshot sumber dimiliki oleh akun. AWS `123456789012`

Contoh kebijakan berikut memungkinkan prinsipal untuk menyalin snapshot hanya jika snapshot sumber dibuat dengan kunci tag dari. `CSISnapshotName`

```
{
    "Effect": "Allow",
    "Action": "ec2:CopySnapshot", 
    "Resource": "arn:aws:ec2:*::snapshot/${*}",
    "Condition": { 
        "StringLike": { 
            "aws:RequestTag/CSISnapshotName": "*" 
         } 
     }
},

{
    "Effect": "Allow",
    "Action": "ec2:CopySnapshot",
    "Resource": "arn:aws:ec2:*::snapshot/snap-*"
}
```

### Contoh: Memodifikasi pengaturan izin untuk snapshot
<a name="iam-modifying-snapshot-with-tags"></a>

Kebijakan berikut memungkinkan modifikasi snapshot hanya jika snapshot ditandai dengan`User:{{username}}`, di mana nama {{username}} pengguna AWS akun pelanggan. Permintaan akan gagal jika syarat ini tidak dipenuhi.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
           {
         "Effect":"Allow",
         "Action":"ec2:ModifySnapshotAttribute",
         "Resource":"arn:aws:ec2:us-east-1::snapshot/*",
         "Condition":{
            "StringEquals":{
               "aws:ResourceTag/user-name":"${aws:{{username}}}"
            }
         }
      }
   ]
}
```

------