Berikan IAM izin untuk EC2 Instance Connect - Amazon Elastic Compute Cloud

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

Berikan IAM izin untuk EC2 Instance Connect

Untuk menyambung ke instans menggunakan EC2 Instance Connect, Anda harus membuat IAM kebijakan yang memberikan izin kepada pengguna untuk tindakan dan kondisi berikut:

  • Tindakan ec2-instance-connect:SendSSHPublicKey – Memberikan izin untuk mendorong kunci publik ke sebuah instans.

  • Kondisi ec2:osuser – Menentukan nama pengguna OS yang dapat mendorong kunci publik ke sebuah instans. Gunakan nama pengguna default untuk AMI yang Anda gunakan untuk meluncurkan instance. Nama pengguna default untuk AL2 023 dan Amazon Linux 2 adalahec2-user, dan untuk Ubuntu itu. ubuntu

  • ec2:DescribeInstancesaction — Diperlukan saat menggunakan EC2 konsol karena pembungkus memanggil tindakan ini. Pengguna mungkin sudah memiliki izin untuk memanggil tindakan ini dari kebijakan lain.

  • ec2:DescribeVpcstindakan - Diperlukan saat menghubungkan ke IPv6 alamat.

Pertimbangkan membatasi akses ke EC2 instans tertentu. Jika tidak, semua IAM kepala sekolah dengan izin untuk ec2-instance-connect:SendSSHPublicKey tindakan dapat terhubung ke semua instance. EC2 Anda dapat membatasi akses dengan menentukan sumber daya ARNs atau dengan menggunakan tanda sumber daya sebagai kunci kondisi.

Untuk informasi lebih lanjut, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon EC2 Instance Connect.

Untuk informasi tentang membuat IAM kebijakan, lihat Membuat IAM kebijakan di Panduan IAM Pengguna.

Izinkan pengguna untuk terhubung ke instans tertentu

IAMKebijakan berikut memberikan izin untuk terhubung ke instans tertentu, yang diidentifikasi oleh sumber daya. ARNs

Dalam contoh IAM kebijakan berikut, tindakan dan kondisi berikut ditentukan:

  • ec2-instance-connect:SendSSHPublicKeyTindakan memberikan izin kepada pengguna untuk terhubung ke dua instance, yang ditentukan oleh sumber daya. ARNs Untuk memberikan izin kepada pengguna untuk terhubung ke semua EC2 instance, ganti sumber daya ARNs dengan * wildcard.

  • ec2:osuserKondisi memberikan izin untuk terhubung ke instance hanya jika ami-username ditentukan saat menghubungkan.

  • Tindakan ec2:DescribeInstances ditentukan untuk memberikan izin kepada pengguna yang akan menggunakan konsol untuk terhubung ke instans Anda. Jika pengguna Anda hanya akan menggunakan SSH klien untuk terhubung ke instans Anda, Anda dapat ec2:DescribeInstances menghilangkannya. Perhatikan bahwa ec2:Describe* API tindakan tersebut tidak mendukung izin tingkat sumber daya. Oleh karena itu, wildcard * dibutuhkan dalam Resource.

  • ec2:DescribeVpcsTindakan ditentukan untuk memberikan izin kepada pengguna yang akan menggunakan konsol untuk terhubung ke instance Anda menggunakan IPv6 alamat. Jika pengguna Anda hanya akan menggunakan IPv4 alamat publik, Anda dapat menghilangkannyaec2:DescribeVpcs. Perhatikan bahwa ec2:Describe* API tindakan tersebut tidak mendukung izin tingkat sumber daya. Oleh karena itu, wildcard * dibutuhkan dalam Resource.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": [ "arn:aws:ec2:region:account-id:instance/i-1234567890abcdef0", "arn:aws:ec2:region:account-id:instance/i-0598c7d356eba48d7" ], "Condition": { "StringEquals": { "ec2:osuser": "ami-username" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVpcs" ], "Resource": "*" } ] }

Izinkan pengguna untuk terhubung ke instans dengan tanda tertentu

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang menentukan izin berdasarkan tag yang dapat dilampirkan ke pengguna dan sumber daya. AWS Anda dapat menggunakan tanda sumber daya untuk mengontrol akses ke instans. Untuk informasi selengkapnya tentang menggunakan tanda untuk mengontrol akses ke AWS sumber daya Anda, lihat Mengontrol akses ke AWS sumber daya di Panduan IAM Pengguna.

Dalam IAM kebijakan contoh berikut, ec2-instance-connect:SendSSHPublicKey tindakan memberikan izin kepada pengguna untuk terhubung ke instance apa pun (ditunjukkan oleh * wildcard di sumber dayaARN) dengan syarat instance memiliki tag sumber daya dengan key= dan value=tag-key. tag-value

Tindakan ec2:DescribeInstances ditentukan untuk memberikan izin kepada pengguna yang akan menggunakan konsol untuk terhubung ke instans Anda. Jika pengguna Anda hanya akan menggunakan SSH klien untuk terhubung ke instans Anda, Anda dapat ec2:DescribeInstances menghilangkannya. Perhatikan bahwa ec2:Describe* API tindakan tersebut tidak mendukung izin tingkat sumber daya. Oleh karena itu, wildcard * dibutuhkan dalam Resource.

ec2:DescribeVpcsTindakan ditentukan untuk memberikan izin kepada pengguna yang akan menggunakan konsol untuk terhubung ke instance Anda menggunakan IPv6 alamat. Jika pengguna Anda hanya akan menggunakan IPv4 alamat publik, Anda dapat menghilangkannyaec2:DescribeVpcs. Perhatikan bahwa ec2:Describe* API tindakan tersebut tidak mendukung izin tingkat sumber daya. Oleh karena itu, wildcard * dibutuhkan dalam Resource.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "arn:aws:ec2:region:account-id:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/tag-key": "tag-value" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVpcs" ], "Resource": "*" } ] }