Berikan izin untuk menggunakan EC2 Instance Connect Endpoint - 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 izin untuk menggunakan EC2 Instance Connect Endpoint

Secara default, IAM entitas tidak memiliki izin untuk membuat, mendeskripsikan, atau memodifikasi Titik Akhir EC2 Instance Connect. IAMAdministrator dapat membuat IAM kebijakan yang memberikan izin yang diperlukan untuk melakukan tindakan tertentu pada sumber daya yang mereka butuhkan.

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

Contoh kebijakan berikut menunjukkan bahwa Anda dapat mengontrol izin yang dimiliki pengguna untuk EC2 Instance Connect Endpoint.

Izin untuk membuat, mendeskripsikan, dan menghapus Titik Akhir EC2 Instance Connect

Untuk membuat Titik Akhir EC2 Instance Connect, pengguna memerlukan izin untuk tindakan berikut:

  • ec2:CreateInstanceConnectEndpoint

  • ec2:CreateNetworkInterface

  • ec2:CreateTags

  • iam:CreateServiceLinkedRole

Untuk mendeskripsikan dan menghapus Titik Akhir EC2 Instance Connect, pengguna memerlukan izin untuk tindakan berikut:

  • ec2:DescribeInstanceConnectEndpoints

  • ec2:DeleteInstanceConnectEndpoint

Anda dapat membuat kebijakan yang memberikan izin untuk membuat, mendeskripsikan, dan menghapus Titik Akhir EC2 Instance Connect di semua subnet. Atau, Anda dapat membatasi tindakan untuk subnet tertentu hanya dengan menentukan subnet ARNs sebagai diizinkan Resource atau dengan menggunakan kunci kondisi. ec2:SubnetID Anda juga dapat menggunakan kunci syarat aws:ResourceTag untuk secara eksplisit mengizinkan atau menolak pembuatan titik akhir dengan tanda tertentu. Untuk informasi selengkapnya, lihat Kebijakan dan izin IAM di Panduan IAM Pengguna.

Contoh IAM kebijakan

Dalam contoh IAM kebijakan berikut, Resource bagian memberikan izin untuk membuat dan menghapus titik akhir di semua subnet, yang ditentukan oleh tanda bintang (). * ec2:Describe*APITindakan tidak mendukung izin tingkat sumber daya. Oleh karena itu, wildcard * dibutuhkan dalam Resource.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "GrantAllActionsInAllSubnets", "Action": [ "ec2:CreateInstanceConnectEndpoint", "ec2:DeleteInstanceConnectEndpoint", "ec2:CreateNetworkInterface", "ec2:CreateTags", "iam:CreateServiceLinkedRole" ], "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:subnet/*" }, { "Action": [ "ec2:CreateNetworkInterface" ], "Effect": "Allow", "Resource": "arn:aws:ec2:::security-group/*" }, { "Sid": "DescribeInstanceConnectEndpoints", "Action": [ "ec2:DescribeInstanceConnectEndpoints" ], "Effect": "Allow", "Resource": "*" } ] }

Izin untuk menggunakan EC2 Instance Connect Endpoint untuk menyambung ke instance

ec2-instance-connect:OpenTunnelTindakan memberikan izin untuk membuat TCP koneksi ke instance untuk terhubung melalui Titik Akhir EC2 Instance Connect. Anda dapat menentukan Endpoint EC2 Instance Connect yang akan digunakan. Atau, Resource with a asterisk (*) memungkinkan pengguna untuk menggunakan EC2 Instance Connect Endpoint yang tersedia. Anda juga dapat membatasi akses ke instans berdasarkan ada atau tidak adanya tanda sumber daya sebagai kunci syarat.

Kondisi
  • ec2-instance-connect:remotePort— Port pada instance yang dapat digunakan untuk membuat TCP koneksi. Ketika kunci syarat ini digunakan, percobaan untuk terhubung ke instans pada port lain selain port yang ditentukan dalam kebijakan akan mengakibatkan kegagalan.

  • ec2-instance-connect:privateIpAddress— Alamat IP pribadi tujuan yang terkait dengan instance yang ingin Anda buat TCP koneksi. Anda dapat menentukan satu alamat IP, seperti10.0.0.1/32, atau rentang IPs melaluiCIDRs, seperti10.0.1.0/28. Ketika kunci kondisi ini digunakan, mencoba untuk terhubung ke sebuah instance dengan alamat IP pribadi yang berbeda atau di luar CIDR jangkauan menghasilkan kegagalan.

  • ec2-instance-connect:maxTunnelDuration— Durasi maksimum untuk TCP koneksi yang ditetapkan. Satuannya adalah detik dan durasinya berkisar dari minimal 1 detik hingga maksimum 3.600 detik (1 jam). Jika kondisi tidak ditentukan, durasi default diatur ke 3.600 detik (1 jam). Mencoba menyambung ke instans lebih lama dari durasi yang ditentukan dalam IAM kebijakan atau lebih lama dari maksimum default mengakibatkan kegagalan. Koneksi terputus setelah durasi yang ditentukan.

    Jika maxTunnelDuration ditentukan dalam IAM kebijakan dan nilai yang ditentukan kurang dari 3.600 detik (default), maka Anda harus menentukan --max-tunnel-duration dalam perintah saat menghubungkan ke instance. Untuk informasi selengkapnya tentang terhubung ke instans Anda, lihat Connect ke instans Amazon menggunakan EC2 EC2 Instance Connect Endpoint.

Anda juga dapat memberikan akses pengguna untuk membuat koneksi ke instans berdasarkan keberadaan tag sumber daya di Titik Akhir EC2 Instance Connect. Untuk informasi selengkapnya, lihat Kebijakan dan izin IAM di Panduan IAM Pengguna.

Untuk instance Linux, ec2-instance-connect:SendSSHPublicKey tindakan memberikan izin untuk mendorong kunci publik ke sebuah instance. Kondisi ec2:osuser menentukan nama pengguna OS (sistem operasi) yang dapat mendorong kunci publik ke sebuah instans. Gunakan nama pengguna default untuk AMI yang Anda gunakan untuk meluncurkan instance. Untuk informasi selengkapnya, lihat Berikan IAM izin untuk EC2 Instance Connect.

Contoh IAM kebijakan

Contoh IAM kebijakan berikut memungkinkan IAM prinsipal untuk terhubung ke instance hanya menggunakan Titik Akhir EC2 Instance Connect yang ditentukan, yang diidentifikasi oleh ID titik akhir yang ditentukan. eice-123456789abcdef Koneksi berhasil dibuat hanya jika semua kondisi terpenuhi.

catatan

ec2:Describe*APITindakan tidak mendukung izin tingkat sumber daya. Oleh karena itu, wildcard * dibutuhkan dalam Resource.

Linux

Contoh ini mengevaluasi jika koneksi ke instance dibuat pada —port 22 (SSH), jika alamat IP pribadi instance berada dalam kisaran 10.0.1.0/31 (antara 10.0.1.0 dan10.0.1.1), dan kurang dari atau sama dengan detik. maxTunnelDuration 3600 Koneksi terputus setelah 3600 detik (1 jam).

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EC2InstanceConnect", "Action": "ec2-instance-connect:OpenTunnel", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:instance-connect-endpoint/eice-123456789abcdef", "Condition": { "NumericEquals": { "ec2-instance-connect:remotePort": "22" }, "IpAddress": { "ec2-instance-connect:privateIpAddress": "10.0.1.0/31" }, "NumericLessThanEquals": { "ec2-instance-connect:maxTunnelDuration": "3600" } } }, { "Sid": "SSHPublicKey", "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "*", "Condition": { "StringEquals": { "ec2:osuser": "ami-username" } } }, { "Sid": "Describe", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceConnectEndpoints" ], "Effect": "Allow", "Resource": "*" } ] }
Windows

Contoh ini mengevaluasi jika koneksi ke instance dibuat pada port 3389 (RDP), jika alamat IP pribadi instance terletak dalam kisaran 10.0.1.0/31 (antara 10.0.1.0 dan10.0.1.1), dan kurang dari atau sama dengan detik. maxTunnelDuration 3600 Koneksi terputus setelah 3600 detik (1 jam).

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EC2InstanceConnect", "Action": "ec2-instance-connect:OpenTunnel", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:instance-connect-endpoint/eice-123456789abcdef", "Condition": { "NumericEquals": { "ec2-instance-connect:remotePort": "3389" }, "IpAddress": { "ec2-instance-connect:privateIpAddress": "10.0.1.0/31" }, "NumericLessThanEquals": { "ec2-instance-connect:maxTunnelDuration": "3600" } } }, { "Sid": "Describe", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceConnectEndpoints" ], "Effect": "Allow", "Resource": "*" } ] }

Izin untuk terhubung hanya dari rentang alamat IP tertentu

Contoh IAM kebijakan berikut memungkinkan IAM prinsipal untuk terhubung ke instance dengan syarat mereka terhubung dari alamat IP dalam rentang alamat IP yang ditentukan dalam kebijakan. Jika panggilan IAM utama OpenTunnel dari alamat IP tidak berada dalam 192.0.2.0/24 (contoh rentang alamat IP dalam kebijakan ini), responsnya adalahAccess Denied. Untuk informasi selengkapnya, lihat aws:SourceIpdi Panduan IAM Pengguna.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:OpenTunnel", "Resource": "arn:aws:ec2:region:account-id:instance-connect-endpoint/eice-123456789abcdef", "Condition": { "IpAddress": { "aws:SourceIp": "192.0.2.0/24" }, "NumericEquals": { "ec2-instance-connect:remotePort": "22" } } }, { "Sid": "SSHPublicKey", "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "*", "Condition": { "StringEquals": { "ec2:osuser": "ami-username" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceConnectEndpoints" ], "Resource": "*" } ] }