-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoidc-service-auth.json
More file actions
88 lines (88 loc) · 2.28 KB
/
Copy pathoidc-service-auth.json
File metadata and controls
88 lines (88 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{
"version": "0.2",
"identity_profiles": [
{
"id": "api-service",
"provider": "oidc-client-credentials",
"subject": {
"kind": "service",
"principal": "agent://example.com/api-service",
"display_name": "API Service Agent"
},
"auth": {
"mode": "service",
"scopes": ["api.read", "api.write"],
"audience": "https://api.example.com",
"cache": "none",
"refresh": "never",
"required": true,
"provider_config": {
"token_endpoint": "https://auth.example.com/oauth2/token",
"client_id": "api-service-agent"
},
"inputs": {
"client_secret": {
"value_from": { "env": "API_CLIENT_SECRET" }
}
}
},
"trust": {
"level": "supervised",
"constraints": {
"max_autonomy": "supervised",
"escalation": "fail"
}
},
"presentation": {
"bindings": [
{
"source": "credentials.access_token.value",
"target": { "kind": "env", "name": "API_ACCESS_TOKEN" },
"required": true,
"redact": true
}
],
"handoff": "none",
"cleanup": "always"
}
}
],
"evidence_profiles": [
{
"id": "ssh-proof",
"provider": "ssh",
"payload": {
"bind": ["execution_id", "declared_identity", "command", "result"],
"format": "canonical-json"
},
"verify": { "required": false }
}
],
"workflows": [
{
"id": "api-sync",
"name": "API Data Sync",
"identity": { "ref": "api-service" },
"contract": {
"sandbox": "permissive",
"network": "unrestricted",
"audit": "always",
"required_trust_level": "supervised",
"trust_enforcement": "strict"
},
"tasks": [
{
"id": "fetch-data",
"name": "Fetch Data from API",
"shell": {
"program": "sh",
"args": ["-lc", "curl -H \"Authorization: Bearer $API_ACCESS_TOKEN\" https://api.example.com/data"]
},
"target": { "session_target": "shell" },
"evidence": { "ref": "ssh-proof" },
"schedule": { "cron": "0 */6 * * *" }
}
]
}
]
}