Chào mọi người, trong bài viết này mình xin được chia sẻ cách mình quản lý tài khoảng AWS cũng như credential đi kèm khi làm việc với nhiều môi trường trên trên nhiều tài khoảng AWS nhưng vẫn đảm bảo tính an toàn, và tiện lợi.
Lưu ý: trong bài viết này mình có sử dụng một tool có trả phí là 1password, và máy mình đang sử dụng cho setup này là macbook, theo mình máy tính tương đương với Macbook có thể là Dell xps chạy ubuntu và có cảm biến vân tay.
Setup 1password
1Password là cách dễ nhất để lưu trữ và sử dụng mật khẩu mạnh. Đăng nhập vào các trang web và điền vào biểu mẫu một cách an toàn chỉ bằng một cú nhấp chuột.
Cài đặt 1password
Bạn truy cập vào đây để cài đặt,
Cài đặt plugging cho trình duyệt
Bước này sẻ giúp chúng ta đăng nhập nhanh vào AWS console, hoặc bất kì trang web nào.
Cấu hình tự động điền mật khẩu và OTP
Để thêm mật khẩu vào 1password chúng ta làm như sau.
Trong giao diện của 1password, chọn vào new item.
chọn vào mục login.
vì trường thông tin MFA mặt định không có, nên chúng ta sẻ làm như sau.
Để thêm MFA, chúng ta sẻ try cập vào tài khoảng AWS, trong phần IAM, chọn Security credentials và truy cập vào tab Multi-factor authentication (MFA), sau đó chọn Assign MFA device.
sau đó, trong 1password, bấm vào biểu tượng QR code để thêm mật khẩu.
Ở trường website, bạn hãy thêm link đăng nhập vào tài khoảng aws, link đăng nhập có dạng như sau:
https://id tài khoảng.signin.aws.amazon.com/console
Như vậy là chúng ta đã hoàn thành xong việc setup truy cập vào AWS console. bạn có thể mở trình duyệt lên và tận hưởng, user, password, và MFA sẻ được tự động điền vào.
Setup credential
Tiếp đến, chúng ta sẻ dùng 1password lưu trữ aws_access_key_id và aws_secret_access_key
trong 1password, chung ta thêm một section và đặt tên là AWS.
Sau đó thêm hai trường text có key tương ứng là aws_access_key_id và aws_secret_access_key
sau khi hoàn thành, sẻ trông như thế naỳ.
Cài đặt 1password CLI
Xem thêm hướng dẫn cài đặt ở đây
Chúng ta sẻ truy cập vào aws_access_key_id và aws_secret_access_key thông qua 1password CLI, thay vì lưu dưới dạng plain text và không được mã hóa nhưng cách thông thường chúng ta vẫn làm.
pipx install awsume
pip install awsume
Đối với người dùng mac bạn có thể cài đặ thông qua brew.
brew install awsume
mục đích của việc sử dụng AWSume là để chuyển nhanh user profile.
Thêm profile
Để thêm profile, bạn sẻ cần chuẩn bị một script helper như sau ~/.aws/op-cred-helper.sh
#!/bin/bash
vault="$1"
secret_id="$2"
cat << END | op inject
{
"Version": 1,
"AccessKeyId": "{{ op://${vault}/${secret_id}/aws_access_key_id }}",
"SecretAccessKey": "{{ op://${vault}/${secret_id}/aws_secret_access_key }}"
}
END
sau đó trong file ~/.aws/credentials chúng ta chỉnh sửa lại như sau.
[quan]
region = us-east-1
credential_process = ~/.aws/op-cred-helper.sh Personal Amazon-quan
trong đó đối số đầu tiên là tên cảu vault thông thường là Personal, đối số thứ hai là tên của secret mà bạn đã tạo ở bước trên.
một số CLI thường dùng với AWSume.
List profile
Apply profile
Khi kết hợp cùng 1password + Touch ID, mỗi lần bạn chuyển user profile, bạn sẻ được yêu cầu nhập vân tay.
Nhân tiện terminal mình đang dùng là warp
Chúc các bạn thành công!