Tác giả: [Shreya Jain] và [Sowjanya Rajavaram]
Ngày phát hành: 19 NOV 2025
Chuyên mục: [AWS CLI], [AWS Identity and Access Management (IAM)], [AWS Security Token Service], [Developer Tools], [Foundational (100)], [Security, Identity, & Compliance]
Việc lấy thông tin xác thực (credentials) cho phát triển cục bộ với AWS giờ đây đã đơn giản và an toàn hơn. Một lệnh mới của AWS Command Line Interface (AWS CLI), aws login, cho phép bạn bắt đầu xây dựng ngay lập tức sau khi đăng ký AWS mà không cần tạo và quản lý các khóa truy cập dài hạn. Bạn sử dụng cùng một phương thức đăng nhập mà bạn đã dùng cho AWS Management Console.
Trong bài blog này, chúng tôi sẽ chỉ cho bạn cách lấy thông tin xác thực tạm thời cho máy trạm của bạn để sử dụng với AWS CLI, AWS Software Development Kits (AWS SDKs), và các công cụ hoặc ứng dụng được xây dựng bằng chúng với lệnh aws login mới.
Bắt đầu với quyền truy cập có lập trình vào AWS
Bạn có thể sử dụng lệnh aws login với phương thức đăng nhập AWS Management Console của mình, như được mô tả trong các phần sau.
Kịch bản 1: Sử dụng thông tin xác thực IAM (root hoặc người dùng IAM)
Để lấy thông tin xác thực có lập trình bằng tên người dùng và mật khẩu root hoặc người dùng IAM của bạn:
- Cài đặt phiên bản AWS CLI mới nhất (phiên bản 2.32.0 trở lên).
- Chạy lệnh
aws login. - Nếu bạn chưa đặt Region mặc định, CLI sẽ nhắc bạn chỉ định AWS Region bạn chọn (ví dụ: us-east-2, eu-central-1). CLI sẽ ghi nhớ Region bạn đã đặt sau khi bạn nhập vào lời nhắc này.

Hình 1: Lời nhắc chọn Region của CLI
- CLI sẽ mở trình duyệt mặc định của bạn.
- Làm theo hướng dẫn trong cửa sổ trình duyệt:
a. Nếu bạn đã đăng nhập vào AWS Management Console, bạn sẽ thấy một màn hình có nội dung “Continue with an active session.” (Tiếp tục với phiên hoạt động).

Hình 2: Đăng nhập vào AWS – lựa chọn phiên hoạt động
b. Nếu bạn chưa đăng nhập vào AWS Management Console, bạn sẽ thấy trang tùy chọn đăng nhập. Chọn “Continue with Root or IAM user” và đăng nhập vào tài khoản AWS của bạn.

Hình 3: Đăng nhập vào AWS – Tùy chọn đăng nhập
- Thành công! Bạn đã sẵn sàng để chạy các lệnh AWS CLI. Hãy thử lệnh
aws sts get-caller-identityđể xác minh danh tính bạn đang sử dụng.

Hình 4: Đăng nhập vào AWS – hoàn tất
Kịch bản 2: Sử dụng đăng nhập liên kết (federated sign-in)
Kịch bản này áp dụng khi bạn xác thực thông qua nhà cung cấp danh tính của tổ chức bạn. Để lấy thông tin xác thực có lập trình cho các vai trò bạn đã đảm nhận với liên kết:
- Hoàn thành các bước 1–4 từ Kịch bản 1, sau đó tiếp tục với các hướng dẫn sau.
- Làm theo hướng dẫn trong cửa sổ trình duyệt:
a. Nếu bạn đã đăng nhập vào AWS Management Console, trình duyệt sẽ cung cấp cho bạn tùy chọn để chọn phiên IAM role đang hoạt động từ việc đăng nhập liên kết vào console. Điều này cho phép bạn chuyển đổi giữa 5 phiên AWS đang hoạt động nếu bạn đã bật hỗ trợ đa phiên (multi-session support) trên AWS Management Console của mình.

Hình 5: Đăng nhập vào AWS – lựa chọn phiên IAM role đang hoạt động
b. Nếu bạn chưa đăng nhập vào AWS Management Console hoặc muốn lấy thông tin xác thực tạm thời cho một IAM role khác, hãy đăng nhập vào tài khoản AWS của bạn bằng cơ chế xác thực hiện tại trong một tab trình duyệt khác. Sau khi đăng nhập thành công, hãy quay lại tab này và chọn nút “Refresh”. Phiên console của bạn bây giờ sẽ có sẵn trong các phiên hoạt động.
- Quay trở lại AWS CLI sau khi bạn đã hoàn tất thành công quá trình
aws login.
Bất kể phương thức đăng nhập console bạn chọn là gì, thông tin xác thực tạm thời được cấp bởi lệnh aws login sẽ được tự động xoay vòng bởi AWS CLI, AWS Tools for PowerShell và AWS SDKs mỗi 15 phút. Chúng có hiệu lực cho đến thời hạn phiên đã đặt của IAM principal (tối đa 12 giờ). Sau khi đạt đến giới hạn thời hạn phiên, bạn sẽ được nhắc đăng nhập lại.

Hình 6: Đăng nhập AWS – hết hạn phiên
Truy cập AWS bằng các công cụ phát triển cục bộ
Lệnh aws login hỗ trợ chuyển đổi giữa nhiều tài khoản và vai trò AWS bằng cách sử dụng profile. Bạn có thể cấu hình một profile với aws login --profile <PROFILE_NAME> và chạy các lệnh AWS với profile đó bằng cách sử dụng: aws sts get-caller-identity --profile <PROFILE_NAME>. Thông tin xác thực ngắn hạn được cấp bởi aws login không chỉ hoạt động với AWS CLI. Bạn cũng có thể sử dụng chúng với:
- AWS SDKs: Nếu bạn sử dụng AWS SDKs để phát triển, các client SDK có thể sử dụng những thông tin xác thực tạm thời này để xác thực với AWS.
- AWS Tools for PowerShell: Sử dụng lệnh
Invoke-AWSLogin. - Máy chủ phát triển từ xa: Sử dụng
aws login --remotetrên một máy chủ từ xa không có quyền truy cập trình duyệt, để chuyển thông tin xác thực tạm thời từ thiết bị của bạn có quyền truy cập trình duyệt đến AWS console. - Các phiên bản cũ hơn của AWS SDKs không hỗ trợ nhà cung cấp thông tin xác thực console mới: Bất kỳ phần mềm nào được viết bằng các SDK cũ này đều có thể hỗ trợ thông tin xác thực được cung cấp bởi
aws loginbằng cách sử dụng credential_process provider với AWS CLI.
Kiểm soát quyền truy cập vào aws login bằng chính sách IAM
Lệnh aws login được kiểm soát bởi hai IAM action: signin:AuthorizeOAuth2Access và signin:CreateOAuth2Token. Sử dụng chính sách được quản lý SignInLocalDevelopmentAccess hoặc thêm các action này vào chính sách IAM của bạn để cho phép người dùng IAM và vai trò IAM có quyền truy cập console sử dụng tính năng này.
Khách hàng của AWS Organizations muốn kiểm soát việc sử dụng tính năng đăng nhập này trên các tài khoản thành viên có thể từ chối hai action trên bằng cách sử dụng Service Control Policies (SCPs). Các IAM action này và tài nguyên của chúng có thể được sử dụng trong tất cả các chính sách IAM có liên quan.
AWS khuyến nghị sử dụng quản lý truy cập root tập trung trong AWS Organizations để loại bỏ thông tin xác thực root dài hạn khỏi các tài khoản thành viên. Tính năng này cho phép các đội ngũ bảo mật thực hiện các tác vụ đặc quyền thông qua các phiên root ngắn hạn, có phạm vi tác vụ cụ thể từ một tài khoản quản lý trung tâm. Sau khi bạn bật quản lý root tập trung và xóa thông tin xác thực root trên các tài khoản thành viên, việc đăng nhập root vào các tài khoản thành viên sẽ bị từ chối, điều này cũng ngăn chặn quyền truy cập có lập trình bằng thông tin xác thực root sử dụng aws login. Đối với các nhà phát triển sử dụng thông tin xác thực root hoặc người dùng IAM, aws login cung cấp thông tin xác thực ngắn hạn cho các công cụ phát triển, mang lại một giải pháp thay thế an toàn cho các khóa truy cập tĩnh dài hạn.
Ghi log và bảo mật của quyền truy cập có lập trình bằng aws login
AWS Sign-In ghi lại hoạt động API thông qua AWS CloudTrail, hiện đã bao gồm hai sự kiện mới dành riêng cho aws login. Dịch vụ này ghi lại hai tên sự kiện mới là AuthorizeOAuth2Access và CreateOauth2Token trong AWS Region nơi người dùng đăng nhập.
Đây là một mẫu CloudTrail cho sự kiện AuthorizeOAuth2Access:
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROATJHQDX737YZP72NTF:testuser”,
"arn": "arn:aws:sts::225989345271:assumed-role/Admin/testuser,
"accountId": “111111111111”,
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROATJHQDX737YZP72NTF",
"arn": "arn:aws:iam::111111111111:role/Admin",
"accountId": “11111111111”,
"userName": "Admin"
},
"attributes": {
"creationDate": "2025-11-17T22:50:14Z",
"mfaAuthenticated": "false"
}
}
},
"eventTime": "2025-11-17T22:51:32Z",
"eventSource": "signin.amazonaws.com",
"eventName": "AuthorizeOAuth2Access",
"awsRegion": "us-east-1",
"sourceIPAddress": “192.0.2.2”,
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",
"requestParameters": {
"scope": "openid",
"redirect_uri": "http://127.0.0.1:53037/oauth/callback",
"code_challenge_method": "SHA-256",
"client_id": "arn:aws:signin:::devtools/same-device"
},
"responseElements": null,
"additionalEventData": {
"success": "true",
"x-amzn-vpce-id": ""
},
"requestID": "e2854c76-1cba-4360-9fd1-5037b591466b",
"eventID": "59e1720d-3deb-44ff-933d-6828be2a860a",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": “111111111111”,
"eventCategory": "Management",
"tlsDetails": {
"tlsVersion": "TLSv1.3",
"cipherSuite": "TLS_AES_128_GCM_SHA256",
"clientProvidedHostHeader": "us-east-1.signin.aws.amazon.com"
}
}
Đây là một mẫu CloudTrail cho sự kiện CreateOAuth2Token:
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROATJHQDX737YZP72NTF:testuser-Isengard",
"arn": "arn:aws:sts::111111111111:assumed-role/Admin/testuser-Isengard",
"accountId": "111111111111",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROATJHQDX737YZP72NTF",
"arn": "arn:aws:iam::111111111111:role/Admin",
"accountId": "111111111111",
"userName": "Admin"
},
"attributes": {
"creationDate": "2025-11-18T20:38:10Z",
"mfaAuthenticated": "false"
}
}
},
"eventTime": "2025-11-18T20:38:44Z",
"eventSource": "signin.amazonaws.com",
"eventName": "CreateOAuth2Token",
"awsRegion": "us-east-1",
"sourceIPAddress": "192.0.2.2",
"userAgent": "aws-cli/2.32.0 md/awscrt#0.28.4 ua/2.1 os/macos#24.6.0 md/arch#arm64 lang/python#3.13.9 md/pyimpl#CPython m/b,AA,Z,E cfg/retry-mode#standard md/installer#exe sid/35033f4ca1bd md/prompt#off md/command#login",
"requestParameters": {
"client_id": "arn:aws:signin:::devtools/same-device"
},
"responseElements": null,
"additionalEventData": {
"success": "true",
"x-amzn-vpce-id": ""
},
"requestID": "94562943-c85b-4dc1-bf72-43b0fd42d6de",
"eventID": "0b338fac-6a10-4740-b34d-1bb6923e799e",
"readOnly": true,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111111111111",
"eventCategory": "Management",
"tlsDetails": {
"tlsVersion": "TLSv1.3",
"cipherSuite": "TLS_AES_128_GCM_SHA256",
"clientProvidedHostHeader": "us-east-1.signin.aws.amazon.com"
}
}
Lệnh aws login sử dụng luồng mã ủy quyền OAuth 2.0 với PKCE (Proof Key for Code Exchange) để bảo vệ chống lại các cuộc tấn công chặn mã ủy quyền. Điều này cung cấp một giải pháp thay thế an toàn cho việc thiết lập khóa truy cập người dùng IAM để bắt đầu phát triển trên AWS. Để có hướng dẫn về các phương pháp xác thực hiện đại bổ sung và các giải pháp thay thế cho khóa truy cập IAM dài hạn, hãy xem bài đăng trên Blog Bảo mật AWS “Vượt ra ngoài khóa truy cập IAM: Các phương pháp xác thực hiện đại cho AWS.”
Kết luận
Tính năng đăng nhập cho phát triển cục bộ trên AWS là một cải tiến an toàn theo mặc định giúp khách hàng loại bỏ việc sử dụng thông tin xác thực dài hạn để truy cập có lập trình vào AWS. Với aws login, bạn có thể bắt đầu xây dựng ngay lập tức bằng cách sử dụng cùng thông tin xác thực mà bạn dùng để đăng nhập vào AWS Management Console. Tính năng này hiện đã có sẵn trên tất cả các AWS commercial Regions (không bao gồm Trung Quốc và GovCloud) mà không mất thêm chi phí cho khách hàng.
Để biết thêm thông tin, hãy truy cập phần xác thực và truy cập trong hướng dẫn sử dụng CLI.
Nếu bạn có phản hồi về bài đăng này, hãy gửi bình luận trong phần Comments bên dưới.
Về tác giả

Shreya Jain
Shreya là Giám đốc Sản phẩm Kỹ thuật Cấp cao tại AWS Identity. Cô có đam mê mang lại sự rõ ràng và đơn giản cho những ý tưởng phức tạp. Khi không dành năng lượng sáng tạo cho công việc, bạn sẽ thấy cô ấy ở lớp Pilates, khiêu vũ, hoặc khám phá quán cà phê yêu thích tiếp theo của mình.

Sowjanya Rajavaram
Sowjanya là một Kiến trúc sư Giải pháp Cấp cao chuyên về Định danh và Bảo mật tại AWS. Cô làm việc để giúp khách hàng ở mọi quy mô giải quyết các vấn đề về quản lý định danh và truy cập. Cô thích đi du lịch và khám phá các nền văn hóa và ẩm thực mới.