Menggunakan AWS IAM dalam Go: Panduan Lengkap
AWS (Amazon Web Services), sebagai peneraju dalam industri pengkomputeran awan, menyediakan perkhidmatan pengkomputeran awan yang mudah dan berkuasa, membolehkan perusahaan membina dan mengurus infrastruktur IT mereka sendiri dengan mudah dan memperoleh kebolehskalaan, Fleksibiliti dan kos rendah yang lebih baik. IAM (Pengurusan Identiti dan Akses) ialah salah satu perkhidmatan penting dalam AWS Ia bertanggungjawab mengurus identiti dan hak akses pengguna (termasuk orang, aplikasi, perkhidmatan, dll.) dan memastikan keselamatan dan kerahsiaan sumber AWS. Dalam artikel ini, kami akan memperkenalkan cara menggunakan AWS IAM dalam bahasa Go dan menyediakan kaedah pelaksanaan terperinci serta contoh kod.
1. Cipta pengguna dan peranan IAM dalam AWS
Pertama, kita perlu mencipta pengguna dan peranan IAM dalam AWS. Pengguna IAM ialah identiti sumber AWS, dan peranan ialah kebenaran akses kepada sumber ini. Kami boleh mencipta dan mengurus identiti dan kebenaran ini menggunakan konsol AWS atau AWS CLI. Berikut ialah langkah untuk mencipta pengguna dan peranan IAM menggunakan konsol AWS:
- Log masuk ke konsol AWS dan pergi ke konsol IAM.
- Klik "Pengguna" dalam bar navigasi kiri, kemudian klik "Tambah Pengguna". Masukkan nama pengguna dan jenis akses anda (Programmatic Access atau AWS Management Console Access) dan klik Seterusnya.
- Berikan kebenaran kepada pengguna baharu. Kami boleh menambah pengguna secara langsung pada kumpulan pengguna sedia ada (iaitu set pengguna yang dikaitkan dengan kebenaran yang sama), atau membuat dasar kebenaran tersuai untuk pengguna baharu. Di sini, kami mencipta dasar kebenaran yang dipanggil "IAMUserPolicy" untuk pengguna baharu, termasuk akses kepada AmazonS3FullAccess. Selepas menambah dasar kebenaran, klik "Seterusnya".
- Sahkan semua tetapan. Dalam halaman ini, kami boleh melihat kunci akses dan bukti kelayakan keselamatan pengguna IAM yang kami buat, serta kebenaran akses yang baru kami buat untuk pengguna tersebut. Selepas mengesahkan semua tetapan, klik "Selesai".
- Ulang langkah 2-4 di atas untuk mencipta peranan IAM bernama "IAMRole" dan kaitkan dasar kebenaran AmazonS3FullAccess dengan peranan tersebut.
2. Laksanakan AWS IAM dalam bahasa Go
Selepas mencipta pengguna dan peranan IAM, kami boleh mula melaksanakan AWS IAM dalam bahasa Go. Berikut ialah langkah pelaksanaan menggunakan AWS SDK for Go (aws-sdk-go):
- Pasang aws-sdk-go:
go get -u github.com/aws/aws-sdk-go
- dalam kod Go import aws-sdk-go:
import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/iam" )
- Konfigurasikan sesi AWS:
sess := session.Must(session.NewSessionWithOptions(session.Options{ SharedConfigState: session.SharedConfigEnable, }))
Ini akan membaca fail konfigurasi kongsi AWS CLI/SDK, termasuk Bukti kelayakan keselamatan dan maklumat wilayah.
- Buat pelanggan untuk perkhidmatan IAM:
svc := iam.New(sess)
Ini mewujudkan pelanggan untuk perkhidmatan IAM.
- Buat pengguna IAM:
_, err := svc.CreateUser(&iam.CreateUserInput{ UserName: aws.String("test-user"), }) if err != nil { panic(err) }
Di sini kami telah mencipta pengguna IAM baharu bernama "pengguna ujian".
- Berikan kebenaran kepada pengguna IAM:
_, err = svc.AttachUserPolicy(&iam.AttachUserPolicyInput{ PolicyArn: aws.String("arn:aws:iam::aws:policy/AmazonS3FullAccess"), UserName: aws.String("test-user"), }) if err != nil { panic(err) }
Di sini kami mengaitkan "pengguna ujian" pengguna IAM dengan dasar kebenaran AmazonS3FullAccess.
- Cipta peranan IAM:
_, err = svc.CreateRole(&iam.CreateRoleInput{ AssumeRolePolicyDocument: aws.String(`{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }`), RoleName: aws.String("test-role"), }) if err != nil { panic(err) }
Di sini kami telah mencipta peranan IAM baharu yang dipanggil "peranan ujian" dan mengaitkannya dengan Amazon EC2.
- Berikan kebenaran kepada peranan IAM:
_, err = svc.AttachRolePolicy(&iam.AttachRolePolicyInput{ PolicyArn: aws.String("arn:aws:iam::aws:policy/AmazonS3FullAccess"), RoleName: aws.String("test-role"), }) if err != nil { panic(err) }
Di sini kami mengaitkan peranan IAM "peranan ujian" dengan dasar kebenaran AmazonS3FullAccess.
- Senaraikan semua pengguna IAM:
resp, err := svc.ListUsers(&iam.ListUsersInput{}) if err != nil { panic(err) } for _, user := range resp.Users { fmt.Println("IAM user:", *user.UserName) }
Di sini kami menyenaraikan semua pengguna IAM.
- Senaraikan semua peranan IAM:
resp, err = svc.ListRoles(&iam.ListRolesInput{}) if err != nil { panic(err) } for _, role := range resp.Roles { fmt.Println("IAM role:", *role.RoleName) }
Di sini kami telah menyenaraikan semua peranan IAM.
3. Kesimpulan
Dalam artikel ini, kami memperkenalkan cara mencipta pengguna dan peranan IAM dalam AWS, dan memberikan butiran tentang menggunakan aws-sdk-go untuk melaksanakan AWS IAM dalam Langkah bahasa Go dan contoh kod. Melalui IAM, kami boleh melaksanakan pengesahan yang boleh dipercayai dan kawalan akses untuk memastikan keselamatan dan kerahsiaan sumber AWS. Pada masa yang sama, menggunakan kuasa aws-sdk-go, kami boleh melaksanakan AWS IAM dengan lebih mudah dan membina aplikasi yang lebih baik dalam bahasa Go.
Atas ialah kandungan terperinci Menggunakan AWS IAM dalam Go: Panduan Lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

GO Pointer Syntax dan menangani masalah dalam penggunaan perpustakaan Viper semasa pengaturcaraan dalam bahasa Go, adalah penting untuk memahami sintaks dan penggunaan petunjuk, terutama dalam ...

Dua cara untuk menentukan struktur dalam bahasa Go: perbezaan antara VAR dan jenis kata kunci. Apabila menentukan struktur, pergi bahasa sering melihat dua cara menulis yang berbeza: pertama ...

Mengapa lelaran peta di GO menyebabkan semua nilai menjadi elemen terakhir? Dalam bahasa Go, ketika berhadapan dengan beberapa soalan wawancara, anda sering menemui peta ...

GO LANGUAGE SLISE INDEX: Mengapa kepingan tunggal elemen memintas dari Indeks 1 tanpa ralat? Dalam bahasa Go, kepingan adalah struktur data yang fleksibel yang boleh merujuk kepada bahagian bawah ...
