Menggunakan kebijakan berbasis identitas (kebijakan IAM) untuk Amazon ElastiCache - Amazon ElastiCache

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 Amazon ElastiCache

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 ElastiCache sumber daya Amazon. Untuk informasi selengkapnya, lihat Ikhtisar mengelola izin akses ke sumber daya Anda ElastiCache .

Bagian dalam topik ini membahas hal berikut:

Berikut ini menunjukkan contoh kebijakan izin saat menggunakan Redis OSS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeReplicationGroups", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyReplicationGroup", "elasticache:ModifyCacheCluster" ], "Resource": "*" }, { "Sid": "AllowUserToPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster" } ] }

Berikut ini menunjukkan contoh kebijakan izin saat menggunakan Memcached.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "elasticache:CreateServerlessCache", "elasticache:CreateCacheCluster", "elasticache:DescribeServerlessCaches", "elasticache:DescribeCacheClusters", "elasticache:ModifyServerlessCache", "elasticache:ModifyCacheCluster" ], "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 ElastiCache tindakan Amazon (elasticache:Create*,,elasticache:Describe*) elasticache:Modify*

  • 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 Amazon ElastiCache API dan sumber daya yang diterapkan, lihatElastiCache Izin API: Referensi tindakan, sumber daya, dan kondisi.

Contoh kebijakan yang dikelola pelanggan

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 ). Atau Anda seharusnya membuat peran ElastiCache terkait layanan.

Jika digabungkan dengan izin minimum yang diperlukan untuk menggunakan ElastiCache konsol Amazon, kebijakan contoh di bagian ini memberikan izin tambahan. Contoh-contohnya juga relevan dengan AWS SDKs dan AWS CLI.

Untuk petunjuk pengaturan pengguna dan grup IAM, lihat Membuat Pengguna dan Grup Administrator IAM Pertama Anda dalam Panduan Pengguna IAM.

penting

Selalu uji kebijakan IAM Anda secara menyeluruh sebelum menggunakannya dalam produksi. Beberapa ElastiCache tindakan yang tampak sederhana dapat memerlukan tindakan lain untuk mendukungnya saat Anda menggunakan ElastiCache konsol. Misalnya, elasticache:CreateCacheCluster memberikan izin untuk membuat klaster cache ElastiCache . Namun, untuk melakukan operasi ini, ElastiCache konsol menggunakan sejumlah Describe dan List tindakan untuk mengisi daftar konsol.

Contoh 1: Izinkan pengguna akses hanya-baca ke sumber daya ElastiCache

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

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

Contoh 2: Izinkan pengguna untuk melakukan tugas administrator ElastiCache sistem umum

Tugas umum administrator sistem termasuk mengubah sumber daya. Administrator sistem mungkin juga ingin mendapatkan informasi tentang peristiwa ElastiCache . Kebijakan berikut memberikan izin pengguna untuk melakukan ElastiCache tindakan untuk tugas administrator sistem umum ini. Biasanya, Anda melampirkan jenis kebijakan izin ini ke grup administrator sistem.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowMutations", "Effect":"Allow", "Action":[ "elasticache:Modify*", "elasticache:Describe*", "elasticache:ResetCacheParameterGroup" ], "Resource":"*" } ] }

Contoh 3: Izinkan pengguna mengakses semua tindakan ElastiCache API

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

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowAll", "Effect":"Allow", "Action":[ "elasticache:*" ], "Resource":"*" } ] }

Contoh 4: Izinkan pengguna memanggil IAM API CreateServiceLinkedRole

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

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

Contoh 5: Mengizinkan pengguna untuk terhubung ke cache nirserver menggunakan autentikasi IAM

Kebijakan berikut mengizinkan setiap pengguna untuk terhubung ke cache nirserver menggunakan autentikasi IAM antara 01-04-2023 hingga 30-06-2023.

{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:serverlesscache:*" ], "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2023-04-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2023-06-30T23:59:59Z"} } }, { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:user:*" ] } ] }