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

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

Sebaiknya Anda pertama-tama membaca topik yang menjelaskan konsep dasar dan opsi dasar untuk mengelola akses ke ElastiCache sumber daya Amazon. Untuk informasi selengkapnya, lihat Gambaran umum pengelolaan izin akses untuk ElastiCache sumber daya.

Bagian dalam topik ini mencakup hal berikut:

Berikut adalah contoh kebijakan izin.

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

Kebijakan ini memiliki dua pernyataan:

  • Pernyataan pertama memberikan izin untuk ElastiCache tindakan Amazon (elasticache:CreateCacheCluster,elasticache:DescribeCacheClusters,elasticache:ModifyCacheCluster

  • Pernyataan kedua memberikan izin untuk tindakan IAM (iam:PassRole) pada nama peran IAM yang ditentukan pada akhirResource nilai.

Kebijakan tidak menyebutkan elemen Principal karena dalam kebijakan berbasis identitas, Anda tidak menyebutkan pengguna utama yang mendapatkan izin. Saat Anda menyematkan kebijakan kepada pengguna, pengguna itu adalah pengguna utama implisit. Saat Anda melampirkan kebijakan izin pada IAM role, penanggung jawab yang diidentifikasi dalam kebijakan kepercayaan peran mendapatkan izin.

Untuk tabel yang menampilkan semua Tindakan Amazon ElastiCache API dan sumber daya yang diterapkan, lihatIzin API ElastiCache: Referensi tindakan, sumber daya, dan kondisi.

Izin yang Diperlukan untuk Menggunakan ElastiCache Konsol Amazon

Tabel referensi perizinan mencantumkan operasi Amazon ElastiCache API dan menampilkan izin yang diperlukan untuk setiap operasi. Untuk informasi lain tentang operasi ElastiCache API, lihatIzin API ElastiCache: Referensi tindakan, sumber daya, dan kondisi.

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

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

ElastiCache Konsol memerlukan izin tambahan ini karena alasan berikut:

  • Izin untuk ElastiCache tindakan memungkinkan konsol menampilkan ElastiCache sumber daya di akun.

  • Konsol memerlukan izin untukec2 tindakan tersebut untuk melakukan kueri ke Amazon EC2 agar dapat menampilkan Availability Zone, VPC, grup keamanan, dan atribut akun.

  • Izin untukcloudwatch tindakan memungkinkan konsol untuk mengambil CloudWatch metrik dan alarm Amazon, dan menampilkannya di konsol.

  • Izin untuksns tindakan memungkinkan konsol untuk mengambil topik dan langganan Amazon Simple Notification Service (Amazon SNS), dan menampilkannya di konsol.

AWSKebijakan yang dikelola (ditentukan sebelumnya) untuk Amazon ElastiCache

AWS menangani banyak kasus penggunaan umum dengan menyediakan kebijakan IAM mandiri yang dibuat dan dikelola oleh AWS. Kebijakan terkelola memberikan izin yang diperlukan untuk kasus penggunaan umum sehingga Anda tidak perlu menyelidiki izin apa yang diperlukan. Untuk informasi selengkapnya, lihat Kebijakan Terkelola AWS dalam Panduan Pengguna IAM.

Kebijakan terkelola AWS berikut, yang dapat Anda lampirkan ke pengguna di akun Anda, khusus untuk ElastiCache:

  • AmazonElastiCacheReadOnlyAccess- Memberikan akses hanya-baca ke ElastiCache sumber daya Amazon.

  • AmazonElastiCacheFullAccess- Memberikan akses penuh ke ElastiCache sumber daya Amazon.

Anda juga dapat membuat kebijakan IAM khusus Anda sendiri untuk mengizinkan izin tindakan Amazon ElastiCache API. Anda dapat melampirkan kebijakan kustom ini ke pengguna IAM atau grup yang memerlukan izin tersebut.

Contoh kebijakan yang dikelola pelanggan

Jika Anda tidak menggunakan kebijakan default dan memilih untuk menggunakan kebijakan yang dikelola khusus, pastikan salah satu dari dua hal ini. Apakah Anda harus memiliki izin untuk memanggil iam:createServiceLinkedRole (untuk informasi lain, lihat Contoh 5: Mengizinkan pengguna untuk memanggil IAM CreateServiceLinkedRole API). Atau Anda seharusnya membuat peran yang ElastiCache ditautkan ke layanan.

Jika digabungkan dengan izin minimum yang diperlukan untuk menggunakan ElastiCache konsol Amazon, contoh kebijakan di bagian ini memberikan izin tambahan. Contoh ini juga relevan untuk SDK AWS dan AWS CLI. Untuk informasi lain tentang izin apa yang diperlukan untuk menggunakan ElastiCache konsol tersebut, lihatIzin yang Diperlukan untuk Menggunakan ElastiCache Konsol Amazon.

Untuk instruksi tentang menyiapkan pengguna dan grup IAM, buka Membuat Grup Pengguna dan Administrator IAM Pertama Anda dalam Panduan Pengguna IAM.

penting

Selalu uji kebijakan IAM Anda secara menyeluruh sebelum menggunakannya di sistem produksi. Beberapa ElastiCache tindakan yang tampak sederhana mungkin memerlukan tindakan lain untuk mendukungnya saat Anda menggunakan ElastiCache konsol tersebut. Misalnya, elasticache:CreateCacheCluster memberikan izin untuk membuat klaster cache ElastiCache . Namun, untuk melakukan operasi ini, ElastiCache konsol menggunakan sejumlahDescribe danList tindakan untuk mengisi daftar konsol.

Contoh 1: Mengizinkan pengguna untuk membuat dan mengelola grup keamanan

Kebijakan berikut memberikan izin untuk tindakan ElastiCache yang khusus dari grup keamanan. Biasanya, Anda menyematkan jenis kebijakan izin ini untuk grup administrator sistem.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "SecGrpAllows", "Effect":"Allow", "Action":[ "elasticache:CreateCacheSecurityGroup", "elasticache:DeleteCacheSecurityGroup", "elasticache:DescribeCacheSecurityGroup", "elasticache:AuthorizeCacheSecurityGroupIngress", "elasticache:RevokeCacheSecurityGroupIngress"], "Resource":"*" } ] }

Contoh 2: Mengizinkan akses baca-only kepada pengguna untuk mengakses ElastiCache sumber daya

Kebijakan berikut memberikan ElastiCache tindakan izin yang mengizinkan pengguna untuk menampilkan daftar sumber daya. Biasanya, Anda menyematkan jenis kebijakan izin ini untuk grup manajer.

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

Contoh 3: Mengizinkan pengguna untuk melakukan tugas umum administrator ElastiCache sistem

Tugas umum administrator sistem termasuk mengubah klaster cache, parameter, dan grup parameter. Administrator sistem mungkin juga ingin mendapatkan informasi tentang peristiwa ElastiCache . Kebijakan berikut memberikan izin kepada pengguna untuk melakukan ElastiCache tindakan untuk tugas umum administrator sistem ini. Biasanya, Anda menyematkan jenis kebijakan izin ini untuk grup administrator sistem.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "ECAllowSpecific", "Effect":"Allow", "Action":[ "elasticache:ModifyCacheCluster", "elasticache:RebootCacheCluster", "elasticache:DescribeCacheClusters", "elasticache:DescribeEvents", "elasticache:ModifyCacheParameterGroup", "elasticache:DescribeCacheParameterGroups", "elasticache:DescribeCacheParameters", "elasticache:ResetCacheParameterGroup", "elasticache:DescribeEngineDefaultParameters"], "Resource":"*" } ] }

Contoh 4: Mengizinkan pengguna mengakses semua Tindakan ElastiCache API

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

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

Contoh 5: Mengizinkan pengguna untuk memanggil IAM CreateServiceLinkedRole API

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

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

Contoh 6: Memungkinkan pengguna untuk terhubung ke grup replikasi menggunakan otentikasi IAM

Kebijakan berikut memungkinkan setiap pengguna untuk terhubung ke grup replikasi apa pun, menggunakan otentikasi IAM, dari alamat IP 123.45.167.89.

{ "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:replicationgroup:*", ], "Condition": { "IpAddress": { "aws:SourceIp": "123.45.167.89" } } }, { "Effect" : "Allow", "Action" : ["elasticache:Connect"], "Resource" : [ "arn:aws:elasticache:us-east-1:123456789012:user:*" ] } ] }