Điều kiện tiên quyết
- Tài khoản AWS chứa các repository CodeCommit bạn muốn kết nối.
- Quyền tạo IAM role hoặc IAM user trong tài khoản đó, và mở AWS CloudShell. Managed policy
AWSCloudShellFullAccesscấp quyền truy cập CloudShell. - AWS Region chứa các repository, ví dụ
us-east-1.
Mỗi workspace có một kết nối AWS CodeCommit, và kết nối đó áp dụng cho một Region. Để truy cập repository ở Region thứ hai, hãy kết nối Region đó từ một workspace khác.
Thiết lập
Trong thanh bên, nhấn More → Workspace settings → Connections, giữ nguyên tab Builtin Connections và chọn AWS CodeCommit. Chọn AWS Region, rồi chọn một tab.- IAM role (khuyến nghị)
- Access key
1
Mở AWS CloudShell
Trên tab IAM Role, mở AWS CloudShell từ bước Open AWS CloudShell. CloudShell chạy trong trình duyệt nên bạn không cần cài đặt gì.
2
Chạy script thiết lập
Trong Run Setup Script, sao chép script, dán vào CloudShell và chạy. Script tạo role
CloudThinkerCodeCommitAccessRole với trust policy chứa External ID của workspace, rồi in ra role ARN. Quyền yêu cầu hiển thị cả hai policy.Nếu đã có role cùng tên, script giữ nguyên role đó, làm mới trust policy với External ID của bạn và in ra ARN. Script không thay đổi quyền của role đó, nên hãy đối chiếu các quyền đó với policy bên dưới. Trình hướng dẫn cũng liệt kê các bước tương tự dưới dạng lệnh thủ công.3
Dán Role ARN
Dán ARN vào Role ARN và nhấn Connect.Trạng thái thành công: hộp thoại hiển thị Connected cùng số repository mà CloudThinker truy cập được.
Gửi sự kiện pull request đến Review
Review không bắt đầu trên pull request mới cho đến khi AWS gửi sự kiện đến Review.1
Chạy script webhook
Trong trình hướng dẫn thiết lập Review, sao chép script từ bước Events. Script đã chứa sẵn webhook URL và secret của bạn. Chạy script trong AWS CloudShell của tài khoản sở hữu các repository.Với mỗi repository trong Region, script tạo các rule Amazon EventBridge tên
CloudThinker-CodeCommit-* cho sự kiện pull request, comment và push. Script cũng tạo một EventBridge connection, một API destination và IAM role CloudThinker-CodeCommit-EventBridgeInvokeRole để gửi sự kiện đến CloudThinker.2
Đánh dấu đã cấu hình
Khi script in ra “Webhook setup complete”, nhấn Mark as Configured trong trình hướng dẫn.Trạng thái thành công: pull request mới nhận được comment tiến độ của CloudThinker. Chạy lại script sau khi bạn thêm repository. Xem xác thực nhà cung cấp để biết chi tiết.
Chi tiết kết nối
Quyền yêu cầu
Script thiết lập gắn một inline policy với các action sau:
Các action CodeCommit áp dụng cho mọi repository (
Resource: "*"). Policy không chứa iam:PassRole.
JSON của trust policy và inline policy
JSON của trust policy và inline policy
Trust policy của IAM role chỉ cho phép AWS principal của CloudThinker assume role, và chỉ khi có External ID của workspace. Trình hướng dẫn tự điền cả hai giá trị.Inline policy, tên
CodeCommitReviewAccess trên role và CodeCommitReviewAccessKeyPolicy trên user dùng access key:Khả năng của agent
Thao tác đọc chạy mà không cần hỏi. Đăng comment lên pull request là thao tác ghi, nên cần bật Allow writes (mặc định bật) và đi qua Rules và Approval mode của bạn trước. Để chặn hoàn toàn thao tác ghi CodeCommit, mở AWS CodeCommit trong More → Workspace settings → Connections và tắt công tắc Allow writes trên bảng chi tiết.
Trên CodeCommit, bạn có thể mention
@cloudthinker-ai kèm câu hỏi hoặc help trong comment cấp cao nhất của pull request. Không hỗ trợ trả lời trong thread, review và autofix. Xem lệnh mention.
Xác minh kết nối
Ví dụ prompt
Khắc phục sự cố
Failed to connect to AWS CodeCommit. Please verify your credentials.
Failed to connect to AWS CodeCommit. Please verify your credentials.
CloudThinker không thể dùng thông tin xác thực. Lần lượt kiểm tra:
Failed to connect to AWS CodeCommit. Please try again.
Failed to connect to AWS CodeCommit. Please try again.
Lỗi không mong đợi đã dừng quá trình kiểm tra. Hãy thử lại. Nếu lỗi lặp lại, liên hệ bộ phận hỗ trợ.
Đã kết nối nhưng chưa tìm thấy repository nào
Đã kết nối nhưng chưa tìm thấy repository nào
Thông tin xác thực hoạt động, nhưng Region đã chọn không có repository nào mà role hoặc user có thể liệt kê. Xác nhận AWS Region và các quyền ở trên đã được gắn.
Thiếu một repository mong đợi
Thiếu một repository mong đợi
Repository đó nằm ở Region khác. Mỗi kết nối chỉ thấy Region được thiết lập cho kết nối đó.
Review không bắt đầu trên pull request mới
Review không bắt đầu trên pull request mới
AWS không gửi sự kiện pull request cho đến khi hoàn tất bước webhook. Chạy script webhook từ trình hướng dẫn, rồi nhấn Mark as Configured. Xem xác thực nhà cung cấp.
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.
- External ID: trust policy của role yêu cầu External ID, giúp ngăn tài khoản AWS khác lừa CloudThinker dùng role của bạn (vấn đề confused deputy). AWS không coi External ID là secret.
- Danh tính chuyên dụng: chỉ dùng role hoặc user do script tạo cho CloudThinker, để bạn có thể thu hồi mà không ảnh hưởng đến mọi thứ khác.
Liên quan
Thiết lập Review
Bật review code tự động cho các repository CodeCommit của bạn.
Xác thực nhà cung cấp
Phương thức xác thực và các bước webhook cho mọi nhà cung cấp Review.