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, entitas IAM tidak memiliki izin untuk membuat, mendeskripsikan, atau memodifikasi Titik Akhir Connect Instance EC2. Administrator IAM dapat membuat kebijakan IAM yang memberikan izin yang diperlukan untuk melakukan tindakan tertentu pada sumber daya yang mereka butuhkan.

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

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

Izin untuk membuat, mendeskripsikan, dan menghapus EC2 Instance Connect Endpoint

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

  • ec2:CreateInstanceConnectEndpoint

  • ec2:CreateNetworkInterface

  • ec2:CreateTags

  • iam:CreateServiceLinkedRole

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

  • ec2:DescribeInstanceConnectEndpoints

  • ec2:DeleteInstanceConnectEndpoint

Anda dapat membuat kebijakan yang memberikan izin untuk membuat, mendeskripsikan, dan menghapus EC2 Instance Connect Endpoint di semua subnet. Atau, Anda dapat membatasi tindakan untuk subnet tertentu hanya dengan menentukan ARN subnet sebagai Resource yang diizinkan atau dengan menggunakan kunci syarat 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 di IAM pada Panduan Pengguna IAM.

Contoh kebijakan IAM

Dalam contoh kebijakan IAM berikut, bagian Resource memberikan izin untuk membuat dan menghapus titik akhir di semua subnet, yang ditentukan oleh tanda bintang (*). Tindakan API ec2:Describe* 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 instans

Tindakan ec2-instance-connect:OpenTunnel tersebut memberikan izin untuk membuat koneksi TCP ke instans untuk terhubung melalui EC2 Instance Connect Endpoint. Anda dapat menentukan EC2 Instance Connect Endpoint untuk digunakan. Atau, Resource dengan tanda bintang (*) memungkinkan pengguna untuk menggunakan semua 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 koneksi TCP. 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 koneksi TCP. Anda dapat menentukan satu alamat IP, seperti 10.0.0.1/32, atau rentang IP melalui CIDR, seperti 10.0.1.0/28. Ketika kunci syarat ini digunakan, percobaan untuk terhubung ke sebuah instans dengan alamat IP privat yang berbeda atau di luar rentang CIDR akan mengakibatkan kegagalan.

  • ec2-instance-connect:maxTunnelDuration— Durasi maksimum untuk koneksi TCP 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 terhubung ke instans lebih lama dari durasi yang ditentukan dalam kebijakan IAM atau lebih lama dari maksimum default akan menghasilkan kegagalan. Koneksi terputus setelah durasi yang ditentukan.

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

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

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 izin IAM untuk EC2 instans Connect.

Contoh kebijakan IAM

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

catatan

Tindakan API ec2:Describe* 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 dari instance terletak dalam kisaran 10.0.1.0/31 (antara 10.0.1.0 dan10.0.1.1), dan kurang dari atau sama maxTunnelDuration dengan detik. 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 kebijakan IAM berikut memungkinkan pengguna utama IAM untuk terhubung ke instans dengan syarat instans tersebut terhubung dari alamat IP dalam rentang alamat IP yang ditentukan dalam kebijakan. Jika panggilan utama IAM OpenTunnel dari alamat IP yang tidak berada di dalam 192.0.2.0/24 (contoh rentang alamat IP dalam kebijakan ini), responsnya adalahAccess Denied. Untuk informasi selengkapnya, lihat aws:SourceIp dalam Panduan Pengguna IAM.

{ "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": "*" } ] }