Skip to main content
Kết nối subscription Azure của bạn để cho phép các agent CloudThinker phân tích chi phí, kiểm tra tuân thủ và quản lý hạ tầng trên Microsoft Azure. Azure xác thực bằng service principal (đăng ký ứng dụng + client secret + tenant ID); các role assignment của principal xác định những gì mỗi agent có thể đọc.

Yêu cầu trước

  • Một subscription Azure với quyền Owner hoặc User Access Administrator.
  • Quyền tạo app registration trong Microsoft Entra ID.
  • Đã đăng ký xác thực đa yếu tố cho tài khoản. Security defaults chặn việc đăng ký ứng dụng nếu chưa có.
Reader cộng Cost Management Reader là đủ cho mọi agent chỉ đọc. Chỉ thêm role ghi khi bạn muốn agent thay đổi tài nguyên Azure.

Thiết lập

1

Chọn subscription

2

Tạo service principal

Sao chép kết quả. password chỉ hiển thị một lần.
3

Thêm quyền đọc chi phí

4

Thêm kết nối trong CloudThinker

Vào Connections → Azure và nhập appId vào APP_ID, password vào CLIENT_SECRET, tenant vào TENANT_ID. Chọn AZURE_DEFAULT_REGION, rồi nhấn Connect.Trạng thái thành công: kết nối hiển thị trạng thái Connected.
Sao chép client secret ngay sau khi tạo. Azure không hiển thị lại. Chạy az ad sp credential reset --id <appId> để cấp secret mới.

Thanh toán theo Microsoft Customer Agreement

Subscription pay-as-you-go mua trực tuyến dùng Microsoft Customer Agreement (MCA). Cost Management trả về Given subscription doesn't have valid WebDirect/AIRS offer type cho subscription MCA, nên Optimize đọc chi phí ở scope billing profile. Cấp quyền cho service principal ở scope đó: vào Cost Management + Billing → billing account của bạn → Billing profiles → profile của bạn → Access control (IAM) → Add, rồi gán Billing profile reader cho app registration. Role assignment ở subscription không bao gồm scope thanh toán.

Chi tiết kết nối

Subscription không phải là một trường của kết nối. CloudThinker tự phát hiện mọi subscription mà service principal đọc được.

Quyền cần thiết

Chỉ Reader thì không có dữ liệu chi phí. Reader cấp */read, còn truy vấn Cost Management là một POST action không khớp với */read.
Chỉ gán Contributor khi bạn muốn agent thay đổi tài nguyên. Mọi lệnh ghi vẫn chờ bạn phê duyệt trong chat.

Khả năng của agent

Sau khi kết nối, các agent có thể phân tích và tối ưu tài nguyên Azure của bạn.

Kiểm tra kết nối

Prompt ví dụ


Khắc phục sự cố

az login hoặc portal trả về AADSTS530035: Access has been blocked by security defaults. Security defaults yêu cầu xác thực đa yếu tố trước khi bạn đăng ký ứng dụng. Đăng ký một phương thức tại aka.ms/mfasetup rồi đăng nhập lại. Cờ --use-device-code và --allow-no-subscriptions không vượt qua được điều này.
Kiểm tra APP_ID, CLIENT_SECRET và TENANT_ID. Xác nhận secret chưa hết hạn và app registration nằm trong tenant bạn đã nhập. Kiểm tra không có chính sách conditional access nào chặn service principal đăng nhập.
Chạy az ad sp credential reset --id <appId>, hoặc vào Microsoft Entra ID → App registrations → ứng dụng của bạn → Certificates & secrets để tạo secret mới. Cập nhật CLIENT_SECRET trong kết nối.
Optimize báo Azure Cost Management is not readable. Gán Cost Management Reader trên subscription. Nếu subscription dùng Microsoft Customer Agreement, gán thêm Billing profile reader trên billing profile. Role assignment cần vài phút để lan truyền.
Subscription mới bị Cost Management giới hạn tần suất rất chặt, và truy vấn trả về 429 Too many requests. Đây không phải lỗi cấu hình. Chờ vài phút rồi tải lại Optimize.
Kiểm tra role Reader đã được gán trên mọi subscription bạn muốn thấy. Tài nguyên trong subscription mà service principal không đọc được sẽ không xuất hiện.

Bảo mật

  • Quyền tối thiểu — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
  • Chỉ đọc theo mặc định — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
  • Xoay vòng thông tin xác thực — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
  • Thu hồi khi bàn giao — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.
  • Đặt thời hạn secret — luôn đặt thời hạn cho client secret và xoay vòng trước khi hết hạn.
  • Giới hạn scope của role — gán Reader và Cost Management Reader trên các subscription CloudThinker cần, không mặc định gán ở cấp management group.

Liên quan

Kết nối AWS

Kết nối Amazon Web Services

Agent Oliver

Agent tập trung vào bảo mật cho tuân thủ Azure