Bagaimana untuk Menganggap Peranan IAM Menggunakan AWS CLI?

Bagaimana Untuk Menganggap Peranan Iam Menggunakan Aws Cli



Memandangkan AWS menyediakan beberapa perkhidmatan dan faedah yang besar, adalah wajar bahawa kebimbangan keselamatan dibangkitkan oleh pakar IT. Untuk menangani kebimbangan keselamatan ini, perkhidmatan IAM telah diperkenalkan oleh AWS. AWS IAM ialah salah satu perkhidmatan web teras yang membolehkan pengguna mendapatkan sumber AWS. IAM menyediakan kefungsian pengurusan akses pusat perkhidmatan AWS dengan mentakrifkan kebenaran untuk pengguna yang berbeza.

Rangka Pantas

Dalam artikel ini, anda akan belajar tentang:







Apakah Peranan AWS IAM?
Apakah Peranan Anggap dalam AWS?
Bagaimana untuk Menganggap Peranan IAM Menggunakan AWS CLI?



Fikiran Akhir



Dengan peranan dan kebenaran IAM, kami boleh menentukan akses yang disahkan dan dibenarkan kepada perkhidmatan AWS. Peranan dan kebenaran ini hanya boleh diberikan oleh pengguna akar (pemilik) akaun AWS.





Apakah Peranan AWS IAM?

Peranan IAM ialah identiti yang dicipta oleh pengguna akar dalam akaun AWS. Identiti ini diberikan kebenaran khusus yang mentakrifkan skop akses peranan IAM kepada sumber AWS. Kebenaran ini boleh sama ada diuruskan AWS atau ditentukan tersuai oleh pengguna root.

Peranan IAM sangat serupa dengan pengguna IAM kecuali bahawa peranan IAM ialah identiti dengan kebenaran tertentu manakala pengguna boleh mengambil alih peranan ini untuk melaksanakan fungsi tertentu. Kebenaran yang diberikan kepada peranan menentukan tindakan yang boleh diambil dengan identiti ini (peranan IAM).



Apakah Peranan Anggap dalam AWS?

Anggap Peranan ialah salah satu fungsi perkhidmatan AWS IAM yang membenarkan pengguna bertindak dengan perkhidmatan AWS walaupun kebenaran untuk mengakses atau memanipulasi sumber dalam perkhidmatan tidak diberikan kepada pengguna. Kebenaran ini secara tidak langsung diberikan kepada pengguna apabila peranan diambil alih. Satu set bukti kelayakan sementara bersama log masuk berasaskan sesi digunakan untuk mengakses sumber AWS.

Bukti kelayakan sementara ini termasuk Kunci Akses Rahsia, ID Kunci Akses dan Token Keselamatan. Peranan IAM yang dibuat oleh pengguna akar AWS boleh diandaikan oleh pengguna lain dalam akaun AWS atau pengguna yang ARNnya disebut dalam dasar peranan. Dasar yang mengandungi ARN pengguna atau sumber dikenali sebagai Dasar amanah .

Apakah Perbezaan Antara Polisi Kebenaran dan Polisi Amanah?

Sebelum melaksanakan fungsi asumsi-peranan melalui kaedah yang berbeza, terdapat dua konsep teras yang mesti difahami oleh pengguna. Terdapat dua jenis dasar dalam perkhidmatan IAM:

    • Dasar Amanah: Dasar amanah menentukan siapa yang boleh memegang peranan IAM tertentu. Untuk peranan yang perlu disandang oleh pengguna, ARN pengguna disebut dalam dasar amanah peranan IAM. Dasar amanah ini menentukan sama ada pengguna atau sumber adalah entiti yang dipercayai untuk mengambil alih peranan ini.
    • Dasar Kebenaran: Dasar ini menentukan perkara yang boleh dilakukan oleh pengguna atau tindakan yang boleh dilakukan dengan peranan tersebut.

Bagaimana untuk Menganggap Peranan IAM Menggunakan AWS CLI?

Untuk mengambil alih peranan adalah serupa dengan menyamar sebagai pengguna lain yang disahkan dan diberi kuasa untuk melakukan tindakan tertentu. Semasa menganggap identiti, AWS telah memastikan keselamatan kekal utuh.

Mari kita fahami kerja fungsi Assume-role dengan mempertimbangkan contoh berikut.

Sebagai contoh, pengguna wujud dalam akaun AWS yang belum diberikan sebarang kebenaran untuk baldi S3. The “Akses Baca Sahaja” dipanggil dasar kebenaran yang dilampirkan pada peranan IAM. Bagi pengguna untuk mengambil alih peranan ini, ARN pengguna disebut dalam dasar peranan IAM. Polisi ini kini dipanggil sebagai 'dasar amanah' dan ia berbeza daripada dasar kebenaran. Dasar Amanah adalah penting kerana ia membantu AWS untuk menentukan sama ada pengguna ialah entiti yang dibenarkan atau tidak.

Ambil perhatian bahawa ARN disebut dalam dasar Amanah dan bukan dalam dasar Kebenaran peranan IAM. Dengan mengambil alih peranan, pengguna boleh melakukan beberapa tindakan pentadbiran yang ditakrifkan oleh dasar kebenaran peranan tersebut. Tindakan ini termasuk menambah, memadam, mengubah suai atau memulihkan sumber, dsb.

Berikut ialah tiga Kaedah untuk mengambil alih peranan dengan AWS CLI:

Kaedah 1: Menggunakan STS (Security Token Service)

Pengguna boleh mengambil alih peranan dengan melaksanakan arahan dalam bahagian STS (Perkhidmatan Token Selamat) yang mengembalikan satu set bukti kelayakan sementara. Bukti kelayakan sementara digunakan untuk mewujudkan log masuk berasaskan sesi untuk membuat panggilan API kepada sumber. Walau bagaimanapun, terdapat dua pengecualian semasa menggunakan STS iaitu, GetFederationToken dan GetSessionToken.

Pengguna dihadkan daripada mengakses token ini untuk mendapatkan maklumat sulit Sesi dan Token Persekutuan. Supaya keselamatan tidak terjejas dalam apa jua keadaan. Dengan mengambil alih peranan, pengguna boleh meningkatkan keistimewaan yang diberikan kepada mereka.

Dalam bahagian artikel ini, kami akan meminta satu set bukti kelayakan sementara menggunakan arahan STS. Di bawah adalah langkah-langkahnya:

Langkah 1: Buat Dasar Pengguna dan Pengguna

Pertama, kita akan buat pengguna IAM tanpa kebenaran. Untuk tujuan ini, buka CMD daripada menu Mula Windows:


Hanya yang pengguna akar boleh cipta an pengguna IAM dalam akaun AWS. Oleh itu, log masuk ke akaun akar AWS dengan menggunakan arahan berikut:

konfigurasi aws


Bukti kelayakan sudah dikonfigurasikan dalam CLI untuk demo ini seperti yang ditunjukkan dalam output arahan:


Ketahui lebih lanjut:

Kepada buat pengguna IAM , berikan arahan berikut kepada CLI:

aws iam create-user --nama-pengguna pengguna demo


Gantikan pengguna demo dengan anda nama pengguna IAM.

Simpan “Arn” diberikan dalam output arahan sebagaimana yang akan berlaku diperlukan bila mencipta yang Dasar Amanah :


Baca lebih lanjut:

Langkah seterusnya ialah izin pengguna (demo-user ) kepada mengambil peranan . Untuk tujuan ini, buat a fail JSON menggunakan mana-mana penyunting teks anda lebih suka. Untuk demo ini, kami telah menggunakan Notepad seperti yang dinyatakan dalam arahan yang disebutkan di bawah:

Untuk Windows

notepad user-policy.json


Gantikan dasar pengguna dengan nama dasar IAM anda.

Untuk OS Linux

kerana user-policy.json


Pada masa ini, kami menggunakan sistem Pengendalian Windows untuk demo ini:


Ini akan membuka pad nota. Tampal dasar berikut dalam pad nota dan tekan “CTRL + S” dari papan kekunci untuk menyimpan perubahan:

{
'Versi' : '2012-10-17' ,
'Kenyataan' : [
{
'Kesan' : 'Izinkan' ,
'Tindakan' : [
'ec2:Huraikan*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'Sumber' : '*'
}
]
}


Di bawah diberikan penerangan ringkas tentang dasar yang dinyatakan:

    • ec2:Huraikan: Kebenaran ini menentukan bahawa pengguna boleh melihat atau menyenaraikan semua AMI, syot kilat atau kejadian EC2
    • iam:ListRoles: Kebenaran ini menentukan bahawa pengguna boleh menyenaraikan semua peranan dalam perkhidmatan IAM.
    • sts:AssumeRole: Kebenaran ini menunjukkan bahawa pengguna boleh mengambil alih peranan yang ditentukan dalam perkhidmatan IAM.

Di sini, dasar telah diedit dalam pad nota dan disimpan:


Setiap AWS sumber ditugaskan an Nama Sumber Akses (ARN) yang mengenal pasti secara unik sumber itu. Untuk menentukan ARN dasar, gunakan perintah yang disebut di bawah.

aws iam membuat-dasar --nama-dasar dasar pengguna --dokumen-dasar fail: // user-policy.json


Dalam arahan yang disebutkan di atas:

    • –nama-dasar: Gantikan nilai 'dasar pengguna' dengan mana-mana nama dasar pilihan anda.
    • –dokumen-dasar: Dalam medan ini, gantikan ' user-policy.json” dengan nama fail json yang mengandungi dasar untuk pengguna.

Output arahan yang disebutkan di atas adalah seperti berikut. Simpan “Arn” disebut dalam output dasar kerana ia akan diperlukan apabila melampirkan dasar ini dengan pengguna:

Langkah 2: Lampirkan Polisi dengan Pengguna

Dasar ini akan membenarkan pengguna menyenaraikan Contoh EC2 , Kawan-kawan , dsb. Apabila pengguna mengambil alih peranan dengan kebenaran yang berbeza, pengguna akan dapat melakukan hanya tindakan tertentu seperti yang dibenarkan oleh dasar kebenaran.

Untuk melampirkan dasar dengan pengguna yang dibuat sebelum ini dalam bahagian ini, gunakan arahan berikut:

aws iam lampirkan-dasar-pengguna --nama-pengguna pengguna demo --dasar-arn 'arn:aws:iam::123456789:dasar/dasar-pengguna'


Dalam arahan yang disebutkan di atas:

    • –nama-pengguna: Gantikan 'pengguna demo' di dalam –nama pengguna medan dengan nama pengguna IAM anda.
    • –polisi-arn: Begitu juga, dalam –dasar-arn, nyatakan “Arn” daripada output arahan sebelumnya iaitu, –create-policy.

Dengan melaksanakan arahan selepas membuat perubahan yang diperlukan, dasar telah berjaya dilampirkan kepada pengguna:


Untuk mengesahkan sama ada dasar telah dilampirkan kepada pengguna, berikan arahan berikut kepada CLI:

aws iam senarai-dilampirkan-dasar-pengguna --nama-pengguna pengguna demo


Gantikan pengguna demo dengan IAM anda nama pengguna ditentukan semasa membuat pengguna.

Output perintah berikut mengesahkan bahawa dasar telah dilampirkan kepada pengguna dengan jayanya:

Langkah 3: Buat Dasar Amanah dan Peranan IAM

Hubungan amanah diwujudkan apabila sumber atau ARN pengguna dinyatakan dalam dasar. Fungsi ini kemudiannya membolehkan pengguna atau entiti melakukan tindakan tertentu kerana mereka dianggap dipercayai oleh dasar.

Dalam langkah ini, kami akan membuat dasar yang mewujudkan hubungan kepercayaan antara peranan IAM dan pengguna. Dasar amanah ini akan dilampirkan pada peranan IAM. Peranan IAM kemudiannya akan diambil alih oleh pengguna yang secara tidak langsung akan membenarkan pengguna melakukan tindakan yang dinyatakan dalam dasar.

Untuk membuat dasar amanah, arahan diberikan seperti berikut:

Untuk Windows

notepad trust-role-policy.json


Gantikan trust-role-policy.json dengan nama pilihan anda untuk polisi tersebut.

Untuk OS Linux

kerana trust-role-policy.json


Gantikan trust-role-policy.json dengan nama pilihan anda untuk polisi tersebut.

Dasar amanah mengikut format JSON seperti yang dinyatakan oleh .json sambungan dalam arahan berikut:


Ini akan membuka pad nota. tampal yang berikut dasar dalam pad nota dan tekan butang “CTRL + S” butang dari papan kekunci untuk menyimpan perubahan. ARN pengguna juga boleh disalin daripada papan pemuka Pengguna konsol IAM. Untuk tujuan ini, lawati papan pemuka IAM dan klik nama pengguna. Daripada konfigurasi yang dipaparkan, salin ARN pengguna yang dipaparkan dalam bahagian Ringkasan.:

{
'Versi' : '2012-10-17' ,
'Kenyataan' : {
'Kesan' : 'Izinkan' ,
'Major' : {
'AWS' : 'arn:aws:iam::123456789012:user/example-user'
} ,
'Tindakan' : 'sts:AssumeRole'
}
}


Dalam dasar yang disebutkan di atas:

    • AWS: Gantikan Nilai medan AWS “arn:aws:iam::123456789012:user/example-user ”dengan ARN pengguna yang dipaparkan dalam output arahan –create-user.

Pengguna boleh menyekat pengguna lain daripada mengambil alih peranan IAM dengan menentukan ARN pengguna dalam “AWS” bidang:


Baca lebih lanjut:

Sekarang, cipta peranan IAM dan lampirkan dasar amanah dengannya. Untuk mencipta peranan IAM, gunakan arahan yang disebut di bawah:

aws iam create-role --nama-peranan peranan pengguna --anggap-peranan-dasar-dokumen fail: // trust-role-policy.json


Berikut ialah perihalan medan yang disebutkan di atas:

    • –nama peranan: Medan ini digunakan untuk memasukkan nama yang akan diberikan kepada peranan IAM ini. Gantikan nilai 'peranan pengguna' dengan nama peranan IAM pilihan anda.
    • –anggap-peranan-dasar-dokumen: Dalam medan ini tentukan laluan seperti yang diberikan dalam arahan. Gantikan trust-role-policy.json dengan nama dasar seperti yang anda tentukan dalam bahagian sebelumnya.

Dengan melaksanakan arahan ini, ia akan mengembalikan beberapa maklumat dalam output contohnya, ARN, Path, ID, dll:


Baca lebih lanjut:

Setelah mengambil alih peranan ini, pengguna akan dapat melaksanakan “ReadOnlyAccess” tindakan dengan baldi S3. Perintah diberikan seperti berikut:

aws iam lampirkan-peranan-dasar --nama-peranan peranan pengguna --dasar-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Dalam arahan di atas:

    • –nama peranan: Gantikan ' peranan pengguna” dalam medan –role-name dengan Nama peranan IAM yang anda nyatakan sebelum ini dalam tutorial ini.
    • –polisi-arn: Arn yang dinyatakan dalam –policy-arn merujuk kepada kebenaran ReadOnlyAccess untuk baldi S3.

Dalam imej ini, peranan telah diberikan kebenaran ReadOnlyAccess untuk baldi S3:


Untuk mengesahkan sama ada kebenaran telah diberikan kepada peranan atau tidak gunakan arahan berikut:

aws iam senarai-dilampirkan-dasar-peranan --nama-peranan peranan pengguna


Gantikan 'peranan pengguna' dengan nama peranan IAM anda.

The “AmazonS3ReadOnlyAccess” kebenaran telah dilampirkan pada peranan IAM. Output arahan diberikan seperti berikut:

Langkah 4: Cipta Kekunci Akses

Dalam bahagian ini, kami akan mencipta kunci akses untuk pengguna. Kekunci akses akan digunakan untuk log masuk ke Akaun AWS:

aws iam create-access-key --nama-pengguna pengguna demo


Gantikan pengguna demo dengan nama pengguna IAM anda diberikan semasa membuat pengguna.

Di sini, arahan telah mengembalikan satu set pasangan kunci Akses (AccessKeyId dan Kunci Akses Rahsia)  dengan butiran tambahan seperti tarikh dibuat, status, dsb. Jimat AccessKeyId dan SecretAccessKey kerana ia diperlukan kemudian dalam tutorial:


Baca lebih lanjut:

Langkah 5: Konfigurasikan Kunci Akses dan Sahkan Pengguna IAM

Untuk mengkonfigurasi kunci akses, berikan arahan berikut kepada CMD dan kemudian masukkan ID Kunci Akses dan Kunci Akses Rahsia:

konfigurasi aws


Sediakan ID Kunci Akses dan Kunci Akses Rahsia kepada CLI yang telah dibuat dalam Langkah 4 bahagian ini. Untuk rantau ini, kami telah mengekalkan tetapan lalai. Pengguna boleh mengkonfigurasi sebarang format output untuk format output lalai. Untuk demo ini, kami telah menentukan JSON format:


Untuk mengesahkan sama ada pengguna IAM telah dikonfigurasikan, berikan arahan berikut kepada CLI:

aws sts get-caller-identity


Output arahan menunjukkan bahawa 'pengguna demo' telah berjaya dikonfigurasikan, dan pada masa ini dilog masuk ke akaun AWS:


Untuk menentukan bahawa pengguna IAM boleh menyenaraikan kejadian EC2 dan tidak mempunyai akses kepada baldi S3 pada masa ini, gunakan arahan berikut:

aws ec2 describe-instance --pertanyaan 'Tempahan[*].Instance[*].[VpcId, InstanceId, ImageId, InstanceType]'


Output arahan diberikan seperti berikut:


Sekarang, berikan arahan berikut untuk mengesahkan sama ada pengguna boleh mengakses baldi S3:

aws s3 ls


Ini akan memaparkan 'Akses dinafikan' ralat yang menunjukkan bahawa pengguna tidak dibenarkan mengakses baldi S3:

Langkah 6: Anggap Peranan IAM

Pengguna mempunyai kebenaran untuk menyenaraikan peranan IAM dalam akaun AWS. Oleh itu, untuk mengambil alih Peranan, kami mula-mula akan memperoleh maklumat yang diperlukan seperti ARN dengan melaksanakan arahan berikut:

aws iam senarai-peranan --pertanyaan 'Peranan[?RoleName == 'peranan pengguna'].[RoleName, Arn]'


Gantikan 'peranan pengguna' dengan nama peranan IAM dalam medan 'Nama Peranan'.

ARN telah diberikan dalam output arahan yang disebutkan di atas:


Sekarang kita mempunyai ARN peranan IAM, kita boleh mengambil alih peranan tersebut dengan menggunakan arahan berikut:

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


Dalam arahan di atas:

    • –role-arn: Gantikan nilai yang disebut untuk –role-arn dengan ARN peranan IAM.
    • –nama-sesi-peranan: Pengguna boleh memberikan sebarang nama keutamaan untuk medan ini.

Dengan melaksanakan arahan yang disebutkan di atas, satu set kelayakan sementara telah dikembalikan. Bukti kelayakan sementara ini akan digunakan untuk mengambil alih peranan IAM dengan kebenaran yang dikehendaki iaitu, ReadOnlyAccess. AccessKeyId dan SecretAccessKey akan digunakan semasa mengkonfigurasi kelayakan sementara ini:


Berikut ialah penerangan ringkas tentang output arahan:

    • SessionToken: Token Sesi digunakan untuk mencipta log masuk berasaskan sesi. Simpan nilai medan ini kerana ia akan diperlukan semasa mengkonfigurasi bukti kelayakan.
    • Tamat tempoh: Token sesi mempunyai tarikh dan masa tamat tempoh. Token tidak akan berguna selepas masa yang ditetapkan dan pengguna tidak akan dapat mengambil alih peranan tersebut.

Langkah 7: Konfigurasikan Pembolehubah Persekitaran

Untuk mengkonfigurasi bukti kelayakan sementara, kami akan menggunakan arahan 'set' untuk Windows dan kemudian memberikan nilai ID Kunci Akses, Kunci Akses Rahsia, Token Sesi, dsb:

Untuk Windows

ditetapkan AWS_ACCESS_KEY_ID =RoleAccessKeyID


Gantikan RoleAccessKeyID dengan ID Kunci Akses yang telah dikembalikan oleh arahan dalam Langkah 6.

Untuk OS Linux

eksport AWS_ACCESS_KEY_ID =RoleAccessKeyID


Gantikan RoleAccessKeyID dengan ID Kunci Akses yang telah dikembalikan oleh arahan dalam Langkah 6.

Kunci Akses telah dikonfigurasikan:


Seterusnya, kami akan mengkonfigurasi Kunci Akses Rahsia dengan menggunakan arahan 'set' untuk Windows:

Untuk Windows

ditetapkan AWS_SECRET_ACCESS_KEY =RoleSecretKey


Gantikan RoleSecretKey dengan nilai Kunci Akses Rahsia yang telah dikembalikan oleh arahan dalam Langkah 6.

Untuk OS Linux

eksport AWS_SECRET_ACCESS_KEY =RoleSecretKey


Gantikan AWS_SECRET_ACCESS_KEY dengan Kunci Akses Rahsia yang telah dikembalikan oleh arahan dalam Langkah 6.

Kunci Akses Rahsia telah berjaya dikonfigurasikan:


Akhir sekali, kami akan mengkonfigurasi token sesi untuk mewujudkan log masuk berasaskan sesi. Untuk tujuan ini, gunakan arahan yang disebutkan di bawah:

Untuk Windows

ditetapkan AWS_SESSION_TOKEN =RoleSessionToken


Gantikan RoleSessionToken dengan nilai Token Sesi yang telah dikembalikan oleh arahan dalam Langkah 6.

Untuk OS Linux

eksport AWS_SESSION_TOKEN =RoleSessionToken


Gantikan RoleSessionToken dengan nilai Token Sesi yang telah dikembalikan oleh arahan dalam Langkah 6.

Nilai Token Sesi telah berjaya dikonfigurasikan:


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

Selepas mengkonfigurasi pembolehubah persekitaran, sahkan dengan menggunakan arahan berikut jika peranan telah diandaikan oleh pengguna:

aws sts get-caller-identity


Output arahan mengesahkan bahawa peranan IAM telah berjaya diandaikan oleh pengguna sebagai pulangan ARN “arn:aws:sts::123456789012:asumsi-peranan/peranan-pengguna/AWSCLI-Session” bukannya “arn:aws:iam::123456789012:user/demo-user”:


Memandangkan peranan tersebut mengandungi kebenaran ReadOnlyAccess, pengguna sepatutnya boleh mendapatkan baldi sekarang. Untuk tujuan ini, berikan arahan berikut kepada CLI:

aws s3 ls


Output arahan berjaya mendapatkan semua baldi S3 yang kini dikonfigurasikan dalam akaun AWS:


Walau bagaimanapun, pengguna tidak akan dapat mengakses perkhidmatan EC2 kerana peranan yang diandaikan tidak mempunyai kebenaran untuk perkhidmatan EC2. Untuk mengesahkan ini, gunakan arahan berikut:

aws ec2 describe-instance --pertanyaan 'Tempahan[*].Instance[*].[VpcId, InstanceId, ImageId, InstanceType]'


Sebelum ini, pengguna dapat mengakses maklumat perkhidmatan EC2. Walau bagaimanapun, apabila melaksanakan arahan yang disebutkan di atas, an 'Akses dinafikan' ralat telah berlaku. Pengguna telah berjaya mengambil alih peranan IAM:


Ini semua dari bahagian ini.

Petua Bonus: Nyahtetapkan Pembolehubah Persekitaran

Untuk kembali kepada pengguna IAM iaitu, pengguna demo, pengguna boleh mengalih keluar pembolehubah persekitaran dengan menetapkan pembolehubah Persekitaran kepada rentetan kosong. Berikut adalah arahan yang diberikan:

Untuk Windows

SET AWS_ACCESS_KEY_ID =
SET AWS_SECRET_ACCESS_KEY =
SET AWS_SESSION_TOKEN =


Untuk Linux

Gunakan arahan yang disebutkan di bawah:

tidak ditetapkan AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Perintah yang disebutkan di atas akan menyahset pembolehubah persekitaran:


Selepas melaksanakan arahan di atas, konsol kini harus mengembalikan 'pengguna demo' sebagai pengguna yang sedang log masuk dan bukannya peranan yang diandaikan iaitu, peranan pengguna. Untuk tujuan ini, kami akan menggunakan arahan berikut:

aws sts get-caller-identity


Output arahan menunjukkan bahawa pengguna yang sedang log masuk ialah pengguna demo:


Begitu juga, untuk log masuk sebagai pengguna root, ikuti “C:\Users%USERPROFILE%.aws” laluan dan klik fail kelayakan:


Dalam fail kelayakan, gantikan nilai Kunci Akses dan Kunci Akses Rahsia dengan Akses dan Kunci Akses Rahsia pengguna akar:


Berikan arahan berikut kepada CLI untuk mengesahkan sama ada kelayakan dikonfigurasikan dengan betul:

konfigurasi aws


Di sini, dalam imej di bawah, kita dapat melihat bahawa kunci Akses dan kunci Akses Rahsia pengguna akar telah dikonfigurasikan dengan jayanya:


Itu sahaja daripada bahagian tutorial ini.

Kaedah 2: Menggunakan Parameter –profile

Kaedah lain untuk mengambil alih peranan adalah dengan menggunakan medan '–profil' dalam CLI. Bahagian artikel ini membentangkan pelaksanaan praktikal untuk mengambil alih peranan dalam AWS melalui –profil. Berikut adalah langkah-langkah untuknya:

Langkah 1: Buat Pengguna IAM

Untuk mencipta pengguna IAM, log masuk ke akaun pengguna root melalui CLI dengan menggunakan arahan berikut:

konfigurasi aws


Bukti kelayakan sudah dikonfigurasikan dalam CLI untuk demo ini seperti yang ditunjukkan dalam output arahan:


Ketahui lebih lanjut:

Untuk mencipta pengguna IAM, berikan arahan berikut kepada CLI:

aws iam create-user --nama-pengguna pengguna profil


Pengguna telah berjaya dibuat. Simpan ARN pengguna seperti yang dipaparkan dalam imej di bawah. ARN pengguna IAM ini akan digunakan kemudian dalam tutorial ini. Pada masa ini, tiada kebenaran dikaitkan dengan pengguna IAM ini:


Baca lebih lanjut:

Langkah 2: Cipta Kunci Akses

Dalam AWS, setiap pengguna diberikan sepasang kunci Akses untuk log masuk. Untuk mencipta Kekunci Akses untuk pengguna ini, berikan arahan berikut kepadanya:

aws iam create-access-key --nama-pengguna pengguna profil


Perintah ini mengembalikan satu set Kekunci Akses. Jimat yang AccessKeyId dan SecretAccessKey kerana ia akan diperlukan semasa log masuk ke akaun AWS:


Sekarang jika kita log masuk ke AWS CLI menggunakan AccessKeyId dan SecretAccessKey ini, dan mengakses sebarang sumber cth. Baldi S3, yang 'Akses dinafikan' ralat akan berlaku. Ini kerana pada masa ini tiada kebenaran yang dikaitkan dengan pengguna IAM. Untuk log masuk ke AWS CLI, gunakan arahan berikut dan berikan ID Kunci Akses dan kunci akses Rahsia seperti yang dibuat sebelum ini:

konfigurasi aws --profil pengguna profil


Gantikan 'pengguna profil' dengan nama pengguna IAM yang telah anda berikan semasa membuat pengguna.

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


Untuk mengesahkan sama ada pengguna ini mempunyai sebarang kebenaran baca sahaja untuk baldi S3, berikan arahan berikut kepada CLI:

aws s3 ls --profil pengguna profil


Gantikan pengguna profil dengan nama pengguna IAM yang telah anda berikan semasa membuat pengguna.

Memandangkan pengguna ini belum diberikan sebarang kebenaran oleh pengguna akar, ia akan mengakibatkan ' Akses dinafikan ” ralat:

Langkah 3: Buat Dasar Amanah dan Peranan IAM

Dasar amanah menentukan sama ada pengguna atau sumber AWS ialah entiti yang dipercayai untuk mengambil alih peranan dan memperoleh kebenaran. Hubungan amanah ini dibuat dengan menentukan ARN pengguna IAM atau sumber AWS dalam Dasar Kebenaran.

Untuk membuat dasar amanah dalam IAM, berikan arahan berikut kepada CLI:

Untuk Windows

notepad trust-policy.json


Gantikan trust-policy.json dengan nama pilihan anda untuk polisi tersebut.

Untuk OS Linux

kerana trust-role-policy.json


Gantikan trust-policy.json dengan nama pilihan anda untuk polisi tersebut.

Pengguna boleh menggunakan mana-mana editor teks pilihan mereka. Untuk demo ini, kami menggunakan pad nota:


Ini akan membuka pad nota untuk membuat dasar amanah. Tampalkan dasar berikut dalam pad nota dan tekan “CTRL + S” dari papan kekunci untuk menggunakan dan menyimpan perubahan:

{
'Versi' : '2012-10-17' ,
'Kenyataan' : {
'Kesan' : 'Izinkan' ,
'Major' : {
'AWS' : 'arn:aws:iam::012345678910:pengguna/pengguna-profil'
} ,
'Tindakan' : 'sts:AssumeRole'
}
}


Dalam dasar di atas: AWS: Gantikan nilai “arn:aws:iam::012345678910:user/policy-user” dengan ARN pengguna IAM yang dibuat lebih awal dalam bahagian ini.

Dasar ini telah diedit dalam pad nota:


Seterusnya, kami akan mencipta peranan IAM dan melampirkan dasar amanah di atas padanya. Gunakan arahan berikut untuk mencipta peranan IAM:

aws iam create-role --nama-peranan myrole --anggap-peranan-dasar-dokumen fail: // trust-policy.json


Dalam arahan yang disebutkan di atas:

    • –nama peranan: Gantikan “myrole” dengan nama peranan IAM pilihan anda.
    • –anggap-peranan-dasar-dokumen: Dalam medan ini, gantikan istilah “trust-policy.json” dengan nama polisi amanah IAM anda

Peranan IAM telah berjaya dibuat. Simpan peranan IAM. Simpan ARN peranan IAM seperti yang diserlahkan dalam imej berikut. ARN ini akan digunakan semasa mengkonfigurasi profil pengguna:


Dasar amanah yang dilampirkan pada IAM mengenal pasti sama ada pengguna dipercayai atau tidak untuk memikul peranan tersebut. Dasar Kebenaran menentukan sama ada peranan IAM mempunyai kebenaran yang diperlukan untuk melakukan tindakan tertentu dengan perkhidmatan AWS atau tidak.

Memandangkan dasar amanah telah dilampirkan pada peranan IAM, langkah seterusnya ialah melampirkan dasar kebenaran kepada peranan IAM. Perintah yang disebutkan di bawah akan digunakan untuk melampirkan dasar kebenaran pada peranan IAM:

aws iam lampirkan-peranan-dasar --nama-peranan myrole --dasar-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Di sini, dasar kebenaran telah dilampirkan pada peranan IAM melalui CLI:

Langkah 4: Konfigurasikan Profil

Untuk pengguna memikul peranan ini, kami akan mengkonfigurasi profil ini terlebih dahulu dalam kelayakan AWS. Untuk melampirkan bukti kelayakan sementara ini, berikan arahan berikut:

papan nota ~ / .aws / konfigurasi


Petua Bonus: Selesaikan 'Laluan tidak ditentukan' dalam Notepad

Fail konfigurasi akan mengandungi tetapan [lalai] AWS CLI. Walau bagaimanapun, jika pad nota memaparkan 'Sistem tidak dapat mencari laluan yang ditentukan', masukkan arahan yang disebut di bawah:

pad nota .aws / konfigurasi


Pengguna Linux boleh menggunakan 'kerana' editor untuk mengkonfigurasi profil. Pengguna boleh menggunakan mana-mana editor pilihan mereka untuk membuka fail konfigurasi AWS dalam mesin tempatan:


Dalam fail konfigurasi yang dibuka dalam Notepad, edit perubahan berikut:

[ profil-pengguna profil ]
role_arn = arn:aws:iam::012345678910:peranan / myrole
profil_sumber =pengguna profil


Dalam coretan di atas:

    • role_arn: Gantikan nilai “arn:aws:iam::012345678910:role/myrole” dengan ARN peranan IAM.
    • source_profile: Dalam medan ini, berikan nama pengguna IAM yang telah dibuat dalam Langkah 1 kaedah ini.

Selepas membuat perubahan yang diperlukan, tekan “CTRL + S” dari papan kekunci untuk menggunakan dan menyimpan perubahan:


Sekarang, untuk mengesahkan sama ada pengguna kini boleh menyenaraikan baldi S3 atau tidak, berikan arahan berikut kepada CLI:

aws s3 ls --profil pengguna profil


Dalam arahan di atas: –pengguna-profil: Dalam medan ini, gantikan nilai 'penggunaan profil' dengan nama yang anda tentukan dalam fail konfigurasi.

Memandangkan kami telah menentukan 'pengguna profil' dalam fail konfigurasi, oleh itu, kami akan menggunakan nama yang sama dengan arahan dalam CLI. Sebelum ini pengguna tidak dapat mengakses perkhidmatan S3 AWS kerana tiada kebenaran diberikan kepadanya. Peranan IAM mempunyai kebenaran 'ReadOnlyAccess' baldi S3 dan oleh itu, dengan mengambil alih peranan ini, pengguna boleh menyenaraikan baldi daripada Papan Pemuka S3:


Itu sahaja daripada kaedah tutorial ini.

Kaedah 3: Menggunakan MFA (Pengesahan Berbilang Faktor)

Dengan mendayakan Pengesahan Berbilang Faktor, pengguna boleh mengkonfigurasi lapisan keselamatan tambahan pada akaun pengguna. Dengan MFA didayakan, pengguna yang tidak dibenarkan tidak boleh mengakses akaun pengguna walaupun mereka memberikan kata laluan dan nama pengguna. MFA ialah kod enam digit yang diperlukan untuk log masuk ke akaun. Untuk mengetahui lebih lanjut tentang pengesahan berbilang faktor, rujuk artikel ini:

Berikut ialah langkah-langkah untuk mengambil alih peranan dengan MFA melalui CLI:

Langkah 1: Buat Pengguna IAM dan Dayakan MFA

Untuk langkah ini, pengguna boleh sama ada menggunakan CLI untuk mencipta pengguna atau mengakses Konsol Pengurusan AWS. Log masuk ke akaun pengguna root dengan menggunakan arahan berikut:

konfigurasi aws


Output arahan diberikan seperti berikut:


Untuk mencipta pengguna, berikan arahan berikut kepada CLI:

aws iam create-user --nama-pengguna pengguna-mfa


Dalam arahan di atas: –nama-pengguna: Gantikan 'pengguna mfa' dengan nama pengguna IAM pilihan anda.

Pengguna telah berjaya dibuat. Simpan ARN pengguna kerana ia akan diperlukan kemudian dalam bahagian ini. Pada masa ini, pengguna ini belum diberikan sebarang kebenaran:


Untuk mendayakan MFA, lawati Konsol Pengurusan AWS dan cari perkhidmatan IAM. Klik padanya daripada hasil yang dipaparkan:


Klik pada pilihan Pengguna dari anak tetingkap navigasi kiri perkhidmatan IAM. Daripada papan pemuka Pengguna, klik nama pengguna untuk mengkonfigurasi MFA:


Pada antara muka seterusnya, ketik “Tauliah keselamatan” pilihan:


Tatal ke bawah ke Pengesahan Pelbagai Faktor bahagian dan klik pada “Tetapkan peranti MFA” butang:


Menyediakan a nama yang bermakna di dalam Nama peranti medan teks pada antara muka yang dipaparkan:


Tatal ke bawah ke bahagian peranti MFA. Pengguna dibentangkan dengan pelbagai pilihan untuk mendayakan MFA seperti dengan mengimbas kod QR, melalui Kunci Keselamatan atau token TOTP Perkakasan. Untuk demo ini, pilih “Apl Pengesah” pilihan:


Ketik pada “Seterusnya” butang di bahagian bawah antara muka untuk meneruskan lebih jauh:


Klik pada 'Tunjukkan kod QR' seperti yang ditunjukkan dalam gambar di bawah:


Lancarkan aplikasi pada telefon bimbit atau komputer riba anda untuk mengimbas kod QR. Ketik pada “+” pilihan daripada antara muka VIP Symantec:


Di gedung Play, Symantec VIP dinamakan sebagai Akses VIP.

Pada antara muka seterusnya bagi Symantec VIP, klik butang Imbas kod QR butang di bahagian bawah antara muka:


Imbas kod QR daripada AWS MFA Antara muka apl Pengesah dipaparkan. Kod ini akan menjana satu siri kod yang diperlukan untuk log masuk ke konsol pengguna IAM:


Apl VIP Symantec akan menjana OTP enam digit selepas mengimbas kod QR. Kod ini akan terus datang setiap kali 30 saat . Tangkapan skrin di bawah menunjukkan dua kod yang dijana:


Berikan kod kepada Kod MFA 1 dan Kod MFA 2 medan teks pada antara muka Apl Pengesah MFA. Klik pada “Tambah MFA” butang selepas itu untuk mendayakan fungsi:


MFA telah berjaya didayakan untuk pengguna IAM. Ini boleh disahkan oleh “Pengesahan berbilang faktor (MFA)” bahagian daripada “Tauliah keselamatan” tab daripada pengguna IAM . Daripada bahagian ini, simpan nilai Pengecam kerana ia akan diperlukan semasa mengambil alih peranan:

Langkah 2: Lampirkan Polisi Dengan Pengguna

Untuk pengguna memegang peranan, pengguna mesti dapat menyenaraikan peranan IAM untuk menentukan peranan yang perlu diambil dan kebenaran untuk mengambil alih peranan tersebut. Untuk melengkapkan pengguna dengan kebenaran yang diperlukan, ikuti Kaedah 1 dalam tutorial ini

Langkah 3: Buat Dasar Amanah dan peranan IAM

Langkah seterusnya ialah membuat dasar Amanah untuk menentukan sama ada pengguna adalah entiti yang dipercayai atau tidak. Polisi Amanah ini kemudiannya akan dilampirkan pada peranan IAM. Untuk mencipta dasar Amanah dan peranan IAM, navigasi ke Prompt Perintah dan ikuti Kaedah  1 dalam artikel ini.

Langkah 4: Buat Kunci Akses

Untuk membolehkan pengguna diberi kuasa dan disahkan, sepasang Kunci Akses yang unik secara global merentas platform AWS dijana. Pasangan Kunci ini digunakan semasa log masuk ke akaun AWS. Untuk mencipta Kunci Akses untuk pengguna IAM, ikuti Kaedah 1 dalam artikel ini.

Langkah 5: Konfigurasi Bukti Kelayakan

Pengguna AWS hanya boleh mengakses sumber dan perkhidmatan AWS jika bukti kelayakan dikonfigurasikan dengan betul. Dalam bahagian Kaedah ini, kami akan mengkonfigurasi bukti kelayakan pengguna IAM dengan menyediakan Kunci Akses dan Kunci Akses Rahsia kepada Antara Muka Baris Perintah. Untuk tujuan ini, ikuti daripada Kaedah 1 tutorial ini.

Langkah 6:  Sandang peranan IAM

Selepas berjaya melampirkan peranan IAM dan melaksanakan dasar Amanah, pengguna kini boleh mengambil alih peranan IAM. Untuk tujuan ini, berikan arahan berikut kepada CLI:

aws iam create-access-key --nama-pengguna pengguna-mfa


Di sini kunci telah berjaya dibuat untuk pengguna IAM. Simpan AccessKeyId dan SecretAccessKey kerana ia akan diperlukan untuk log masuk ke akaun AWS:


Langkah seterusnya ialah mengkonfigurasi Kekunci Akses dalam AWS CLI. Gunakan arahan yang disebutkan di bawah untuk mengkonfigurasi CLI:

konfigurasi aws


Sediakan Kunci Akses dan Kunci Akses Rahsia kepada CLI untuk konfigurasi:


Untuk mengesahkan sama ada pengguna IAM telah log masuk ke AWS CLI, gunakan arahan berikut:

aws sts get-caller-identity


Output arahan diberikan seperti berikut yang menunjukkan bahawa pengguna telah berjaya log masuk ke konsol AWS:


Pengguna mempunyai kebenaran untuk menyenaraikan peranan IAM dalam akaun AWS. Perintah yang diberikan di bawah digunakan untuk menyenaraikan peranan IAM:

aws iam senarai-peranan --pertanyaan 'Peranan[?RoleName == 'mfa-role'].[RoleName, Arn]


Dalam arahan di atas: Nama Peranan: Dalam medan ini, gantikan nilai 'mfa-role' dengan nama peranan IAM anda.

Output arahan diberikan seperti berikut:


Untuk mengambil alih peranan IAM dengan MFA, gunakan arahan anggap peranan dengan parameter tambahan seperti nombor siri dan kod token. Berikan arahan berikut kepada CLI:

aws sts mengambil peranan --peranan-arn 'arn:aws:iam::123456789012:role/m-role' --nama-sesi-peranan AWSCLI-Sesi --nombor siri 'arn:aws:iam::012345678910:mfa/admindevice' --token-kod '123456'


Dalam arahan di atas:

    • –role-arn: Gantikan nilai medan ini dengan ARN peranan IAM anda.
    • –nama-sesi-peranan: Dalam medan ini, pengguna boleh memberikan sebarang nama sesi pilihan.
    • -nombor siri: Gantikan nilai medan ini dengan nilai Pengecam daripada antara muka MFA yang telah disimpan sebelum ini.
    • –kod-token: Nilai ini akan digantikan dengan kod semasa yang dipaparkan dalam antara muka VIP Symantec.

Kod semasa yang ditunjukkan dalam VIP Symantec diberikan seperti berikut. Kod yang sama akan digunakan dalam nilai –token-code arahan:


Output arahan akan mengandungi bukti kelayakan sementara seperti Token Sesi, Kunci Akses, kunci Akses Rahsia, dll:

Langkah 7: Konfigurasi Pembolehubah Persekitaran

Kekunci akses dan token sesi yang dikembalikan kini akan digunakan untuk mewujudkan log masuk berasaskan sesi dan untuk mengambil alih peranan. Pelaksanaan terperinci untuk mengkonfigurasi persekitaran dibincangkan dalam daripada Kaedah 1.

Fikiran Akhir

Untuk mengambil alih peranan menggunakan CLI, terdapat tiga kaedah iaitu, melalui STS (perkhidmatan token keselamatan), –parameter profil atau MFA (Pengesahan Berbilang Faktor). Untuk pengguna memikul peranan, dasar Amanah mesti diwujudkan terlebih dahulu. Dasar amanah ini menentukan sama ada pengguna ialah entiti yang dipercayai atau tidak. Fungsi ini diperlukan kerana ia menangani kebimbangan keselamatan pakar IT dan individu. Tambahan pula, pengguna hanya boleh mengambil alih peranan jika dilengkapi dengan kebenaran yang diperlukan.

Apabila pengguna mengambil alih peranan dalam AWS, log masuk berasaskan sesi dibuat untuk menyediakan akses masa terhad kepada pengguna dengan kebenaran yang diingini. Token dijana yang tamat tempoh selepas masa tertentu dan oleh itu, pengguna tidak lagi boleh melaksanakan tugas pentadbiran dengan sumber AWS. Artikel ini menyediakan pelaksanaan praktikal bagi tiga kaedah untuk mengambil alih peranan dalam AWS CLI.