IaC và phê duyệt
IaC (Infrastructure as Code) trong Access Hub là cách mô tả tài nguyên cần tạo hoặc sửa bằng manifest YAML. Mỗi yêu cầu được lập kế hoạch, đi qua workflow phê duyệt (nếu có), rồi mới được áp dụng vào dữ liệu thật. Trang này hướng dẫn nộp yêu cầu bằng giao diện và API, cấu hình phê duyệt và SLA, và áp dụng yêu cầu.
Trước khi bắt đầu
iac.submit để nộp yêu cầuiac.apply nếu muốn áp dụng yêu cầuLuồng xử lý
- Nộp: bạn gửi một hoặc nhiều manifest (tối đa 25 mục trong một yêu cầu).
- Lập kế hoạch: hệ thống kiểm tra từng manifest và xác định hành động
create,updatehoặcunchanged. - Phê duyệt: mỗi tài nguyên khớp một workflow bị giữ lại chờ duyệt. Tài nguyên không khớp workflow nào áp dụng được ngay.
- Áp dụng: khi không còn bước chờ, người có quyền
iac.applyáp dụng yêu cầu. Một yêu cầu đã áp dụng là bất biến. - Ghi nhận: thay đổi nằm trong nhật ký kiểm toán, có thể xuất Excel theo mẫu nghiệp vụ.
Manifest YAML
Mỗi manifest dùng apiVersion: infra/v1, một kind, phần metadata và phần spec.
apiVersion: infra/v1
kind: Server
metadata:
name: web-prod-20
spec:
hostname: web-prod-20.corp.local
ipAddress: 10.20.1.30
environment: prod
role: web
platform: linuxMột tệp có thể chứa nhiều tài liệu YAML, ngăn cách bằng ---.
Các loại tài nguyên
| Thư mục trong path | kind trong YAML |
|---|---|
server | Server |
subnet | Subnet |
connection | Connection |
pam-account | PamAccount |
proxy | Proxy |
proxy-target | ProxyTarget |
domain | Domain |
dns-record | DnsRecord |
f5-device | F5Device |
f5-virtual-port | F5VirtualPort |
f5-pool-member | F5PoolMember |
ssl-certificate | SslCertificate |
Cảnh báo: Một yêu cầu, một loại tài nguyên
Một yêu cầu chỉ được khai báo một kind. Bạn được gửi nhiều bản ghi cùng loại, nhưng trộn hai loại sẽ bị từ chối ngay khi lập kế hoạch. Mục đích là mỗi yêu cầu có một luồng phê duyệt rõ ràng.
Danh tính và tái nộp
Danh tính thật của một tài nguyên là metadata.name. Nộp lại cùng tên với nội dung mới cho ra action: update thay vì tạo trùng. Mã reference của yêu cầu (ví dụ SRV-20260922-0007) chỉ để tra cứu và luôn mới ở mỗi lần nộp.
kind: Connection là ngoại lệ: tên do hệ thống tự sinh theo mẫu fw-{chiều}-{máy chủ}-{đối tác}-{giao thức}-{cổng}. Đổi một trong các trường đó nghĩa là tạo một kết nối khác.
Nộp yêu cầu bằng giao diện
Có hai cách trong menu Hạ tầng dạng mã, Yêu cầu IaC.
Bằng biểu mẫu
Không cần biết YAML. Làm theo ba bước:
- Chọn loại tài nguyên bằng các thẻ. Chỉ hiện các loại công ty của bạn được phép yêu cầu.
- Điền thông tin. Ô chọn bản ghi (máy chủ, dải mạng, tên miền, người dùng) gợi ý khi bạn gõ.
- Kiểm tra và gửi bằng Tạo yêu cầu, hoặc Tạo và áp dụng.
Bằng YAML
Dùng nút Tạo bằng YAML. Bạn tải tệp lên, bắt đầu từ một mẫu có sẵn (Server, Connection, Domain...) hoặc dán YAML trực tiếp. Các trường nhận giá trị cố định (như environment, role) có ô chọn nhanh phía trên khung YAML.
Mẹo: Áp dụng ngay
Tick "Áp dụng ngay nếu kế hoạch hợp lệ" để áp dụng luôn sau khi lập kế hoạch. Tùy chọn này chỉ có hiệu lực khi không có bước nào cần phê duyệt và bạn có quyền iac.apply.
Nộp yêu cầu bằng API
Endpoint dùng chung engine lập kế hoạch và áp dụng với giao diện, nên mọi quy tắc kiểm tra, phê duyệt và giới hạn loại IaC theo công ty đều giống hệt. Token cần các quyền iac.submit, và iac.apply nếu muốn áp dụng.
curl -X POST https://<your-hub-host>/api/v1/iac/runs \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"title": "Onboard web-prod-20",
"apply": false,
"manifests": [
{
"path": "server/acme/web-prod-20.yml",
"contents": "apiVersion: infra/v1\nkind: Server\nmetadata:\n name: web-prod-20\nspec:\n hostname: web-prod-20.corp.local\n ipAddress: 10.20.1.30\n environment: prod\n role: web\n platform: linux\n"
}
]
}'Phản hồi thành công (201):
{
"data": {
"id": "...",
"reference": "SRV-20260922-0007",
"status": "planned",
"items": [
{ "identifier": "Server/web-prod-20", "kind": "Server", "action": "create", "errors": null }
]
}
}Chi tiết trường path, mã lỗi và các endpoint khác nằm ở REST API v1.
Workflow phê duyệt
Quản trị viên cấu hình workflow trong Quản trị, Workflow phê duyệt. Sau khi lập kế hoạch, mỗi tài nguyên được đối chiếu với các workflow áp dụng cho loại đó.
- Một workflow gồm nhiều track. Mỗi track gồm các bước tuần tự (ví dụ quản lý trực tiếp duyệt trước, rồi người cấp cao hơn).
- Các track chạy song song, trừ track được cấu hình chỉ bắt đầu sau khi một hay nhiều track khác xong.
- Người tạo yêu cầu, nếu đủ điều kiện duyệt một bước, được tự duyệt bước đó.
- Sửa một workflow đã có yêu cầu sẽ tạo phiên bản mới.
Khung giờ làm việc và SLA
Khung giờ làm việc (Quản trị, Khung giờ làm việc) khai báo múi giờ, các khoảng giờ theo thứ trong tuần và ngày lễ. Hạn SLA của bước chỉ đếm trong giờ làm việc.
| Thiết lập | Ý nghĩa |
|---|---|
| SLA mặc định của workflow | Áp cho mọi bước ở chế độ "Theo workflow" |
| Chế độ SLA của bước | "Theo workflow", "Riêng cho bước" hoặc "Không có SLA" |
| Khung giờ làm việc | Để trống thì đếm liên tục 24/7 |
Khung giờ có phiên bản. Mỗi bước nhớ phiên bản hiệu lực lúc bước tới lượt, nên đổi giờ làm việc không làm lệch hạn của yêu cầu đang chạy.
Thông báo SLA
Tab Thông báo của workflow có bốn mốc, mỗi mốc bật hoặc tắt được: nhắc trước hạn (mặc định 4 giờ), thông báo đúng hạn, nhắc khi quá hạn (mặc định 24 giờ, lặp mỗi 24 giờ tối đa 3 lần) và leo thang lên nhóm quản lý (48 giờ sau hạn). Nếu workflow có webhook, nhắc trước hạn gửi sự kiện step.due_soon, các thông báo còn lại gửi step.overdue.
Duyệt yêu cầu
- Mục Cần tôi duyệt liệt kê mọi bước đang chờ bạn quyết định, sắp theo mức quá hạn. Tab Lịch sử ghi lại mọi quyết định của bạn.
- Màn hình xét duyệt hiển thị thông tin đã diễn giải (tài nguyên nào, thay đổi gì) thay vì YAML thô, kèm sơ đồ luồng các track và bước. Màu sơ đồ: xanh đã duyệt, vàng đang chờ, cam quá hạn, xám chưa tới lượt, đỏ bị từ chối.
- Bạn viết ghi chú định dạng và đính kèm tệp làm bằng chứng khi duyệt hoặc từ chối.
Áp dụng và xuất Excel
Yêu cầu chỉ áp dụng được khi không còn bước chờ. Trên trang chi tiết, nhấn Áp dụng yêu cầu. Việc áp dụng chạy nền ở lane iac; nếu lần áp dụng gần nhất lỗi, trang hiện banner kèm nội dung lỗi và cho thử lại.
Cảnh báo: Áp dụng không hoàn tác được
Một yêu cầu đã áp dụng là bất biến. Muốn thay đổi tiếp, nộp một yêu cầu mới.
Nút Xuất Excel xuất yêu cầu theo mẫu nghiệp vụ: phiếu hỗ trợ firewall cho Connection, phiếu hỗ trợ PAM cho PamAccount, và một sheet "DNS Record Request" cho DnsRecord. Việc xuất chạy ở lane exports.
Bước tiếp theo
- Tra cứu endpoint đầy đủ ở REST API v1.
- Hiểu quyền
iac.*ở Khái niệm.