secrets
ak secrets request
Xin người vận hành cấp quyền truy cập một secret mà không release nó.
Dùng ak secrets request từ một agent đã tìm được credential bằng
ak secrets search và ak secrets describe
và muốn xin quyền trước khi dùng. Yêu cầu nằm chờ trong cùng hộp duyệt mà một
lần resolve bị từ chối đổ vào, để người vận hành trả lời bằng
ak secrets approve.
Một yêu cầu không bao giờ release hay đọc giá trị, không bao giờ ghi grant, và không bao giờ tiêu một allow-once; chỉ câu trả lời của người vận hành mới cấp quyền.
Cách dùng
ak secrets request <ref> [--purpose <text>] [--project <slot>] [--session <id>] [--exec <program> --env <VAR>]Phải có đúng một ref.
| Cờ | Mặc định | Mô tả |
|---|---|---|
--purpose <text> | rỗng | Lý do cần secret; hiện cho người vận hành và được grant so khớp nguyên văn. Tối đa 200 ký tự. |
--project <slot> | AK project chứa thư mục hiện tại | Project slot mà yêu cầu thuộc về. |
--session <id> | không | Session id gắn yêu cầu này với lần chạy agent đã tạo ra nó. |
--exec <program> | không | Chương trình mà secret được xin cho, theo tên trên PATH hoặc theo đường dẫn; biến đây thành exec scope. Cần --env. |
--env <VAR> | không | Biến môi trường mà chương trình nhận secret qua đó. Cần --exec. |
--backend <backend> | keychain | Backend có index được đọc: keychain, file hoặc memory. |
Bên gọi được nhận diện giống cách ak secrets resolve nhận diện, bằng cách đi
ngược chuỗi tiến trình cha tới một agent được nhận biết và băm binary của nó;
yêu cầu từ một agent không xác định được bị từ chối. Không gì trong profile của
secret được đọc để quyết định một yêu cầu, và không grant nào được kế thừa từ
profile: yêu cầu cho một scope được đáp bằng grant trên đúng scope đó.
--exec cùng --env xin một exec scope: giá trị chỉ được giao vào biến môi
trường đó của chương trình mà --exec nêu tên, ghim theo đường dẫn đã giải và
hash nội dung của nó, dành cho ak secrets run. Shell,
launcher và các biến điều khiển loader, runtime hoặc endpoint mạng bị từ chối.
Các yêu cầu lặp lại cho cùng một scope chỉ là một mục trong hộp duyệt, và bên
gọi hỏi quá thường xuyên bị từ chối cho tới khi hết cool-down.
Lệnh đọc index của secrets và file grant. Khi không có grant nào bao phủ scope, lệnh đưa yêu cầu vào hộp duyệt và ghi một dòng vào audit ledger của secrets; scope bị block ghi một dòng block. Lệnh không bao giờ đọc hay in giá trị.
Đầu ra
Stdout cho người dùng in trạng thái và ref ở dòng đầu (pending <ref> hoặc
granted <ref>), rồi fingerprint của agent, project, purpose, exec scope nếu
có xin, các cảnh báo nếu có, và một dòng next cho biết điều gì diễn ra tiếp.
JSON thành công dùng:
schema_version: 1
kind: secrets.request
data.ref
data.project
data.purpose
data.fingerprint
data.agentLabel?
data.exec?
data.status: pending | granted
data.warnings?[]
data.nextstatus là pending khi yêu cầu đang chờ người vận hành và granted khi đã
có grant bao phủ scope; cả hai trường hợp đều không release gì. exec chỉ có
với exec scope và nêu chương trình đã giải, hash của nó và biến môi trường.
Kết quả và mã thoát
| Mã thoát | Ý nghĩa |
|---|---|
0 | Yêu cầu đang chờ người vận hành, hoặc đã có grant bao phủ. |
2 | Cờ, purpose, ref, chương trình exec hoặc tên biến env không hợp lệ. |
3 | Không có secret với ref đó. |
5 | Không dùng được index, file grant, hộp duyệt hoặc audit ledger. |
6 | Một block từ chối bên gọi, hoặc không xác định được danh tính của nó. |
9 | Bên gọi hỏi quá thường xuyên và đang trong cool-down. |
15 | Một policy của vault đã sync từ chối lần release này, hoặc không trả lời được là có policy nào chi phối nó hay không; sync.reason trong lỗi JSON nêu lý do. |