Bagaimana Cara Mengambil Peran IAM Menggunakan AWS CLI?

Bagaimana Cara Mengambil Peran Iam Menggunakan Aws Cli



Karena AWS menyediakan beberapa layanan dan manfaat yang sangat besar, wajar jika masalah keamanan diangkat oleh para pakar TI. Untuk mengatasi masalah keamanan ini, layanan IAM diperkenalkan oleh AWS. AWS IAM adalah salah satu layanan web inti yang memungkinkan pengguna mengamankan sumber daya AWS. IAM menyediakan fungsionalitas manajemen akses terpusat pada layanan AWS dengan menentukan izin untuk pengguna yang berbeda.

Garis Besar Singkat

Pada artikel ini, Anda akan belajar tentang:







Apa Peran AWS IAM?
Apa Peran Asumsi di AWS?
Bagaimana Cara Mengambil Peran IAM Menggunakan AWS CLI?



Pikiran Terakhir



Dengan peran dan izin IAM, kami dapat menentukan akses yang diautentikasi dan diotorisasi ke layanan AWS. Peran dan izin ini hanya dapat diberikan oleh pengguna root (pemilik) akun AWS.





Apa Peran AWS IAM?

IAM role adalah identitas yang dibuat oleh pengguna root dalam akun AWS. Identitas ini diberikan izin khusus yang menentukan cakupan akses IAM role ke sumber daya AWS. Izin ini dapat dikelola AWS atau ditentukan khusus oleh pengguna root.

IAM role sangat mirip dengan pengguna IAM, hanya saja IAM role adalah identitas dengan izin tertentu sementara pengguna dapat mengambil peran ini untuk menjalankan fungsi tertentu. Izin yang diberikan pada peran tersebut menentukan tindakan apa yang dapat diambil dengan identitas ini (IAM role).



Apa Peran Asumsi di AWS?

Asumsi Peran adalah salah satu fungsi layanan AWS IAM yang memungkinkan pengguna bertindak dengan layanan AWS meskipun izin untuk mengakses atau memanipulasi sumber daya dalam layanan tidak ditetapkan kepada pengguna. Izin ini secara tidak langsung diberikan kepada pengguna saat peran diambil. Satu set kredensial sementara bersama dengan login berbasis sesi digunakan untuk mengakses sumber daya AWS.

Kredensial sementara ini mencakup Kunci Akses Rahasia, ID Kunci Akses, dan Token Keamanan. Peran IAM yang dibuat oleh pengguna root AWS dapat diambil oleh pengguna lain dalam akun AWS atau pengguna yang ARN-nya disebutkan dalam kebijakan peran tersebut. Kebijakan yang berisi ARN pengguna atau sumber daya dikenal sebagai Kebijakan kepercayaan .

Apa Perbedaan Antara Kebijakan Izin dan Kebijakan Kepercayaan?

Sebelum mengimplementasikan fungsionalitas peran melalui metode yang berbeda, ada dua konsep inti yang harus dipahami oleh pengguna. Ada dua jenis kebijakan dalam layanan IAM:

    • Kebijakan Kepercayaan: Kebijakan kepercayaan menentukan siapa yang dapat mengambil peran IAM tertentu. Agar peran dapat diambil oleh pengguna, ARN pengguna disebutkan dalam kebijakan kepercayaan IAM role. Kebijakan kepercayaan ini menentukan apakah pengguna atau sumber daya merupakan entitas tepercaya untuk mengambil peran ini.
    • Kebijakan Izin: Kebijakan ini menentukan apa yang dapat dilakukan pengguna atau tindakan apa yang dapat dilakukan dengan peran tersebut.

Bagaimana Cara Mengambil Peran IAM Menggunakan AWS CLI?

Mengambil peran serupa dengan menyamar sebagai pengguna lain yang diautentikasi dan diberi wewenang untuk melakukan tindakan tertentu. Sambil menggunakan identitas, AWS telah memastikan bahwa keamanan tetap utuh.

Mari kita pahami cara kerja fungsi Asumsi-peran dengan mempertimbangkan contoh berikut.

Misalnya, ada pengguna dalam akun AWS yang belum diberi izin apa pun untuk bucket S3. Itu “Akses Hanya-Baca” disebut kebijakan izin yang dilampirkan pada IAM role. Agar pengguna dapat mengambil peran ini, ARN pengguna disebutkan dalam kebijakan IAM role. Kebijakan ini sekarang disebut sebagai “kebijakan kepercayaan” dan itu berbeda dengan kebijakan izin. Kebijakan Kepercayaan sangat penting karena membantu AWS menentukan apakah pengguna merupakan entitas resmi atau tidak.

Perhatikan bahwa ARN disebutkan dalam kebijakan Kepercayaan dan bukan dalam kebijakan Izin peran IAM. Dengan mengambil suatu peran, pengguna dapat melakukan beberapa tindakan administratif yang ditentukan oleh kebijakan izin peran tersebut. Tindakan ini termasuk menambah, menghapus, memodifikasi, atau memulihkan sumber daya, dll.

Berikut adalah tiga Metode untuk mengambil peran dengan AWS CLI:

Metode 1: Menggunakan STS (Layanan Token Keamanan)

Pengguna dapat mengambil peran dengan menjalankan perintah di bagian STS (Layanan Token Aman) yang mengembalikan serangkaian kredensial sementara. Kredensial sementara digunakan untuk membuat login berbasis sesi untuk melakukan panggilan API ke sumber daya. Namun, ada dua pengecualian saat menggunakan STS yaitu, DapatkanFederationToken Dan DapatkanSessionToken.

Pengguna dilarang mengakses token ini untuk mengamankan informasi rahasia Token Sesi dan Federasi. Agar keamanan tidak terganggu dalam keadaan apapun. Dengan mengambil suatu peran, pengguna dapat meningkatkan hak istimewa yang diberikan kepada mereka.

Di bagian artikel ini, kami akan meminta satu set kredensial sementara menggunakan perintah STS. Berikut langkah-langkahnya:

Langkah 1: Buat Pengguna dan Kebijakan Pengguna

Pertama, kami akan melakukannya membuat pengguna IAM tanpa izin. Untuk tujuan ini, buka CMD dari menu Mulai Windows:


Hanya itu pengguna akar Bisa membuat sebuah pengguna IAM dalam akun AWS. Oleh karena itu, masuk ke akun root AWS dengan menggunakan perintah berikut:

konfigurasi aws


Kredensialnya sudah dikonfigurasi dalam CLI untuk demo ini seperti yang ditunjukkan pada output perintah:


Belajarlah lagi:

Ke membuat pengguna IAM , berikan perintah berikut ke CLI:

aws saya membuat pengguna --nama belakang pengguna demo


Ganti pengguna demo dengan Anda nama pengguna IAM.

Selamatkan “Arn” diberikan dalam output perintah sebagaimana adanya diperlukan Kapan menciptakan itu Kebijakan Kepercayaan :


Baca selengkapnya:

Langkah selanjutnya adalah izin pengguna (pengguna demo ) ke mengambil peran . Untuk tujuan ini, buatlah a berkas JSON menggunakan apa pun editor teks kamu lebih suka. Untuk demo ini, kami telah menggunakan buku catatan seperti yang ditentukan dalam perintah yang disebutkan di bawah ini:

Untuk Windows

kebijakan pengguna notepad.json


Ganti kebijakan pengguna dengan nama kebijakan IAM Anda.

Untuk OS Linux

Karena kebijakan-pengguna.json


Saat ini, kami menggunakan sistem Operasi Windows untuk demo ini:


Ini akan membuka buku catatan. Rekatkan kebijakan berikut di notepad dan tekan “CTRL+S” dari keyboard untuk menyimpan perubahan:

{
'Versi: kapan' : '2012-10-17' ,
'Penyataan' : [
{
'Memengaruhi' : 'Mengizinkan' ,
'Tindakan' : [
'ec2: Jelaskan*' ,
'iam: DaftarPeran' ,
'sts: Asumsi Peran'
] ,
'Sumber' : '*'
}
]
}


Di bawah ini diberikan penjelasan singkat mengenai kebijakan yang ditentukan:

    • ec2:Jelaskan: Izin ini menentukan bahwa pengguna dapat melihat atau mencantumkan semua AMI, snapshot, atau instans EC2
    • iam:DaftarPeran: Izin ini menetapkan bahwa pengguna dapat mencantumkan semua peran dalam layanan IAM.
    • sts: Peran Asumsi: Izin ini menyatakan bahwa pengguna dapat mengambil peran yang ditentukan dalam layanan IAM.

Di sini, kebijakan telah diedit di dalam notepad dan disimpan:


Setiap AWS sumber ditugaskan sebuah Nama Sumber Daya Akses (ARN) yang mengidentifikasi secara unik sumber daya. Untuk menentukan ARN kebijakan, gunakan perintah yang disebutkan di bawah.

aws saya sedang membuat kebijakan --nama-kebijakan kebijakan pengguna --dokumen-kebijakan mengajukan: // kebijakan-pengguna.json


Dalam perintah yang disebutkan di atas:

    • –nama-kebijakan: Ganti nilainya “kebijakan pengguna” dengan nama polis pilihan Anda.
    • –dokumen kebijakan: Di bidang ini, ganti “ kebijakan-pengguna.json” dengan nama file json yang berisi kebijakan untuk pengguna.

Output dari perintah yang disebutkan di atas adalah sebagai berikut. Selamatkan “Arn” disebutkan dalam keluaran kebijakan karena akan diperlukan saat melampirkan kebijakan ini dengan pengguna:

Langkah 2: Lampirkan Kebijakan dengan Pengguna

Kebijakan ini akan memungkinkan pengguna untuk membuat daftar instans EC2 , Teman-teman , dll. Saat pengguna mengambil peran dengan izin berbeda, pengguna hanya dapat melakukan tindakan spesifik yang diizinkan oleh kebijakan izin.

Untuk melampirkan kebijakan dengan pengguna yang dibuat sebelumnya di bagian ini, gunakan perintah berikut:

aws saya lampirkan kebijakan pengguna --nama belakang pengguna demo --kebijakan-arn 'arn:aws:iam::123456789:kebijakan/kebijakan pengguna'


Dalam perintah yang disebutkan di atas:

    • -nama belakang: Ganti 'pengguna demo' dalam -nama belakang bidang dengan nama pengguna IAM Anda.
    • –kebijakan-arn: Demikian pula di –kebijakan-arn, tentukan “Arn” dari output perintah sebelumnya yaitu –create-policy.

Dengan menjalankan perintah setelah melakukan perubahan yang diperlukan, kebijakan telah berhasil dilampirkan ke pengguna:


Untuk memverifikasi apakah kebijakan telah dilampirkan ke pengguna, berikan perintah berikut ke CLI:

aws saya adalah kebijakan pengguna yang terlampir dalam daftar --nama belakang pengguna demo


Ganti pengguna demo dengan IAM Anda nama belakang ditentukan saat membuat pengguna.

Output dari perintah berikut memverifikasi bahwa kebijakan telah berhasil diterapkan pada pengguna:

Langkah 3: Buat Kebijakan Kepercayaan dan Peran IAM

Hubungan kepercayaan terjalin ketika sumber daya atau ARN pengguna ditentukan dalam kebijakan. Fungsionalitas ini kemudian memungkinkan pengguna atau entitas untuk melakukan tindakan tertentu karena dianggap dipercaya oleh kebijakan.

Pada langkah ini, kita akan membuat kebijakan yang menetapkan hubungan kepercayaan antara IAM role dan pengguna. Kebijakan kepercayaan ini akan dilampirkan pada IAM role. Peran IAM kemudian akan diambil oleh pengguna yang secara tidak langsung akan mengizinkan pengguna untuk melakukan tindakan yang ditentukan dalam kebijakan.

Untuk membuat kebijakan kepercayaan, perintah yang diberikan sebagai berikut:

Untuk Windows

notepad kepercayaan-peran-kebijakan.json


Ganti kebijakan-peran-kepercayaan.json dengan nama preferensi Anda untuk polis tersebut.

Untuk OS Linux

Karena kebijakan-peran-kepercayaan.json


Ganti kebijakan-peran-kepercayaan.json dengan nama preferensi Anda untuk polis tersebut.

Kebijakan kepercayaan mengikuti format JSON seperti yang ditentukan oleh .json ekstensi dalam perintah berikut:


Ini akan membuka buku catatan. Tempel pengikut kebijakan di dalam notepad dan tekan “CTRL+S” tombol dari keyboard untuk menyimpan perubahan. ARN pengguna juga dapat disalin dari dasbor Pengguna di konsol IAM. Untuk tujuan ini, kunjungi dasbor IAM dan klik nama pengguna. Dari konfigurasi yang ditampilkan, salin ARN pengguna yang ditampilkan di bagian Ringkasan.:

{
'Versi: kapan' : '2012-10-17' ,
'Penyataan' : {
'Memengaruhi' : 'Mengizinkan' ,
'Besar' : {
'AWS' : 'arn:aws:iam::123456789012:pengguna/pengguna contoh'
} ,
'Tindakan' : 'sts: Asumsi Peran'
}
}


Dalam kebijakan yang disebutkan di atas:

    • AWS: Ganti Nilai bidang AWS “arn:aws:iam::123456789012:user/example-user ”dengan ARN pengguna yang ditampilkan dalam output perintah –create-user.

Pengguna dapat membatasi pengguna lain untuk mengambil peran IAM dengan menentukan ARN pengguna di “AWS” bidang:


Baca selengkapnya:

Sekarang, buat peran IAM dan lampirkan kebijakan kepercayaan dengannya. Untuk membuat IAM role, gunakan perintah yang disebutkan di bawah ini:

aws saya membuat peran --nama peran peran pengguna --anggap-dokumen-kebijakan-peran mengajukan: // kebijakan-peran-kepercayaan.json


Berikut penjelasan dari bidang-bidang tersebut di atas:

    • -nama peran: Bidang ini digunakan untuk memasukkan nama yang akan ditetapkan ke IAM role ini. Ganti nilai “peran pengguna” dengan nama IAM role pilihan Anda.
    • –anggap-dokumen-kebijakan-peran: Di bidang ini tentukan jalur seperti yang diberikan dalam perintah. Ganti trust-role-policy.json dengan nama kebijakan seperti yang Anda tentukan di bagian sebelumnya.

Dengan menjalankan perintah ini, ia akan mengembalikan beberapa informasi dalam output misalnya ARN, Path, ID, dll:


Baca selengkapnya:

Setelah mengambil peran ini, pengguna akan dapat melakukan “Akses Hanya Baca” tindakan dengan bucket S3. Perintah tersebut diberikan sebagai berikut:

aws saya melampirkan kebijakan peran --nama peran peran pengguna --kebijakan-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Dalam perintah di atas:

    • -nama peran: Mengganti ' peran pengguna' di bidang –nama-peran dengan Nama peran IAM yang Anda tentukan sebelumnya dalam tutorial ini.
    • –kebijakan-arn: Arn yang ditentukan dalam –policy-arn mengacu pada izin ReadOnlyAccess untuk bucket S3.

Dalam gambar ini, peran tersebut telah diberi izin ReadOnlyAccess untuk bucket S3:


Untuk memverifikasi apakah izin telah ditetapkan ke peran tersebut atau tidak, gunakan perintah berikut:

aws saya adalah kebijakan peran yang terlampir dalam daftar --nama peran peran pengguna


Ganti 'peran pengguna' dengan nama peran IAM Anda.

Itu “AmazonS3ReadOnlyAccess” izin telah dilampirkan ke IAM role. Output dari perintah diberikan sebagai berikut:

Langkah 4: Buat Kunci Akses

Di bagian ini, kita akan membuat kunci akses untuk pengguna. Access key akan digunakan untuk masuk ke Akun AWS:

aws saya membuat kunci akses --nama belakang pengguna demo


Ganti pengguna demo dengan nama pengguna IAM Anda yang diberikan pada saat membuat pengguna.

Di sini, perintah telah menampilkan sekumpulan pasangan kunci Access (AccessKeyId dan Secret Access Key)  dengan detail tambahan seperti tanggal pembuatan, status, dll. Menyimpan AccessKeyId dan SecretAccessKey seperti yang diperlukan nanti dalam tutorial:


Baca selengkapnya:

Langkah 5: Konfigurasikan Kunci Akses dan Verifikasi Pengguna IAM

Untuk mengkonfigurasi access key, berikan perintah berikut ke CMD lalu masukkan Access Key ID dan Secret Access Key:

konfigurasi aws


Berikan Access Key ID dan Secret Access Key ke CLI yang dibuat pada Langkah 4 bagian ini. Untuk wilayah ini, kami tetap menggunakan pengaturan default. Pengguna dapat mengonfigurasi format keluaran apa pun untuk format keluaran default. Untuk demo ini, kami telah menentukan JSON format:


Untuk memverifikasi apakah pengguna IAM telah dikonfigurasi, berikan perintah berikut ke CLI:

aws sts dapatkan identitas penelepon


Output dari perintah menunjukkan bahwa 'pengguna demo' telah berhasil dikonfigurasi, dan saat ini masuk ke akun AWS:


Untuk menentukan bahwa pengguna IAM dapat mencantumkan instans EC2 dan saat ini tidak memiliki akses ke bucket S3, gunakan perintah berikut:

aws ec2 deskripsikan-contoh --pertanyaan 'Reservasi[*].Instances[*].[VpcId, InstanceId, ImageId, InstanceType]'


Output dari perintah diberikan sebagai berikut:


Sekarang, berikan perintah berikut untuk memverifikasi apakah pengguna dapat mengakses bucket S3:

aduh s3 aku


Ini akan menampilkan 'Akses ditolak' kesalahan yang menunjukkan bahwa pengguna tidak diizinkan mengakses bucket S3:

Langkah 6: Ambil Peran IAM

Pengguna memiliki izin untuk mencantumkan peran IAM dalam akun AWS. Oleh karena itu, untuk mengambil Peran tersebut, pertama-tama kita akan memperoleh informasi yang diperlukan seperti ARN dengan menjalankan perintah berikut:

aws saya adalah daftar peran --pertanyaan 'Peran[?RoleName == 'peran pengguna'].[RoleName, Arn]'


Ganti “peran pengguna” dengan nama peran IAM di bidang “Nama Peran”.

ARN telah diberikan dalam output dari perintah yang disebutkan di atas:


Sekarang kita memiliki ARN dari IAM role, kita dapat mengambil peran tersebut dengan menggunakan perintah berikut:

aws sts mengambil peran --peran-arn 'arn:aws:iam::123456789012:peran/contoh-peran' --nama-sesi-peran Sesi AWSCLI


Dalam perintah di atas:

    • –peran-arn: Ganti nilai yang disebutkan untuk –role-arn dengan ARN peran IAM.
    • –nama-sesi-peran: Pengguna dapat memberikan nama preferensi apa pun untuk bidang ini.

Dengan menjalankan perintah yang disebutkan di atas, satu set kredensial sementara telah dikembalikan. Kredensial sementara ini akan digunakan untuk mengambil peran IAM dengan izin yang diinginkan, yaitu ReadOnlyAccess. AccessKeyId dan SecretAccessKey akan digunakan saat mengonfigurasi kredensial sementara berikut:


Berikut adalah penjelasan singkat dari output perintah:

    • Token Sesi: Token Sesi digunakan untuk membuat login berbasis sesi. Simpan nilai bidang ini karena akan diperlukan saat mengonfigurasi kredensial.
    • Kedaluwarsa: Token sesi memiliki tanggal dan waktu kedaluwarsa. Token tidak akan berguna setelah waktu yang ditentukan dan pengguna tidak akan dapat mengambil peran tersebut.

Langkah 7: Konfigurasikan Variabel Lingkungan

Untuk mengonfigurasi kredensial sementara, kami akan menggunakan perintah 'set' untuk Windows dan kemudian memberikan nilai Access Key ID, Secret Access Key, Session Token, dll:

Untuk Windows

mengatur AWS_ACCESS_KEY_ID =RoleAccessKeyID


Ganti RoleAccessKeyID dengan Access Key ID yang telah dikembalikan oleh perintah di Langkah 6.

Untuk OS Linux

ekspor AWS_ACCESS_KEY_ID =RoleAccessKeyID


Ganti RoleAccessKeyID dengan Access Key ID yang telah dikembalikan oleh perintah di Langkah 6.

Kunci Akses telah dikonfigurasi:


Selanjutnya, kita akan mengkonfigurasi Secret Access Key dengan menggunakan perintah “set” untuk Windows:

Untuk Windows

mengatur AWS_SECRET_ACCESS_KEY =PeranKunci Rahasia


Ganti RoleSecretKey dengan nilai Secret Access Key yang telah dikembalikan oleh perintah di Langkah 6.

Untuk OS Linux

ekspor AWS_SECRET_ACCESS_KEY =PeranKunci Rahasia


Ganti AWS_SECRET_ACCESS_KEY dengan Secret Access Key yang telah dikembalikan oleh perintah di Langkah 6.

Kunci Akses Rahasia telah berhasil dikonfigurasi:


Terakhir, kita akan mengonfigurasi token sesi untuk membuat login berbasis sesi. Untuk tujuan ini, gunakan perintah yang disebutkan di bawah ini:

Untuk Windows

mengatur AWS_SESSION_TOKEN =RoleSessionToken


Ganti RoleSessionToken dengan nilai Session Token yang telah dikembalikan oleh perintah di Langkah 6.

Untuk OS Linux

ekspor AWS_SESSION_TOKEN =RoleSessionToken


Ganti RoleSessionToken dengan nilai Session Token yang telah dikembalikan oleh perintah di Langkah 6.

Nilai Token Sesi telah berhasil dikonfigurasi:


Untuk menyalin nilai Token Sesi dari CMD, tekan “CTRL+SHIFT+C” .

Setelah mengonfigurasi variabel lingkungan, verifikasi dengan menggunakan perintah berikut apakah peran telah diambil oleh pengguna:

aws sts dapatkan identitas penelepon


Output dari perintah memverifikasi bahwa IAM role telah ada berhasil diasumsikan oleh pengguna sebagaimana pengembalian ARN “arn:aws:sts::123456789012:peran yang diasumsikan/peran-pengguna/Sesi AWSCLI” alih-alih “arn:aws:iam::123456789012:pengguna/pengguna demo”:


Karena peran tersebut berisi izin ReadOnlyAccess, pengguna seharusnya dapat mendaftarkan bucket sekarang. Untuk tujuan ini, berikan perintah berikut ke CLI:

aduh s3 aku


Output dari perintah berhasil mendaftarkan semua bucket S3 yang saat ini dikonfigurasi dalam akun AWS:


Namun, pengguna tidak akan dapat mengakses layanan EC2 karena peran yang diambil tidak memiliki izin untuk layanan EC2. Untuk memverifikasi ini, gunakan perintah berikut:

aws ec2 deskripsikan-contoh --pertanyaan 'Reservasi[*].Instances[*].[VpcId, InstanceId, ImageId, InstanceType]'


Sebelumnya, pengguna dapat mengakses informasi layanan EC2. Namun, setelah menjalankan perintah yang disebutkan di atas, an 'Akses ditolak' kesalahan telah terjadi. Pengguna telah berhasil mengambil peran IAM:


Ini semua dari bagian ini.

Tip Bonus: Hapus Variabel Lingkungan

Untuk kembali ke pengguna IAM, yaitu pengguna demo, pengguna dapat menghapus variabel lingkungan dengan mengatur variabel Lingkungan ke string kosong. Berikut ini adalah perintah yang diberikan:

Untuk Windows

MENGATUR AWS_ACCESS_KEY_ID =
MENGATUR AWS_SECRET_ACCESS_KEY =
MENGATUR AWS_SESSION_TOKEN =


Untuk Linux

Gunakan perintah yang disebutkan di bawah ini:

tidak disetel AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Perintah yang disebutkan di atas akan menghapus variabel lingkungan:


Setelah menjalankan perintah di atas, konsol sekarang akan mengembalikan file 'pengguna demo' sebagai pengguna yang saat ini masuk, bukan peran yang diasumsikan, yaitu peran pengguna. Untuk tujuan ini, kami akan menggunakan perintah berikut:

aws sts dapatkan identitas penelepon


Output dari perintah menunjukkan bahwa pengguna yang masuk saat ini adalah pengguna demo:


Demikian pula, untuk login sebagai pengguna root, ikuti “C:\Pengguna%USERPROFILE%.aws” jalur dan klik file kredensial:


Di dalam file kredensial, ganti nilai Access Key dan Secret Access Key dengan Access dan Secret Access Key pengguna root:


Berikan perintah berikut ke CLI untuk memverifikasi apakah kredensial dikonfigurasi dengan benar:

konfigurasi aws


Di sini, pada gambar di bawah, kita dapat melihat bahwa Access key dan Secret Access key dari pengguna root telah berhasil dikonfigurasi:


Sekian dari bagian tutorial ini.

Metode 2: Menggunakan –profil Parameter

Metode lain untuk mengambil peran adalah dengan menggunakan kolom “–profile” di CLI. Bagian artikel ini menyajikan implementasi praktis dalam mengambil peran di AWS melalui –profile. Berikut langkah-langkahnya:

Langkah 1: Buat Pengguna IAM

Untuk membuat pengguna IAM, masuk ke akun pengguna root melalui CLI dengan menggunakan perintah berikut:

konfigurasi aws


Kredensialnya sudah dikonfigurasi dalam CLI untuk demo ini seperti yang ditunjukkan pada output perintah:


Belajarlah lagi:

Untuk membuat pengguna IAM, berikan perintah berikut ke CLI:

aws saya membuat pengguna --nama belakang pengguna profil


Pengguna telah berhasil dibuat. Simpan ARN pengguna seperti yang ditampilkan pada gambar di bawah. ARN pengguna IAM ini akan digunakan nanti dalam tutorial ini. Saat ini, tidak ada izin yang terkait dengan pengguna IAM ini:


Baca selengkapnya:

Langkah 2: Buat Kunci Akses

Di AWS, setiap pengguna diberikan sepasang kunci Akses untuk login. Untuk membuat Kunci Akses bagi pengguna ini, berikan perintah berikut kepada pengguna ini:

aws saya membuat kunci akses --nama belakang pengguna profil


Perintah ini mengembalikan satu set Kunci Akses. Menyimpan itu AccessKeyId Dan Kunci Akses Rahasia karena ini akan diperlukan saat masuk ke akun AWS:


Sekarang jika kita masuk ke AWS CLI menggunakan AccessKeyId ini, dan SecretAccessKey, dan mengakses sumber daya apa pun, mis. ember S3, itu 'Akses ditolak' kesalahan akan terjadi. Hal ini karena saat ini tidak ada izin yang terkait dengan pengguna IAM. Untuk masuk ke AWS CLI, gunakan perintah berikut dan berikan Access Key ID dan Secret access key seperti yang dibuat sebelumnya:

konfigurasi aws --Profil pengguna profil


Ganti 'pengguna profil' dengan nama pengguna IAM yang Anda berikan saat membuat pengguna.

Di sini, kami telah berhasil masuk ke AWS CLI sebagai pengguna IAM:


Untuk memverifikasi apakah pengguna ini memiliki izin baca-saja untuk bucket S3, berikan perintah berikut ke CLI:

aduh s3 aku --Profil pengguna profil


Ganti pengguna profil dengan nama pengguna IAM yang Anda berikan saat membuat pengguna.

Karena pengguna ini belum diberi izin apa pun oleh pengguna root, hal ini akan mengakibatkan “ Akses ditolak ”kesalahan:

Langkah 3: Buat Kebijakan Kepercayaan dan Peran IAM

Kebijakan kepercayaan menentukan apakah pengguna atau sumber daya AWS merupakan entitas tepercaya untuk mengambil peran dan memperoleh izin. Hubungan kepercayaan ini dibuat dengan menentukan ARN pengguna IAM atau sumber daya AWS dalam Kebijakan Izin.

Untuk membuat kebijakan kepercayaan dalam IAM, berikan perintah berikut ke CLI:

Untuk Windows

notepad trust-policy.json


Ganti kebijakan kepercayaan.json dengan nama preferensi Anda untuk polis tersebut.

Untuk OS Linux

Karena kebijakan-peran-kepercayaan.json


Ganti kebijakan kepercayaan.json dengan nama preferensi Anda untuk polis tersebut.

Pengguna dapat menggunakan editor teks apa pun yang mereka sukai. Untuk demo ini, kami menggunakan notepad:


Ini akan membuka notepad untuk membuat kebijakan kepercayaan. Rekatkan kebijakan berikut di dalam notepad dan tekan “CTRL+S” dari keyboard untuk menerapkan dan menyimpan perubahan:

{
'Versi: kapan' : '2012-10-17' ,
'Penyataan' : {
'Memengaruhi' : 'Mengizinkan' ,
'Besar' : {
'AWS' : 'arn:aws:iam::012345678910:pengguna/pengguna profil'
} ,
'Tindakan' : 'sts: Asumsi Peran'
}
}


Dalam kebijakan di atas: AWS: Ganti nilai “arn:aws:iam::012345678910:user/policy-user” dengan ARN pengguna IAM yang dibuat sebelumnya di bagian ini.

Kebijakan telah diedit di dalam notepad:


Selanjutnya, kita akan membuat IAM role dan melampirkan kebijakan kepercayaan di atas ke dalamnya. Gunakan perintah berikut untuk membuat IAM role:

aws saya membuat peran --nama peran peran saya --anggap-dokumen-kebijakan-peran mengajukan: // kebijakan kepercayaan.json


Dalam perintah yang disebutkan di atas:

    • -nama peran: Ganti “peran saya” dengan nama peran IAM pilihan Anda.
    • –anggap-dokumen-kebijakan-peran: Di bidang ini, ganti istilahnya “kebijakan-kepercayaan.json” dengan nama kebijakan kepercayaan IAM Anda

Peran IAM telah berhasil dibuat. Simpan peran IAM. Simpan ARN IAM role seperti yang disorot dalam gambar berikut. ARN ini akan digunakan saat mengonfigurasi profil pengguna:


Kebijakan kepercayaan yang dilampirkan pada IAM mengidentifikasi apakah pengguna dipercaya atau tidak untuk mengambil peran tersebut. Kebijakan Izin menentukan apakah IAM role memiliki izin yang diperlukan untuk melakukan tindakan tertentu dengan layanan AWS atau tidak.

Karena kebijakan kepercayaan telah dilampirkan ke IAM role, langkah selanjutnya adalah melampirkan kebijakan izin ke IAM role. Perintah yang disebutkan di bawah ini akan digunakan untuk melampirkan kebijakan izin ke IAM role:

aws saya melampirkan kebijakan peran --nama peran peran saya --kebijakan-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Di sini, kebijakan izin telah dilampirkan ke IAM role melalui CLI:

Langkah 4: Konfigurasikan Profil

Agar pengguna dapat mengambil peran ini, pertama-tama kita akan mengonfigurasi profil ini dalam kredensial AWS. Untuk melampirkan kredensial sementara ini, berikan perintah berikut:

buku catatan ~ / .aws / konfigurasi


Tip Bonus: Selesaikan “Jalur tidak ditentukan” di Notepad

File konfigurasi akan berisi pengaturan [default] AWS CLI. Namun, jika notepad menampilkan pesan “Sistem tidak dapat menemukan jalur yang ditentukan”, masukkan perintah yang disebutkan di bawah ini:

buku catatan .aws / konfigurasi


Pengguna Linux dapat menggunakan 'Karena' editor untuk mengonfigurasi profil. Pengguna dapat menggunakan editor pilihan mereka untuk membuka file konfigurasi AWS di mesin lokal:


Di dalam file konfigurasi yang dibuka di Notepad, edit perubahan berikut:

[ profil pengguna profil ]
peran_arn = arn:aws:iam::012345678910:peran / peran saya
profil_sumber =pengguna profil


Dalam cuplikan di atas:

    • peran_arn: Ganti nilai “arn:aws:iam::012345678910:role/myrole” dengan ARN dari IAM role.
    • profil_sumber: Di bidang ini, berikan nama pengguna IAM yang dibuat pada Langkah 1 metode ini.

Setelah melakukan perubahan yang diperlukan, tekan “CTRL+S” dari keyboard untuk menerapkan dan menyimpan perubahan:


Sekarang, untuk memverifikasi apakah pengguna sekarang dapat mencantumkan bucket S3 atau tidak, berikan perintah berikut ke CLI:

aduh s3 aku --Profil pengguna profil


Dalam perintah di atas: –pengguna profil: Di kolom ini, ganti nilai “penggunaan profil” dengan nama yang Anda tentukan di file konfigurasi.

Karena kami telah menentukan 'pengguna profil' di dalam file konfigurasi, maka kami akan menggunakan nama yang sama dengan perintah di CLI. Sebelumnya pengguna tidak dapat mengakses layanan S3 AWS karena tidak ada izin yang diberikan padanya. Peran IAM memiliki izin “ReadOnlyAccess” dari bucket S3 dan oleh karena itu, dengan mengambil peran ini, pengguna dapat membuat daftar bucket dari Dasbor S3:


Sekian dari metode tutorial kali ini.

Metode 3: Menggunakan MFA (Otentikasi Multi-Faktor)

Dengan mengaktifkan Otentikasi Multi-Faktor, pengguna dapat mengonfigurasi lapisan keamanan tambahan pada akun pengguna. Dengan mengaktifkan MFA, pengguna yang tidak sah tidak dapat mengakses akun pengguna meskipun mereka memberikan kata sandi dan nama pengguna. MFA adalah kode enam digit yang diperlukan untuk masuk ke akun. Untuk mempelajari selengkapnya tentang Autentikasi multifaktor, lihat artikel ini:

Berikut adalah langkah-langkah untuk mengambil peran dengan MFA melalui CLI:

Langkah 1: Buat Pengguna IAM dan Aktifkan MFA

Untuk langkah ini, pengguna dapat menggunakan CLI untuk membuat pengguna atau mengakses AWS Management Console. Masuk ke akun pengguna root dengan menggunakan perintah berikut:

konfigurasi aws


Output dari perintah diberikan sebagai berikut:


Untuk membuat pengguna, berikan perintah berikut ke CLI:

aws saya membuat pengguna --nama belakang pengguna mfa


Dalam perintah di atas: -nama belakang: Ganti “pengguna mfa” dengan nama pengguna IAM pilihan Anda.

Pengguna telah berhasil dibuat. Simpan ARN pengguna karena akan diperlukan nanti di bagian ini. Saat ini, pengguna ini belum diberi izin apa pun:


Untuk mengaktifkan MFA, kunjungi AWS Management Console dan cari layanan IAM. Klik dari hasil yang ditampilkan:


Klik pada opsi Pengguna dari panel navigasi kiri layanan IAM. Dari dasbor Pengguna, klik nama pengguna untuk mengonfigurasi MFA:


Pada antarmuka berikutnya, ketuk “Kredensial keamanan” pilihan:


Gulir ke bawah ke Otentikasi Multi-Faktor bagian dan klik “Tetapkan perangkat MFA” tombol:


Sediakan sebuah nama yang bermakna dalam Nama perangkat bidang teks pada antarmuka yang ditampilkan:


Gulir ke bawah ke bagian perangkat MFA. Pengguna disajikan dengan berbagai pilihan untuk mengaktifkan MFA seperti dengan memindai kode QR, melalui Kunci Keamanan atau token TOTP Perangkat Keras. Untuk demo ini, pilih “Aplikasi pengautentikasi” pilihan:


Ketuk 'Berikutnya' tombol di bagian bawah antarmuka untuk melangkah lebih jauh:


Klik “Tampilkan kode QR” seperti yang ditunjukkan pada gambar di bawah ini:


Luncurkan aplikasi di ponsel atau laptop Anda untuk memindai kode QR. Ketuk “+” pilihan dari antarmuka VIP Symantec:


Di Play Store, Symantec VIP diberi nama VIP Access.

Pada antarmuka Symantec VIP berikutnya, klik Pindai kode QR tombol di bagian bawah antarmuka:


Pindai kode QR dari AWS MFA Antarmuka aplikasi Authenticator ditampilkan. Kode ini akan menghasilkan serangkaian kode yang diperlukan untuk masuk ke konsol pengguna IAM:


Aplikasi Symantec VIP akan menghasilkan OTP enam digit setelah memindai kode QR. Kode-kode ini akan terus muncul setiap saat 30 detik . Tangkapan layar di bawah ini menunjukkan dua kode yang dihasilkan:


Berikan kodenya ke Kode MFA 1 Dan Kode MFA 2 bidang teks pada antarmuka Aplikasi Authenticator MFA. Klik “Tambahkan MFA” tombol setelahnya untuk mengaktifkan fungsionalitas:


MFA telah berhasil diaktifkan untuk pengguna IAM. Hal ini dapat diverifikasi oleh “Otentikasi multi-faktor (MFA)” bagian dari “Kredensial keamanan” tab dari pengguna IAM . Dari bagian ini, simpan nilai Identifier karena akan diperlukan saat mengambil peran:

Langkah 2: Lampirkan Kebijakan Dengan Pengguna

Agar pengguna dapat mengambil peran, pengguna harus dapat membuat daftar IAM role untuk menentukan peran mana yang akan diambil dan izin untuk mengambil peran tersebut. Untuk membekali pengguna dengan izin yang diperlukan, ikuti Metode 1 dalam tutorial ini

Langkah 3: Buat Kebijakan Kepercayaan dan peran IAM

Langkah selanjutnya adalah membuat kebijakan Trust untuk menentukan apakah pengguna merupakan entitas terpercaya atau tidak. Kebijakan Kepercayaan ini kemudian akan dilampirkan ke IAM role. Untuk membuat kebijakan Kepercayaan dan peran IAM, navigasikan ke Command Prompt dan ikuti Metode 1 dalam artikel ini.

Langkah 4: Buat Kunci Akses

Agar pengguna dapat diotorisasi dan diautentikasi, sepasang Kunci Akses yang unik secara global di seluruh platform AWS akan dihasilkan. Pasangan kunci ini digunakan pada saat login ke akun AWS. Untuk membuat Access Keys bagi pengguna IAM, ikuti dari Metode 1 dalam artikel ini.

Langkah 5: Konfigurasikan Kredensial

Pengguna AWS hanya dapat mengakses sumber daya dan layanan AWS jika kredensial dikonfigurasi dengan benar. Di bagian Metode ini, kita akan mengonfigurasi kredensial pengguna IAM dengan menyediakan Access Key dan Secret Access Key ke Antarmuka Baris Perintah. Untuk tujuan ini, ikuti dari Metode 1 tutorial ini.

Langkah 6:  Ambil peran IAM

Setelah berhasil memasang IAM role dan menerapkan kebijakan Trust, pengguna kini dapat mengambil IAM role. Untuk tujuan ini, berikan perintah berikut ke CLI:

aws saya membuat kunci akses --nama belakang pengguna mfa


Di sini kunci telah berhasil dibuat untuk pengguna IAM. Simpan AccessKeyId dan SecretAccessKey karena diperlukan untuk masuk ke akun AWS:


Langkah selanjutnya adalah mengonfigurasi Access Keys dalam AWS CLI. Gunakan perintah yang disebutkan di bawah ini untuk mengonfigurasi CLI:

konfigurasi aws


Berikan Access Key dan Secret Access Key ke CLI untuk konfigurasi:


Untuk memverifikasi apakah pengguna IAM telah masuk ke AWS CLI, gunakan perintah berikut:

aws sts dapatkan identitas penelepon


Output dari perintah yang diberikan sebagai berikut yang menunjukkan bahwa pengguna telah berhasil login ke konsol AWS:


Pengguna memiliki izin untuk mencantumkan peran IAM dalam akun AWS. Perintah yang diberikan di bawah ini digunakan untuk membuat daftar peran IAM:

aws saya adalah daftar peran --pertanyaan 'Peran[?RoleName == 'mfa-role'].[RoleName, Arn]


Dalam perintah di atas: Nama peran: Dalam bidang ini, ganti nilai “mfa-role” dengan nama IAM role Anda.

Output dari perintah diberikan sebagai berikut:


Untuk mengambil peran IAM dengan MFA, gunakan perintah asumsikan peran dengan parameter tambahan seperti nomor seri dan kode token. Berikan perintah berikut ke CLI:

aws sts mengambil peran --peran-arn 'arn:aws:iam::123456789012:role/m-role' --nama-sesi-peran Sesi AWSCLI --nomor seri 'arn:aws:iam::012345678910:mfa/admindevice' --Kode token '123456'


Dalam perintah di atas:

    • –peran-arn: Ganti nilai bidang ini dengan ARN IAM role Anda.
    • –nama-sesi-peran: Di bidang ini, pengguna dapat memberikan nama sesi pilihan apa pun.
    • -nomor seri: Ganti nilai bidang ini dengan nilai Pengidentifikasi dari antarmuka MFA yang disimpan sebelumnya.
    • -Kode token: Nilai ini akan diganti dengan kode saat ini yang ditampilkan di antarmuka VIP Symantec.

Kode saat ini yang ditampilkan di Symantec VIP diberikan sebagai berikut. Kode yang sama akan digunakan dalam nilai –token-code dari perintah:


Output dari perintah akan berisi kredensial sementara seperti Token Sesi, Kunci Akses, Kunci Akses Rahasia, dll:

Langkah 7: Konfigurasikan Variabel Lingkungan

Kunci akses dan token sesi yang dikembalikan sekarang akan digunakan untuk membuat login berbasis sesi dan mengambil peran tersebut. Implementasi terperinci untuk mengonfigurasi lingkungan dibahas dalam Metode 1.

Pikiran Terakhir

Untuk mengambil peran menggunakan CLI, ada tiga metode yaitu melalui STS (layanan token keamanan), parameter –profil, atau MFA (Otentikasi Multi-Faktor). Agar pengguna dapat mengambil peran, kebijakan Kepercayaan harus ditetapkan terlebih dahulu. Kebijakan kepercayaan ini menentukan apakah pengguna merupakan entitas tepercaya atau tidak. Fungsionalitas ini diperlukan karena mengatasi masalah keamanan para pakar TI dan individu. Selain itu, pengguna hanya dapat mengambil peran tersebut jika dilengkapi dengan izin yang diperlukan.

Ketika pengguna mengambil peran di AWS, login berbasis sesi dibuat untuk memberikan akses waktu terbatas kepada pengguna dengan izin yang diinginkan. Token dihasilkan yang kedaluwarsa setelah waktu tertentu dan dengan demikian, pengguna tidak dapat lagi melakukan tugas administratif dengan sumber daya AWS. Artikel ini memberikan implementasi praktis dari tiga metode untuk mengambil peran di AWS CLI.