AgentKit
Tài liệuBộ kitTham chiếu CLIỨng dụng Desktop

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 địnhMô tả
--purpose <text>rỗngLý 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ạiProject slot mà yêu cầu thuộc về.
--session <id>khôngSession id gắn yêu cầu này với lần chạy agent đã tạo ra nó.
--exec <program>khôngChươ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ôngBiến môi trường mà chương trình nhận secret qua đó. Cần --exec.
--backend <backend>keychainBackend 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.next

status 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
0Yêu cầu đang chờ người vận hành, hoặc đã có grant bao phủ.
2Cờ, purpose, ref, chương trình exec hoặc tên biến env không hợp lệ.
3Không có secret với ref đó.
5Không dùng được index, file grant, hộp duyệt hoặc audit ledger.
6Một block từ chối bên gọi, hoặc không xác định được danh tính của nó.
9Bên gọi hỏi quá thường xuyên và đang trong cool-down.
15Mộ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.

Lệnh liên quan