Trong khi sử dụng với AWS CLI, có một số tips nhỏ mình viết ra đây để tổng hợp và chia sẻ với anh em. Hy vọng sẽ giúp anh em thuận lợi, an toàn khi sử dụng aws.
1.Cách dùng AWS CLI với nhiều profile
Vấn đề
Bạn có 2 account.
Bạn muốn setting AWS CLI để access vào các account trên.
Giải quyết
Bạn cần setting để dùng CLI với nhiều profile
Mặc định
Khi bạn setting CLI thì ở 2 file .aws/config và ~/.aws/credentials sẽ có nội dung kiểu thế này
~/.aws/credentials
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
.aws/config
[default]
region=us-west-2
output=json
Khi thực hiện command thì cú pháp kiểu thế này
aws s3api list-buckets
Để thêm nhiều profile các bạn cần thêm vào nội dung 2 file bên trên nhiều profile nữa, ví dụ thế này
~/.aws/credentials
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
.aws/config
[default]
region=us-west-2
output=json
[profile user1]
region=us-east-1
output=text
Khi thực hiện command thì cú pháp kiểu thế này
aws s3api list-buckets –profile user1
2.Cách dùng AWS CLI nhiều profile tránh bị nhầm lẫn môi trường
Việc sử dụng nhiều tài khoản AWS trên browser và trên AWS CLI đều rất dễ bị nhầm lẫn, xóa nhầm, tạo nhầm, sửa nhầm đều có một cái kết đau lòng, chỉ khác nhau ở mức độ đau lòng mà thôi.
Như ví dụ phía trên nếu có nhiều tài khoản thì khi không có –profile thì sẽ chạy về profile default. Một cách đơn giản đến bất ngờ để tránh việc này xảy ra là:
Bổ xung: khi không nhớ profile là gì thì dùng command sau để list.
aws configure list-profiles
3.Cách dùng AWS CLI với switch role
Vấn đề
Khách có 2 account: accountA và accountB.
Khách cấp cho bạn user ở accountA nhưng không cấp cho bạn user ở accountB. Khách cấp cho bạn switchRole để bạn từ accountA access vào accountB .
Khách muốn bạn thao tác với accountB và bạn nhận ra không phải việc gì bạn cũng có thể dùng console trên browser để thao tác. Bạn nhận ra sự cần thiết của việc dùng AWS CLI để access vào accountB .
Giải quyết (setting switch role với AWS CLI)
Bạn cần setting để dùng CLI thao tác với accountB thông qua switchRole
Giả sử trước đó bạn đã dùng CLI bình thường ở accountA rồi.
vào file configure tại .aws/config và edit nó. (user1 là user ở accountA , role là switchrole ở accountB )
[profile user1]
role_arn = arn:aws:iam::123456789012:role/AccountBAccessRole
source_profile = user1
Khi thực hiện command thì cú pháp kiểu thế này
aws s3api list-buckets –profile user1
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE