Bagian 1 dari 3
Pada tahun 2011, Amazon mengumumkan ketersediaan dukungan AWS Identity & Access Management (IAM) untuk CloudFront. IAM diluncurkan pada tahun 2010 dan termasuk dukungan S3. AWS Identity & Access Management (IAM) memungkinkan Anda memiliki banyak pengguna dalam akun AWS. Jika Anda telah menggunakan Amazon Web Services (AWS), Anda sadar bahwa satu-satunya cara untuk mengelola konten di AWS adalah memberikan nama pengguna dan kata sandi atau kunci akses Anda.
Ini adalah masalah keamanan yang nyata bagi sebagian besar dari kita. IAM menghilangkan kebutuhan untuk berbagi kata sandi dan kunci akses.
Secara konstan mengubah kata sandi AWS utama kami atau menghasilkan kunci baru hanyalah solusi yang berantakan ketika seorang anggota staf akan meninggalkan tim kami. Identitas & Akses Manajemen AWS (IAM) adalah awal yang baik yang memungkinkan akun pengguna individu dengan kunci individu. Namun, kami adalah pengguna S3 / CloudFront sehingga kami telah mengamati CloudFront untuk ditambahkan ke IAM yang akhirnya terjadi.
Saya menemukan dokumentasi pada layanan ini menjadi sedikit tersebar. Ada beberapa produk pihak ketiga yang menawarkan berbagai dukungan untuk Identity & Access Management (IAM). Tetapi pengembang biasanya hemat sehingga saya mencari solusi gratis untuk mengelola IAM dengan layanan Amazon S3 kami.
Artikel ini berjalan melalui proses pengaturan Antarmuka Baris Perintah yang mendukung IAM dan menyiapkan grup / pengguna dengan akses S3. Anda harus memiliki pengaturan akun Amazon AWS S3 sebelum Anda mulai mengonfigurasi Identity & Access Management (IAM).
Artikel saya, Menggunakan Amazon Simple Storage Service (S3), akan memandu Anda melalui proses menyiapkan akun AWS S3.
Berikut adalah langkah-langkah yang terlibat dalam pengaturan dan penerapan pengguna di IAM. Ini ditulis untuk Windows tetapi Anda dapat men-tweak untuk digunakan di Linux, UNIX dan / atau Mac OSX.
- Instal dan konfigurasi Antarmuka Baris Perintah (CLI)
- Buat Grup
- Berikan Akses Grup ke S3 Bucket dan CloudFront
- Buat Pengguna dan Tambahkan ke Grup
- Buat Login Profile dan Buat Keys
- Akses Uji
Instal dan konfigurasi Antarmuka Baris Perintah (CLI)
IAM Command Line Toolkit adalah program Java yang tersedia di Amazon's AWS Developers Tools. Alat ini memungkinkan Anda untuk menjalankan perintah API IAM dari utilitas shell (DOS untuk Windows).
- Anda harus menjalankan Java 1.6 atau lebih tinggi. Anda dapat mengunduh versi terbaru dari Java.com. Untuk melihat versi mana yang diinstal pada sistem Windows Anda, buka Command Prompt dan ketik java -version. Ini mengasumsikan bahwa java.exe ada di PATH Anda.
- Unduh toolkit IAM CLI dan unzip di suatu tempat di drive lokal Anda.
- Ada 2 file di root toolkit CLI yang perlu Anda perbarui.
- aws-credential.template: File ini menyimpan kredensial AWS Anda. Tambahkan AWSAccessKeyId dan AWSSecretKey Anda, simpan dan tutup file.
- client-config.template : Anda hanya perlu memperbarui file ini jika Anda memerlukan server proxy. Hapus tanda-tanda dan perbarui ClientProxyHost, ClientProxyPort, ClientProxyUsername dan ClientProxyPassword. Simpan dan tutup file.
- Langkah selanjutnya melibatkan penambahan Variabel Lingkungan. Buka Panel Kontrol | Properti Sistem | Pengaturan sistem lanjutan | Variabel Lingkungan. Tambahkan variabel berikut:
- AWS_IAM_HOME : Setel variabel ini ke direktori tempat Anda membuka rangkai toolkit CLI. Jika Anda menjalankan Windows dan membuka ritsletingnya di root drive C Anda, variabelnya adalah C: \ IAMCli-1.2.0.
- JAVA_HOME : Setel variabel ini ke direktori tempat Java diinstal. Ini akan menjadi lokasi file java.exe. Dalam instalasi Windows 7 Java normal, ini akan menjadi sesuatu seperti C: \ Program Files (x86) \ Java \ jre6.
- AWS_CREDENTIAL_FILE : Tetapkan variabel ini ke jalur dan nama file aws-credential.template yang Anda perbarui di atas. Jika Anda menjalankan Windows dan membuka ritsletingnya di root drive C Anda, variabelnya adalah C: \ IAMCli-1.2.0 \ aws-credential.template.
- CLIENT_CONFIG_FILE : Anda hanya perlu menambahkan variabel lingkungan ini jika Anda memerlukan server proxy. Jika Anda menjalankan Windows dan membuka ritsletingnya di root drive C Anda, variabelnya adalah C: \ IAMCli-1.2.0 \ client-config.template. Jangan tambahkan variabel ini kecuali Anda membutuhkannya.
- Uji penginstalan dengan membuka Command Prompt dan memasukkan iam-userlistbypath. Selama Anda tidak menerima kesalahan, Anda sebaiknya pergi.
Semua perintah IAM dapat dijalankan dari Command Prompt. Semua perintah dimulai dengan "iam-".
Buat Grup
Ada maksimum 100 grup yang dapat dibuat untuk setiap akun AWS. Meskipun Anda dapat mengatur izin di IAM pada tingkat pengguna, menggunakan grup akan menjadi praktik terbaik. Berikut ini adalah proses untuk membuat grup di IAM.
- Sintaks untuk membuat grup adalah iam-groupcreate -g GROUPNAME [-p PATH] [-v] di mana opsi -p dan -v adalah. Dokumentasi lengkap tentang Antarmuka Baris Perintah tersedia di AWS Docs.
- Jika Anda ingin membuat grup yang disebut "awesomeusers", Anda akan memasukkan, iam-groupcreate -g pengguna yang mengagumkan di Command Prompt.
- Anda dapat memeriksa apakah grup dibuat dengan benar dengan memasukkan iam-grouplistbypath di Command Prompt. Jika Anda hanya membuat grup ini, hasilnya akan seperti "arn: aws: iam :: 123456789012: group / awesomeusers", di mana nomornya adalah nomor akun AWS Anda.
Berikan Akses Grup ke S3 Bucket dan CloudFront
Kebijakan mengontrol apa yang dapat dilakukan grup Anda di S3 atau CloudFront. Secara default, grup Anda tidak akan memiliki akses ke sesuatu di AWS. Saya menemukan dokumentasi pada kebijakan untuk menjadi OK tetapi dalam menciptakan beberapa kebijakan, saya melakukan sedikit trial and error untuk mendapatkan hal-hal yang bekerja dengan cara saya ingin mereka bekerja.
Anda memiliki beberapa opsi untuk membuat kebijakan.
Salah satu pilihan adalah Anda dapat memasukkannya langsung ke Command Prompt. Karena Anda mungkin membuat kebijakan dan mengutak-atiknya, bagi saya sepertinya lebih mudah untuk menambahkan kebijakan ke dalam file teks dan kemudian mengunggah file teks sebagai parameter dengan perintah iam-groupuploadpolicy. Berikut adalah proses menggunakan file teks dan mengunggah ke IAM.
- Gunakan sesuatu seperti Notepad dan masukkan teks berikut dan simpan file:
{
"Pernyataan":[{
"Effect": "Izinkan",
"Tindakan": "s3: *",
"Sumber":[
"arn: aws: s3 ::: BUCKETNAME",
"arn: aws: s3 ::: BUCKETNAME / *"]
},
{
"Effect": "Izinkan",
"Tindakan": "s3: ListAllMyBuckets",
"Sumber daya": "arn: aws: s3 ::: *"
},
{
"Effect": "Izinkan",
"Action": ["cloudfront: *"],
"Sumber":"*"
}
]
} - Ada 3 bagian untuk kebijakan ini. Efek ini digunakan untuk Mengizinkan atau Menolak beberapa jenis akses. Aksi adalah hal-hal spesifik yang dapat dilakukan oleh kelompok. Sumber Daya akan digunakan untuk memberikan akses ke masing-masing keranjang.
- Anda dapat membatasi Tindakan secara individual. Dalam contoh ini, "Tindakan": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"], grup akan dapat mencantumkan konten bucket dan mengunduh objek.
- Bagian pertama "Memungkinkan" grup untuk melakukan semua tindakan S3 untuk keranjang "BUCKETNAME".
- Bagian kedua "Memungkinkan" grup untuk mencantumkan semua kotak di S3. Anda memerlukan ini sehingga Anda benar-benar dapat melihat daftar keranjang jika Anda menggunakan sesuatu seperti Konsol AWS.
- Bagian ketiga memberikan grup akses penuh ke CloudFront.
Ada banyak pilihan ketika datang ke kebijakan IAM. Amazon memiliki alat yang sangat keren yang tersedia yang disebut Generator Kebijakan AWS. Alat ini menyediakan GUI di mana Anda dapat membuat kebijakan Anda dan menghasilkan kode aktual yang Anda perlukan untuk menerapkan kebijakan. Anda juga dapat melihat bagian Bahasa Kebijakan Akses dari dokumentasi penggunaan Identitas dan Akses Internet AWS.
Buat Pengguna dan Tambahkan ke Grup
Proses pembuatan pengguna baru dan penambahan ke grup untuk memberikan mereka akses melibatkan beberapa langkah.
- Sintaks untuk membuat pengguna adalah iam-usercreate -u USERNAME [-p PATH] [-g GROUPS ...] [-k] [-v] di mana opsi -p, -g, -k dan -v adalah opsi. Dokumentasi lengkap tentang Antarmuka Baris Perintah tersedia di AWS Docs.
- Jika Anda ingin membuat pengguna "bob", Anda akan memasukkan, iam-usercreate -u bob -g pengguna yang mengagumkan di Command Prompt.
- Anda dapat memeriksa apakah pengguna dibuat dengan benar dengan memasukkan iam-grouplistusers -g pengguna yang mengagumkan di Command Prompt. Jika Anda hanya membuat pengguna ini, hasilnya akan seperti "arn: aws: iam :: 123456789012: user / bob", di mana nomornya adalah nomor akun AWS Anda.
Buat Profil Logon dan Buat Kunci
Pada titik ini, Anda telah membuat pengguna tetapi Anda perlu memberi mereka cara untuk benar-benar menambah dan menghapus objek dari S3.
Ada 2 opsi yang tersedia untuk memberikan pengguna Anda akses ke S3 menggunakan IAM. Anda dapat membuat Profil Masuk dan memberikan kata sandi kepada pengguna Anda. Mereka dapat menggunakan kredensial mereka untuk masuk ke Amazon AWS Console. Pilihan lainnya adalah memberi pengguna Anda kunci akses dan kunci rahasia. Mereka dapat menggunakan kunci ini di alat pihak ketiga seperti S3 Fox, CloudBerry S3 Explorer atau S3 Browser.
Buat Login Profile
Membuat Profil Login untuk pengguna S3 Anda memberi mereka nama pengguna dan kata sandi yang dapat mereka gunakan untuk masuk ke Amazon AWS Console.
- Sintaks untuk membuat profil login adalah iam-useraddloginprofile -u USERNAME -p PASSWORD. Dokumentasi lengkap tentang Antarmuka Baris Perintah tersedia di AWS Docs.
- Jika Anda ingin membuat profil login untuk pengguna "bob", Anda akan memasukkan, iam-useraddloginprofile -u bob -p PASSWORD di Command Prompt.
- Anda dapat memeriksa bahwa profil login dibuat dengan benar dengan memasukkan iam-usergetloginprofile -u bob di Command Prompt. Jika Anda telah membuat profil login untuk bob, hasilnya akan seperti "Masuk Profil ada untuk bob pengguna".
Buat Kunci
Membuat Kunci Akses Rahasia AWS dan ID Kunci Akses AWS yang sesuai akan memungkinkan pengguna Anda untuk menggunakan perangkat lunak pihak ketiga seperti yang disebutkan sebelumnya. Perlu diingat bahwa sebagai langkah pengamanan, Anda hanya bisa mendapatkan kunci ini selama proses penambahan profil pengguna. Pastikan Anda menyalin dan menempelkan output dari Command Prompt dan menyimpannya dalam file teks. Anda dapat mengirim file ke pengguna Anda.
- Sintaks untuk menambahkan kunci untuk pengguna adalah iam-useraddkey [-u USERNAME]. Dokumentasi lengkap tentang Antarmuka Baris Perintah tersedia di AWS Docs.
- Jika Anda ingin membuat kunci untuk pengguna "bob", Anda akan memasukkan iam-useraddkey -u bob di Command Prompt.
- Perintah akan menampilkan kunci yang akan terlihat seperti ini:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
Baris pertama adalah ID Kunci Akses dan baris kedua adalah Kunci Akses Rahasia. Anda membutuhkan keduanya untuk perangkat lunak pihak ketiga.
Akses Uji
Sekarang Anda telah membuat grup / pengguna IAM dan memberi kelompok akses menggunakan kebijakan, Anda perlu menguji aksesnya.
Akses Konsol
Pengguna Anda dapat menggunakan nama pengguna dan kata sandi mereka untuk masuk ke Konsol AWS. Namun, ini bukan halaman login konsol biasa yang digunakan untuk akun AWS utama.
Ada URL khusus yang dapat Anda gunakan yang akan memberikan formulir login hanya untuk akun Amazon AWS Anda. Berikut adalah URL untuk masuk ke S3 untuk pengguna IAM Anda.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER adalah nomor akun AWS reguler Anda. Anda bisa mendapatkan ini dengan masuk ke formulir Masuk Layanan Web Amazon. Login dan klik pada Akun | Aktivitas Akun. Nomor akun Anda ada di sudut kanan atas. Pastikan Anda menghapus tanda hubung. URL akan terlihat seperti https://123456789012.signin.aws.amazon.com/console/s3.
Menggunakan Tombol Akses
Anda dapat mengunduh dan menginstal salah satu alat pihak ketiga yang sudah disebutkan dalam artikel ini. Masukkan ID Kunci Akses Anda dan Kunci Akses Rahasia per dokumentasi alat pihak ke-3.
Saya sangat menyarankan Anda membuat pengguna awal dan memiliki pengguna yang sepenuhnya menguji bahwa mereka dapat melakukan semua yang perlu dilakukan di S3. Setelah Anda memverifikasi salah satu pengguna Anda, Anda dapat melanjutkan dengan menyiapkan semua pengguna S3 Anda.
Sumber daya
Berikut adalah beberapa sumber untuk memberi Anda pemahaman yang lebih baik tentang Identitas & Manajemen Akses (IAM).
- Memulai IAM
- Toolkit Baris Perintah IAM
- Konsol Amazon AWS
- Generator Kebijakan AWS
- Menggunakan Identitas AWS dan Manajemen Akses
- Catatan Rilis IAM
- Forum Diskusi IAM
- FAQ IAM