IAM role untuk Amazon EC2 - Amazon Elastic Compute Cloud

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

IAM role untuk Amazon EC2

Aplikasi harus menandatangani permintaan API mereka dengan AWS kredensialnya. Oleh karena itu, jika Anda adalah seorang developer aplikasi, Anda membutuhkan strategi untuk mengelola kredensial untuk aplikasi-aplikasi Anda yang berjalan pada instans EC2. Sebagai contoh, Anda dapat mendistribusikan kredensial AWS Anda dengan aman ke instans, yang mana hal itu akan memungkinkan aplikasi-aplikasi pada instans tersebut untuk menggunakan kredensial Anda untuk menandatangani permintaan, sekaligus melindungi kredensial Anda dari pengguna lain. Namun, sulit untuk mendistribusikan kredensyal secara aman ke setiap instans, terutama yang AWS dibuat atas nama Anda, seperti Instans Spot atau instans di grup Auto Scaling. Anda juga harus dapat memperbarui kredensyal pada setiap instance saat memutar kredensyal Anda. AWS

catatan

Untuk beban kerja Amazon EC2, sebaiknya Anda mengambil kredensial sesi menggunakan metode yang dijelaskan di bawah ini. Kredensial ini harus memungkinkan beban kerja Anda membuat permintaan API AWS , tanpa perlu menggunakan sts:AssumeRole untuk mengambil peran yang sama yang sudah dikaitkan dengan instans. Kecuali jika Anda perlu meneruskan tanda sesi untuk kontrol akses berbasis atribut (ABAC) atau meneruskan kebijakan sesi guna membatasi izin peran lebih lanjut, panggilan pengambilan peran tersebut tidak diperlukan karena panggilan tersebut membuat kumpulan baru kredensial sesi peran sementara yang sama.

Jika beban kerja menggunakan peran untuk mengambil dirinya sendiri, Anda harus membuat kebijakan kepercayaan yang secara eksplisit memungkinkan peran tersebut untuk mengambil dirinya sendiri. Jika tidak membuat kebijakan kepercayaan, Anda akan menemui kesalahan AccessDenied. Untuk informasi selengkapnya, lihat Memodifikasi kebijakan kepercayaan peran dalam Panduan Pengguna IAM.

Kami merancang IAM role agar aplikasi-aplikasi Anda dapat membuat permintaan API dengan aman dari instans Anda, tanpa mengharuskan Anda mengelola kredensial keamanan yang digunakan oleh aplikasi-aplikasi tersebut. Alih-alih membuat dan mendistribusikan AWS kredensyal, Anda dapat mendelegasikan izin untuk membuat permintaan API menggunakan peran IAM sebagai berikut:

  1. Buat peran IAM.

  2. Tentukan akun atau AWS layanan mana yang dapat mengambil peran.

  3. Tentukan tindakan dan sumber daya API mana yang dapat digunakan oleh aplikasi setelah peran tersebut diambil.

  4. Tentukan peran saat Anda meluncurkan instans Anda, atau lampirkan peran tersebut ke instans yang sudah ada.

  5. Buatlah aplikasi tersebut mengambil satu set kredensial sementara lalu gunakan kredensial tersebut.

Sebagai contoh, Anda dapat menggunakan IAM role untuk memberikan izin ke aplikasi-aplikasi yang berjalan pada instans Anda yang harus menggunakan bucket dalam Amazon Simple Storage Service (Amazon S3). Anda dapat menentukan izin untuk IAM role dengan membuat kebijakan dalam format JSON. Peran ini mirip dengan kebijakan yang Anda buat untuk pengguna. Jika Anda mengubah peran, maka perubahan itu akan disebarkan ke semua instans.

catatan

Kredensyal peran Amazon EC2 IAM tidak tunduk pada durasi sesi maksimum yang dikonfigurasi dalam peran. Untuk informasi selengkapnya, lihat Menggunakan IAM role dalam Panduan Pengguna IAM.

Saat Anda membuat IAM role, kaitkan kebijakan IAM dengan hak akses paling rendah yang membatasi akses ke panggilan API tertentu yang diperlukan oleh aplikasi. Untuk komunikasi Windows-ke-Windows, gunakan grup dan peran Windows yang sudah terdefinisi dengan baik dan terdokumentasi dengan baik untuk memberikan akses tingkat aplikasi antar instans Windows. Grup dan peran memungkinkan pelanggan untuk menentukan izin aplikasi dengan hak akses paling rendah dan izin tingkat folder NTFS untuk membatasi akses ke persyaratan spesifik aplikasi.

Anda hanya dapat melampirkan satu IAM role saja ke instans, tapi Anda dapat melampirkan peran yang sama ke banyak instans. Untuk informasi selengkapnya tentang cara membuat dan menggunakan IAM role, lihat Peran dalam Panduan Pengguna IAM.

Anda dapat menerapkan izin tingkat sumber daya pada kebijakan IAM Anda untuk mengontrol kemampuan pengguna dalam melampirkan, mengganti, atau melepaskan IAM role yang dilampirkan ke instans. Untuk informasi selengkapnya, lihat Izin tingkat sumber daya yang mendukung tindakan API Amazon EC2 dan contoh berikut ini: Contoh: Cara Menggunakan IAM role.

Profil instans

Amazon EC2 menggunakan profil instans sebagai kontainer untuk IAM role. Saat Anda membuat IAM role menggunakan konsol IAM, konsol akan membuat profil instans secara otomatis dan memberikan nama yang sama sesuai dengan perannya. Jika Anda menggunakan konsol Amazon EC2 untuk meluncurkan instans dengan IAM role atau untuk melampirkan IAM role ke instans, Anda dapat memilih peran tersebut berdasarkan daftar nama profil instans.

Jika Anda menggunakan API AWS CLI, atau AWS SDK untuk membuat peran, Anda membuat profil peran dan instance sebagai tindakan terpisah, dengan nama yang berpotensi berbeda. Jika Anda kemudian menggunakan AWS CLI, API, atau AWS SDK untuk meluncurkan instance dengan peran IAM atau melampirkan peran IAM ke instance, tentukan nama profil instance.

profil instans hanya dapat berisi satu IAM role saja. Batas ini tidak dapat dinaikkan.

Untuk informasi selengkapnya, lihat Profil Instans dalam Panduan Pengguna IAM.

Mengambil kredensial keamanan dari metadata instans

aplikasi pada instans akan mengambil kredensial keamanan yang disediakan oleh peran dari item metadata instans iam/security-credentials/role-name. Aplikasi ini diberi izin untuk tindakan-tindakan dan sumber daya yang telah Anda tentukan untuk peran tersebut melalui kredensial keamanan yang dikaitkan dengan peran tersebut. Kredensial keamanan ini bersifat sementara dan kami memutar kredensial tersebut secara otomatis. Kami menyediakan kredensial yang baru setidaknya lima menit sebelum kredensial lama kedaluwarsa.

Awas

Jika Anda menggunakan layanan-layanan yang menggunakan metadata instans dengan IAM role, pastikan Anda tidak mengekspos kredensial Anda saat layanan-layanan tersebut melakukan panggilan HTTP atas nama Anda. Jenis-jenis layanan yang dapat mengekspos kredensial Anda termasuk proksi HTTP, layanan-layanan validator HTML/CSS, dan prosesor XML yang mendukung inklusi XML.

Perintah berikut akan mengambil kredensial keamanan untuk IAM role yang mempunyai nama s3access.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
IMDSv2
PS C:\> [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
IMDSv1
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

Berikut ini adalah output contoh.

{ "Code" : "Success", "LastUpdated" : "2012-04-26T16:39:16Z", "Type" : "AWS-HMAC", "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "Token" : "token", "Expiration" : "2017-05-17T15:09:54Z" }

Untuk aplikasi, AWS CLI, dan Tools untuk PowerShell perintah Windows yang berjalan pada instance, Anda tidak perlu secara eksplisit mendapatkan kredensyal keamanan sementara — AWS SDK, AWS CLI, dan Tools untuk Windows PowerShell secara otomatis mendapatkan kredensyal dari layanan metadata instans EC2 dan menggunakannya. Untuk membuat panggilan di luar instans menggunakan kredensial keamanan sementara (sebagai contoh, untuk menguji kebijakan IAM), Anda harus menyediakan kunci akses, kunci rahasia, dan token sesi. Untuk informasi selengkapnya, lihat Menggunakan Kredensyal Keamanan Sementara untuk Meminta Akses ke AWS Sumber Daya di Panduan Pengguna IAM.

Untuk informasi selengkapnya tentang metadata instans, lihat Cara menggunakan metadata instans. Untuk informasi tentang alamat IP metadata instans, lihat Mengambil metadata instans.

Berikan izin kepada pengguna untuk meneruskan peran IAM ke instans

Guna memungkinkan pengguna untuk meluncurkan instans dengan peran IAM atau untuk melampirkan atau mengganti peran IAM untuk instans yang sudah ada, Anda harus memberikan izin kepada pengguna untuk menggunakan tindakan API berikut:

  • iam:PassRole

  • ec2:AssociateIamInstanceProfile

  • ec2:ReplaceIamInstanceProfileAssociation

Sebagai contoh, kebijakan IAM berikut ini akan memberikan izin kepada para pengguna untuk meluncurkan instans dengan IAM role, atau untuk melampirkan atau mengganti IAM role untuk instans yang sudah ada menggunakan AWS CLI.

catatan

Jika Anda ingin kebijakan tersebut memberikan akses kepada pengguna ke semua peran Anda, tentukan sumber daya sebagai * dalam kebijakan tersebut. Namun demikian, harap mempertimbangkan prinsip hak akses paling rendah sebagai praktik terbaik.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:AssociateIamInstanceProfile", "ec2:ReplaceIamInstanceProfileAssociation" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/DevTeam*" } ] }

Untuk memberikan izin kepada para pengguna untuk meluncurkan instans dengan IAM role, atau untuk melampirkan atau mengganti IAM role untuk instans yang sudah ada menggunakan konsol Amazon EC2, Anda harus memberikan mereka izin untuk menggunakan iam:ListInstanceProfiles, iam:PassRole, ec2:AssociateIamInstanceProfile, dan ec2:ReplaceIamInstanceProfileAssociation selain izin lain yang mungkin mereka butuhkan. Untuk kebijakan-kebijakan contoh, lihat Kebijakan contoh yang digunakan dalam konsol Amazon EC2.

Cara menggunakan IAM role

Anda dapat membuat IAM role dan melampirkan peran itu ke instans selama atau setelah peluncuran dilakukan. Anda juga dapat mengganti atau melepaskan IAM role untuk instans.

Membuat IAM role

Anda harus membuat IAM role sebelum Anda dapat meluncurkan instans dengan peran tersebut atau melampirkannya pada instans.

Console
Untuk membuat IAM role menggunakan konsol IAM
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Dalam panel navigasi, pilih Peran, lalu Buat peran.

  3. Pada halaman Pilih entitas tepercaya, pilih Layanan AWS, lalu pilih kasus penggunaan EC2. Pilih Berikutnya.

  4. Pada halaman Tambahkan izin, pilih kebijakan yang memberi instans Anda akses ke sumber daya yang dibutuhkan. Pilih Berikutnya.

  5. Di halaman Nama, tinjau, dan buat, masukkan nama dan deskripsi untuk peran tersebut. Secara opsional, tambahkan tanda ke peran. Pilih Buat peran.

Command line

Contoh berikut membuat IAM role dengan kebijakan yang memungkinkan peran tersebut untuk menggunakan bucket Amazon Simple Storage Service (Amazon S3).

Untuk membuat IAM role dan profil instans (AWS CLI)
  1. Buat kebijakan kepercayaan berikut dan simpan di file teks dengan nama ec2-role-trust-policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } ] }
  2. Buat peran s3access dan tentukan kebijakan kepercayaan yang Anda buat menggunakan perintah create-role.

    aws iam create-role \ --role-name s3access \ --assume-role-policy-document file://ec2-role-trust-policy.json

    Contoh tanggapan

    { "Role": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROAIIZKPBKS2LEXAMPLE", "CreateDate": "2013-12-12T23:46:37.247Z", "RoleName": "s3access", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/s3access" } }
  3. Buat kebijakan akses dan simpan kebijakan tersebut di file teks dengan nama ec2-role-access-policy.json. Sebagai contoh, kebijakan ini akan memberikan izin administratif untuk Amazon Simple Storage Service (Amazon S3) untuk aplikasi-aplikasi yang berjalan pada instans.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:*"], "Resource": ["*"] } ] }
  4. Lampirkan kebijakan akses ke peran menggunakan perintah put-role-policy.

    aws iam put-role-policy \ --role-name s3access \ --policy-name S3-Permissions \ --policy-document file://ec2-role-access-policy.json
  5. Buat profil instans dengan nama s3access-profile menggunakan perintah create-instans-profile.

    aws iam create-instance-profile --instance-profile-name s3access-profile

    Contoh tanggapan

    { "InstanceProfile": { "InstanceProfileId": "AIPAJTLBPJLEGREXAMPLE", "Roles": [], "CreateDate": "2013-12-12T23:53:34.093Z", "InstanceProfileName": "s3access-profile", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/s3access-profile" } }
  6. Tambahkan peran s3access pada profil instans s3access-profile.

    aws iam add-role-to-instance-profile \ --instance-profile-name s3access-profile \ --role-name s3access

Atau, Anda dapat menggunakan AWS Tools for Windows PowerShell perintah berikut:

Meluncurkan instans dengan IAM role

Setelah Anda membuat IAM role, Anda dapat meluncurkan instans, dan mengaitkan peran tersebut pada instans saat dilakukan peluncuran.

penting

Setelah Anda membuat IAM role, mungkin dibutuhkan beberapa detik bagi izin tersebut untuk tersebar. Jika upaya pertama Anda untuk meluncurkan instans dengan peran gagal, tunggu beberapa detik sebelum Anda mencobanya kembali. Untuk informasi selengkapnya, lihat Pemecahan Masalah peran IAM dalam Panduan Pengguna IAM.

New console
Untuk meluncurkan instans dengan IAM role (konsol)
  1. Ikuti prosedur untuk meluncurkan instans.

  2. Perluas Detail lanjutan, dan untuk profil instans IAM, pilih peran IAM yang Anda buat.

    catatan

    Daftar Profil instans IAM akan menampilkan nama profil instans yang telah Anda buat saat membuat peran IAM. Jika Anda membuat IAM role menggunakan konsol, maka profil instans dibuat untuk Anda dan diberi nama yang sama dengan peran tersebut. Jika Anda membuat peran IAM menggunakan API AWS CLI, atau AWS SDK, Anda mungkin telah menamai profil instans Anda secara berbeda.

  3. Konfigurasikan detail lain yang Anda perlukan untuk instans atau terima defaultnya, dan pilih pasangan kunci. Untuk informasi tentang bidang di wizard peluncuran instans, lihat Luncurkan sebuah instans menggunakan parameter yang ditentukan.

  4. Di panel Ringkasan, tinjau konfigurasi instans Anda, lalu pilih Luncurkan instans.

  5. Jika Anda menggunakan tindakan Amazon EC2 API dalam aplikasi Anda, ambil kredensyal AWS keamanan yang tersedia pada instans dan gunakan untuk menandatangani permintaan. AWS SDK melakukan ini untuk Anda.

    IMDSv2

    Untuk instance Linux, lihat contoh berikut:

    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name

    Untuk instance Windows, lihat contoh berikut:

    PS C:\> [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
    PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name
    IMDSv1

    Untuk instance Linux, lihat contoh berikut:

    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name

    Untuk instance Windows, lihat contoh berikut:

    PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name
Old console
Untuk meluncurkan instans dengan IAM role (konsol)
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Dari dasbor, pilih Luncurkan instans.

  3. Pilih AMI dan tipe instans dan kemudian pilih Berikutnya: Konfigurasi Detail Instans.

  4. Pada halaman Konfigurasikan Detail Instans, untuk IAM role (peran IAM), pilih IAM role yang sudah Anda ciptakan.

    catatan

    Daftar IAM role akan menampilkan nama profil instans yang telah Anda buat saat Anda membuat IAM role Anda. Jika Anda membuat IAM role menggunakan konsol, maka profil instans dibuat untuk Anda dan diberi nama yang sama dengan peran tersebut. Jika Anda membuat peran IAM menggunakan API AWS CLI, atau AWS SDK, Anda mungkin telah menamai profil instans Anda secara berbeda.

  5. Lakukan konfigurasi pada detail-detail lainnya, lalu ikuti petunjuk melalui bagian lain pemandu, atau pilih Review and Launch (Tinjau dan Luncurkan) untuk menerima pengaturan default dan langsung buka halaman Tinjau Peluncuran Instans.

  6. Tinjau pengaturan Anda, lalu pilih Launch (Peluncuran) untuk memilih pasangan kunci dan meluncurkan instans Anda.

  7. Jika Anda menggunakan tindakan Amazon EC2 API dalam aplikasi Anda, ambil kredensyal AWS keamanan yang tersedia pada instans dan gunakan untuk menandatangani permintaan. AWS SDK melakukan ini untuk Anda.

    IMDSv2

    Untuk instance Linux, lihat contoh berikut:

    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name

    Untuk instance Windows, lihat contoh berikut:

    PS C:\> [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
    PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name
    IMDSv1

    Untuk instance Linux, lihat contoh berikut:

    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name

    Untuk instance Windows, lihat contoh berikut:

    PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name
Command line

Anda dapat menggunakan AWS CLI untuk mengaitkan peran dengan instance selama peluncuran. Anda harus menentukan profil instans dalam perintah.

Untuk meluncurkan instans dengan IAM role (AWS CLI)
  1. Gunakan perintah run-instances untuk meluncurkan instans menggunakan profil instans. Contoh berikut menunjukkan cara meluncurkan instans dengan profil instans.

    aws ec2 run-instances \ --image-id ami-11aa22bb \ --iam-instance-profile Name="s3access-profile" \ --key-name my-key-pair \ --security-groups my-security-group \ --subnet-id subnet-1a2b3c4d

    Atau, gunakan PowerShell perintah New-EC2InstanceTools for Windows.

  2. Jika Anda menggunakan tindakan Amazon EC2 API dalam aplikasi Anda, ambil kredensyal AWS keamanan yang tersedia pada instans dan gunakan untuk menandatangani permintaan. AWS SDK melakukan ini untuk Anda.

    curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name

Melampirkan IAM role ke instans

Untuk melampirkan IAM role pada instans yang tidak memiliki peran, instans tersebut dapat berada dalam status stopped atau running.

Console
Untuk melampirkan IAM role ke instans
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Instans.

  3. Pilih instans, pilih Actions (Tindakan), Security (Keamanan), Modify IAM role (Modifikasi IAM role).

  4. Pilih IAM role yang akan dilampirkan ke instans Anda, lalu pilih Save (Simpan).

Command line
Untuk melampirkan IAM role ke instans (AWS CLI)
  1. Jika perlu, deskripsikan instans Anda untuk mendapatkan ID instans yang akan digunakan untuk melampirkan peran tersebut padanya.

    aws ec2 describe-instances
  2. Gunakan perintah associate-iam-instance-profile untuk melampirkan peran IAM ke instans dengan menentukan profil instans. Anda dapat menggunakan Amazon Resource Name (ARN) dari profil instans tersebut, atau Anda dapat menggunakan namanya.

    aws ec2 associate-iam-instance-profile \ --instance-id i-1234567890abcdef0 \ --iam-instance-profile Name="TestRole-1"

    Contoh tanggapan

    { "IamInstanceProfileAssociation": { "InstanceId": "i-1234567890abcdef0", "State": "associating", "AssociationId": "iip-assoc-0dbd8529a48294120", "IamInstanceProfile": { "Id": "AIPAJLNLDX3AMYZNWYYAY", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-1" } } }

Atau, gunakan alat berikut untuk PowerShell perintah Windows:

Mengganti IAM role

Untuk mengganti IAM role pada instans yang sudah memiliki IAM role yang dilampirkan padanya, instans tersebut harus berada dalam status running. Anda dapat melakukan hal ini jika Anda ingin mengubah IAM role untuk instans tanpa melepaskan peran terlampir yang ada terlebih dahulu. Sebagai contoh, Anda dapat melakukan hal ini untuk memastikan bahwa tindakan-tindakan API yang dilakukan oleh aplikasi yang berjalan pada instans tidak terganggu.

Console
Untuk mengganti IAM role untuk instans
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Instans.

  3. Pilih instans, pilih Actions (Tindakan), Security (Keamanan), Modify IAM role (Modifikasi IAM role).

  4. Pilih IAM role yang akan dilampirkan ke instans Anda, lalu pilih Save (Simpan).

Command line
Untuk mengganti IAM role untuk instans (AWS CLI)
  1. Jika perlu, deskripsikan asosiasi profil instans IAM Anda untuk mendapatkan ID asosiasi yang akan digantikan profil instans IAM tersebut.

    aws ec2 describe-iam-instance-profile-associations
  2. Gunakan perintah replace-iam-instance-profile-association untuk mengganti profil instans IAM dengan menentukan ID asosiasi untuk profil instans yang sudah ada tersebut, dan juga ARN atau nama dari profil instans yang seharusnya menggantikannya.

    aws ec2 replace-iam-instance-profile-association \ --association-id iip-assoc-0044d817db6c0a4ba \ --iam-instance-profile Name="TestRole-2"

    Contoh tanggapan

    { "IamInstanceProfileAssociation": { "InstanceId": "i-087711ddaf98f9489", "State": "associating", "AssociationId": "iip-assoc-09654be48e33b91e0", "IamInstanceProfile": { "Id": "AIPAJCJEDKX7QYHWYK7GS", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-2" } } }

Atau, gunakan alat berikut untuk PowerShell perintah Windows:

Melepaskan IAM role terlampir

Anda dapat melepaskan IAM role terlampir dari instans yang berjalan atau dihentikan.

Console
Untuk melepaskan IAM role terlampir dari instans
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Instans.

  3. Pilih instans, pilih Actions (Tindakan), Security (Keamanan), Modify IAM role (Modifikasi IAM role).

  4. Untuk IAM role, pilih No IAM Role (Tanpa IAM Role). Pilih Save (Simpan).

  5. Dalam kotak dialog konfirmasi, masukkan Detach (Lepaskan), lalu pilih Detach (Lepaskan).

Command line
Untuk melepaskan IAM role terlampir dari instans (AWS CLI)
  1. Jika perlu, gunakan describe-iam-instans-profile-associations untuk mendeskripsikan asosiasi profil instans IAM Anda dan untuk mendapatkan ID asosiasi yang akan dilepaskan profil instans IAM.

    aws ec2 describe-iam-instance-profile-associations

    Contoh tanggapan

    { "IamInstanceProfileAssociations": [ { "InstanceId": "i-088ce778fbfeb4361", "State": "associated", "AssociationId": "iip-assoc-0044d817db6c0a4ba", "IamInstanceProfile": { "Id": "AIPAJEDNCAA64SSD265D6", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-2" } } ] }
  2. Gunakan perintah disassociate-iam-instance-profile untuk melepaskan profil instans IAM menggunakan ID asosiasi dari profil instans tersebut.

    aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba

    Contoh tanggapan

    { "IamInstanceProfileAssociation": { "InstanceId": "i-087711ddaf98f9489", "State": "disassociating", "AssociationId": "iip-assoc-0044d817db6c0a4ba", "IamInstanceProfile": { "Id": "AIPAJEDNCAA64SSD265D6", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-2" } } }

Atau, gunakan alat berikut untuk PowerShell perintah Windows:

Membuat kebijakan untuk IAM role Anda berdasarkan aktivitas akses

Ketika Anda pertama kali membuat IAM role untuk aplikasi-aplikasi Anda, terkadang Anda mungkin harus memberikan izin melebihi yang diperlukan. Sebelum meluncurkan aplikasi Anda di lingkungan produksi Anda, Anda dapat membuat kebijakan IAM yang berbasis aktivitas akses untuk IAM role. IAM Access Analyzer meninjau AWS CloudTrail log Anda dan menghasilkan templat kebijakan yang berisi izin yang telah digunakan oleh peran dalam rentang tanggal yang ditentukan. Anda dapat menggunakan templat tersebut untuk membuat kebijakan terkelola dengan izin yang sangat terperinci dan kemudian melampirkan kebijakan itu ke IAM role. Dengan begitu, Anda hanya memberikan izin yang diperlukan peran untuk berinteraksi dengan AWS sumber daya untuk kasus penggunaan spesifik Anda. Hal ini akan membantu Anda untuk lebih mematuhi praktik terbaik dalam memberikan hak akses paling rendah. Untuk mempelajari selengkapnya, lihat Membuat kebijakan berdasarkan aktivitas akses di Panduan Pengguna IAM.