

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

# Menggunakan kebijakan berbasis identitas (kebijakan IAM) untuk MemoryDB
<a name="iam.identitybasedpolicies"></a>

Topik ini memberikan contoh kebijakan berbasis identitas di mana administrator akun dapat melampirkan kebijakan izin ke identitas IAM (yaitu, pengguna, grup, dan peran). 

**penting**  
Kami menyarankan Anda terlebih dahulu membaca topik yang menjelaskan konsep dasar dan opsi untuk mengelola akses ke sumber daya MemoryDB. Untuk informasi selengkapnya, lihat [Ikhtisar mengelola izin akses ke sumber daya MemoryDB Anda](iam.overview.md). 

Bagian dalam topik ini membahas hal berikut:
+ [Izin diperlukan untuk menggunakan konsol MemoryDB](#iam.identitybasedpolicies.minconpolicies)
+ [AWS kebijakan -managed (telah ditentukan) untuk MemoryDB](security-iam-awsmanpol.md#iam.identitybasedpolicies.predefinedpolicies)
+ [Contoh kebijakan yang dikelola pelanggan](#iam.identitybasedpolicies.customermanagedpolicies)

Berikut adalah contoh kebijakan izin.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
       "Sid": "AllowClusterPermissions",
       "Effect": "Allow",
       "Action": [
          "memorydb:CreateCluster",          
          "memorydb:DescribeClusters",
          "memorydb:UpdateCluster"],
       "Resource": "*"
       },
       {
         "Sid": "AllowUserToPassRole",
         "Effect": "Allow",
         "Action": [ "iam:PassRole" ],
         "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster"
       }
   ]
}
```

------

Kebijakan tersebut memiliki dua pernyataan:
+ Pernyataan pertama memberikan izin untuk tindakan MemoryDB (`memorydb:CreateCluster`,`memorydb:DescribeClusters`, dan`memorydb:UpdateCluster`) pada klaster mana pun yang dimiliki oleh akun.
+ Pernyataan kedua memberikan izin untuk tindakan IAM (`iam:PassRole`) pada nama peran IAM yang ditentukan pada akhir nilai `Resource`.

Kebijakan tidak menentukan elemen `Principal` karena dalam kebijakan berbasis identitas, Anda tidak menentukan prinsipal yang mendapatkan izin. Saat Anda melampirkan kebijakan kepada pengguna, pengguna tersebut menjadi prinsipal secara implisit. Saat Anda melampirkan kebijakan izin pada peran IAM, prinsipal yang diidentifikasi dalam kebijakan kepercayaan peran tersebut akan mendapatkan izin. 

Untuk tabel yang menunjukkan semua tindakan API MemoryDB dan sumber daya yang diterapkan, lihat. [Izin API MemoryDB: Referensi tindakan, sumber daya, dan kondisi](iam.APIReference.md) 

## Izin diperlukan untuk menggunakan konsol MemoryDB
<a name="iam.identitybasedpolicies.minconpolicies"></a>

Tabel referensi izin mencantumkan operasi API MemoryDB dan menunjukkan izin yang diperlukan untuk setiap operasi. Untuk informasi selengkapnya tentang operasi API MemoryDB, lihat. [Izin API MemoryDB: Referensi tindakan, sumber daya, dan kondisi](iam.APIReference.md) 

 Untuk menggunakan konsol MemoryDB, pertama-tama berikan izin untuk tindakan tambahan seperti yang ditunjukkan dalam kebijakan izin berikut. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "MinPermsForMemDBConsole",
        "Effect": "Allow",
        "Action": [
            "memorydb:Describe*",
            "memorydb:List*",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeVpcs",
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeSecurityGroups",
            "cloudwatch:GetMetricStatistics",
            "cloudwatch:DescribeAlarms",
            "s3:ListAllMyBuckets",
            "sns:ListTopics",
            "sns:ListSubscriptions" ],
        "Resource": "*"
        }
    ]
}
```

------

Konsol MemoryDB membutuhkan izin tambahan ini karena alasan berikut:
+ Izin untuk tindakan MemoryDB memungkinkan konsol untuk menampilkan sumber daya MemoryDB di akun.
+ Konsol memerlukan izin untuk `ec2` tindakan untuk menanyakan Amazon EC2 sehingga dapat menampilkan Availability Zone VPCs,, grup keamanan, dan atribut akun.
+ Izin untuk `cloudwatch` tindakan memungkinkan konsol mengambil CloudWatch metrik dan alarm Amazon, dan menampilkannya di konsol.
+ Izin untuk `sns` tindakan memungkinkan konsol mengambil topik dan langganan Amazon Simple Notification Service (Amazon SNS), dan menampilkannya di konsol.

## Contoh kebijakan yang dikelola pelanggan
<a name="iam.identitybasedpolicies.customermanagedpolicies"></a>

Jika Anda tidak menggunakan kebijakan default dan memilih untuk menggunakan kebijakan yang dikelola kustom, pastikan salah satu dari dua hal berikut. Anda harus memiliki izin untuk memanggil `iam:createServiceLinkedRole` (untuk informasi selengkapnya, lihat [Contoh 4: Izinkan pengguna memanggil IAM API CreateServiceLinkedRole](#create-service-linked-role-policy)). Atau Anda seharusnya telah membuat peran terkait layanan MemoryDB. 

Bila dikombinasikan dengan izin minimum yang diperlukan untuk menggunakan konsol MemoryDB, contoh kebijakan di bagian ini memberikan izin tambahan. Contoh-contohnya juga relevan dengan AWS SDKs dan AWS CLI. Untuk informasi selengkapnya tentang izin apa yang diperlukan untuk menggunakan konsol MemoryDB, lihat. [Izin diperlukan untuk menggunakan konsol MemoryDB](#iam.identitybasedpolicies.minconpolicies)

Untuk petunjuk pengaturan pengguna dan grup IAM, lihat [Membuat Pengguna dan Grup Administrator IAM Pertama Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) dalam *Panduan Pengguna IAM*. 

**penting**  
Selalu uji kebijakan IAM Anda secara menyeluruh sebelum menggunakannya dalam produksi. Beberapa tindakan MemoryDB yang tampak sederhana dapat memerlukan tindakan lain untuk mendukungnya saat Anda menggunakan konsol MemoryDB. Misalnya, `memorydb:CreateCluster` memberikan izin untuk membuat cluster MemoryDB. Namun, untuk melakukan operasi ini, konsol MemoryDB menggunakan sejumlah `Describe` dan `List` tindakan untuk mengisi daftar konsol.

**Topics**
+ [Contoh 1: Izinkan akses hanya-baca pengguna ke sumber daya MemoryDB](#example-allow-list-current-memorydb-resources)
+ [Contoh 2: Izinkan pengguna untuk melakukan tugas administrator sistem MemoryDB umum](#example-allow-specific-memorydb-actions)
+ [Contoh 3: Izinkan pengguna mengakses semua tindakan API MemoryDB](#allow-unrestricted-access)
+ [Contoh 4: Izinkan pengguna memanggil IAM API CreateServiceLinkedRole](#create-service-linked-role-policy)

### Contoh 1: Izinkan akses hanya-baca pengguna ke sumber daya MemoryDB
<a name="example-allow-list-current-memorydb-resources"></a>

Kebijakan berikut memberikan izin untuk tindakan MemoryDB yang memungkinkan pengguna mencantumkan sumber daya. Biasanya, Anda melampirkan jenis kebijakan izin ini ke grup pengelola.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[{
      "Sid": "MemDBUnrestricted",
      "Effect":"Allow",
      "Action": [
          "memorydb:Describe*",
          "memorydb:List*"],
      "Resource":"*"
      }
   ]
}
```

------

### Contoh 2: Izinkan pengguna untuk melakukan tugas administrator sistem MemoryDB umum
<a name="example-allow-specific-memorydb-actions"></a>

Tugas administrator sistem umum termasuk memodifikasi cluster, parameter, dan kelompok parameter. Administrator sistem mungkin juga ingin mendapatkan informasi tentang peristiwa MemoryDB. Kebijakan berikut memberikan izin pengguna untuk melakukan tindakan MemoryDB untuk tugas administrator sistem umum ini. Biasanya, Anda melampirkan jenis kebijakan izin ini ke grup administrator sistem.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MDBAllowSpecific",
            "Effect": "Allow",
            "Action": [
                "memorydb:UpdateCluster",
                "memorydb:DescribeClusters",
                "memorydb:DescribeEvents",
                "memorydb:UpdateParameterGroup",
                "memorydb:DescribeParameterGroups",
                "memorydb:DescribeParameters",
                "memorydb:ResetParameterGroup"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Contoh 3: Izinkan pengguna mengakses semua tindakan API MemoryDB
<a name="allow-unrestricted-access"></a>

Kebijakan berikut memungkinkan pengguna untuk mengakses semua tindakan MemoryDB. Sebaiknya Anda memberikan jenis kebijakan izin ini hanya untuk pengguna administrator. 

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

****  

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

------

### Contoh 4: Izinkan pengguna memanggil IAM API CreateServiceLinkedRole
<a name="create-service-linked-role-policy"></a>

Kebijakan berikut mengizinkan pengguna untuk memanggil API `CreateServiceLinkedRole` IAM. Kami menyarankan Anda memberikan jenis kebijakan izin ini kepada pengguna yang memanggil operasi MemoryDB mutatif.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Sid":"CreateSLRAllows",
      "Effect":"Allow",
      "Action":[
        "iam:CreateServiceLinkedRole"
      ],
      "Resource":"*",
      "Condition":{
        "StringLike":{
          "iam:AWS ServiceName":"memorydb.amazonaws.com"
        }
      }
    }
  ]
}
```

------