Hướng dẫn cài đặt AWS Credential – Cơ bản

aws_cli

Lời nói đầu

Để thực hiện thao tác với những Service của AWS gián tiếp thông qua AWS CLI, CDK hay Framework, người dùng cần phải cài đặt Chứng thực hay Credential (Access-Key và Secret-Key) trên môi trường làm việc. Việc cài đặt này nhằm đảm bảo security cho hệ thống Cloud không bị truy cập bất chính và thực hiện những mệnh lệnh bất chính gây nguy hại đến hệ thống.

Việc cài đặt Chứng thực hay Credential được AWS hỗ trợ cài đặt chi tiết dựa trên mức độ cài đặt bảo mật liên quan tới User. Tại thời điểm của bài viết, AWS hiện có hỗ trợ 3 cách chính như sau:

  1. Cài đặt Credentials cơ bản với cài đặt Access-Key và Secret-Key. 
  2. Cài đặt Credentials với tài khoản có sử dụng MFA.
  3. Cài đặt Credentials với tài khoản có sử dụng Switch-Role.

Bài dưới đây, hướng dẫn về cách cài đầu tiên - Cài đặt Credentials cơ bản. Đối với cách khác sẽ được đề cập tới tại các bài sau.

Cài đặt môi trường

1. Tạo Access Key và Secret Key

Khi tạo IAM User thông qua màn hình AWS Console, người dùng có thể chọn tạo luôn Access Key và Secret Key. Sau khi thực hiện thành công, file CSV chứa thông tin chứng thực bao gồm Access Key và Secret Key sẽ cung cấp để download xuống và lưu giữ.

Nếu là User đã có sẵn thể tạo Access Key và Secret Key thông qua IAM Console

2. Cài đặt AWS CLI

Để thực hiện AWS CLI Command cần cài đặt bộ phần mềm CLI (Command Line Interface) của AWS. Để download ứng với hệ điều hành, môi trường đang sử dụng xin tham khảo link dưới đây:

Cài đặt AWS Credential

Để thực hiện chạy AWS CLI Command, cần khởi động chương trình cho phép nhập lệnh tương ứng với hệ điều hành, môi trường đang sử dụng. Đối với Windows là Command Prompt hoặc Powershell, với Linux và MacOS là chương trình Terminal. Sau đó thực hiện lệnh dưới đây để thực hiện cài đặt.

1. Kiểm tra môi trường cài đặt AWS CLI

Thực hiện lệnh dưới đây để kiểm tra cài đặt môi trường:

aws --version

Nếu cài đặt thành công sẽ hiển thị kết quả như phía dưới:

2. Cài đặt Credential

Thực hiện lệnh dưới đây để cài đặt

aws configure

Sau khi thực thi lệnh tại màn hình Terminal sẽ xuất hiện lần lượt các bước nhập Access Key , Secret Key và Region mặc định cùng với định dạng xuất kết quả của câu lệnh. Điền thông tin tương ứng với từng mục.

Sau khi thực hiện trong thư mục gốc của tài khoản đang sử dụng sẽ xuất hiện folder /.aws có chưa file credentials và file config - file chứa thông tin chứng thực. File này sẽ được chương trình AWS CLI tham chiếu mỗi khi thực hiện câu lệnh.

Trong môi trường Windows, những file này nằm tại:

C:\Users\<Tài khoản đang sử dụng>\.aws

Trong môi trường Unix - Linux - MacOS, những file này nằm tại:

~/.aws/

Nội dung của hai file này có dạng như sau:

File : credentials

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

File : config

[default]
region=us-west-2
output=json

3. Kiểm tra cài đặt

Để kiểm tra đã cài đặt thông tin chứng thực (credential) đã đúng, hãy chạy thử lệnh dưới đây:

aws s3 ls

Sau khi thực hiện câu lệnh, nếu thành công sẽ hiển thị danh sách S3 Bucket hiện có trong tài khoản AWS.

Cài đặt nhiều Credentials ứng với nhiều môi trường AWS

Khi thực hiện quản lý nhiều môi trường AWS, người sử dụng sẽ nhận được nhiều thông tin tài khoản. Nếu chỉ làm theo cách cơ bản sẽ rất phiền phức khi phải thao tác với nhiều môi trường cùng lúc.

Để khắc phục điều này, khi muốn tạo nhiều Credentials trên cùng một môi trường, cần thực hiện thêm option --profile vào câu lệnh tạo Credential.

aws configure --profile <profile_name>

Sau khi thực thi lệnh tại màn hình Terminal sẽ xuất hiện lần lượt các bước nhập Access Key , Secret Key và Region mặc định cùng với định dạng xuất kết quả của câu lệnh giống như đã đề cập ở phía trên. Nhưng trong file credentials và file config có nội dung như sau:

File : 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

File : config

[default]
region=us-west-2
output=json

[profile user1]
region=us-east-1
output=text

Để thực hiện câu lệnh đối với môi trường AWS có sử dụng thông tin chứng thực (Credential) của user1 cần thêm option --profile vào cuối câu lệnh.

aws s3 ls --profile user1

Lúc này chương trình AWS CLI sẽ tự động tham chiếu nội dung chứng thực của user1 khi thực thi câu lệnh.

Tham khảo khác

Tạo file Credentails bằng tay

Khi đã hiểu được cách hoạt động của AWS CLI khi tạo chứng thực (Credential), người dùng có thể tạo file credentails và file config tại những nơi tương ứng mà không cần phải dùng câu lệnh AWS CLI.

Người dùng có thể tùy biến những file này tùy ý sao cho phù hợp với mục đích sử dụng. Có thể tham khảo tài liệu tại đây để biết thêm chi tiết.

Tùy biến về cách dùng Profile

Việc gõ thêm option profile vào mỗi câu lệnh command có thể gây phiền toái với một số người, thì việc cài đặt thêm biến môi trường liên quan tới profile sẽ giảm gánh nặng này đi rất nhiều. Để biết rõ thêm về cách dùng này xin tham khảo tại đây.

Leave a Reply