Skip to content

Commit 5fb8fa3

Browse files
committed
Updates. Next will include ability for agents to approve ztats
1 parent 784706a commit 5fb8fa3

25 files changed

+974
-122
lines changed

.gcp.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SENTRIUS_VERSION=1.0.44
1+
SENTRIUS_VERSION=1.0.45
22
SENTRIUS_SSH_VERSION=1.0.4
33
SENTRIUS_KEYCLOAK_VERSION=1.0.7
44
SENTRIUS_AGENT_VERSION=1.0.18

api/dynamic.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ sshEnabled=true
77
systemLogoName=Sentrius
88
AccessTokenAuditor.rule.4=io.sentrius.sso.automation.auditing.rules.OpenAISessionRule;Malicious AI Monitoring
99
AccessTokenAuditor.rule.5=io.sentrius.sso.automation.auditing.rules.TwoPartyAIMonitor;AI Second Party Monitor
10+
AccessTokenAuditor.rule.6=io.sentrius.sso.automation.auditing.rules.SudoApproval;Sudo Approval
1011
allowProxies=true
1112
AccessTokenAuditor.rule.2=io.sentrius.sso.automation.auditing.rules.DeletePrevention;Delete Prevention
1213
AccessTokenAuditor.rule.3=io.sentrius.sso.automation.auditing.rules.TwoPartySessionRule;Require Second Party Monitoring

api/src/main/java/io/sentrius/sso/controllers/view/HostController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ public String connectSSHServer(
202202

203203
model.addAttribute("enclaveConfiguration", config);
204204

205-
return "sso/ssh/secure_shell";
205+
return "sso/ssh/sso";
206206

207207
}
208208

@@ -243,7 +243,7 @@ public String attachSession(
243243

244244
model.addAttribute("enclaveConfiguration", config);
245245

246-
return "sso/ssh/secure_shell";
246+
return "sso/ssh/sso";
247247

248248
}
249249

api/src/main/java/io/sentrius/sso/controllers/view/ZeroTrustATController.java

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package io.sentrius.sso.controllers.view;
22

3+
import java.util.List;
34
import io.sentrius.sso.core.annotations.LimitAccess;
45
import io.sentrius.sso.core.config.SystemOptions;
56
import io.sentrius.sso.core.controllers.BaseController;
7+
import io.sentrius.sso.core.model.dto.JITTrackerDTO;
68
import io.sentrius.sso.core.model.security.enums.ZeroTrustAccessTokenEnum;
79
import io.sentrius.sso.core.model.users.User;
810
import io.sentrius.sso.core.services.ErrorOutputService;
911
import io.sentrius.sso.core.services.ZeroTrustRequestService;
1012
import io.sentrius.sso.core.services.UserService;
13+
import io.sentrius.sso.core.utils.AccessUtil;
14+
import io.sentrius.sso.core.utils.ZTATUtils;
1115
import jakarta.servlet.http.HttpServletRequest;
1216
import jakarta.servlet.http.HttpServletResponse;
1317
import org.springframework.http.ResponseEntity;
@@ -53,13 +57,38 @@ public String viewMyTats(HttpServletRequest request, HttpServletResponse respons
5357
return "sso/ztats/view_my_ztats";
5458
}
5559

60+
61+
List<JITTrackerDTO> decorateTats(List<JITTrackerDTO> tats, User operatingUser){
62+
boolean canApprove = AccessUtil.canAccess(operatingUser, ZeroTrustAccessTokenEnum.CAN_APPROVE_ZTATS);
63+
boolean canDeny = AccessUtil.canAccess(operatingUser, ZeroTrustAccessTokenEnum.CAN_DENY_ZTATS);
64+
if (canApprove || canDeny) {
65+
for (var tat : tats) {
66+
67+
if (tat.getUserName().equals(operatingUser.getUsername())) {
68+
tat.setCurrentUser(true);
69+
if (systemOptions.getCanApproveOwnZtat()) {
70+
tat.setCanApprove(canApprove);
71+
tat.setCanDeny(canDeny);
72+
}
73+
}
74+
else {
75+
tat.setCanApprove(canApprove);
76+
tat.setCanDeny(canDeny);
77+
}
78+
79+
}
80+
}
81+
return tats;
82+
}
83+
5684
private void modelTATs(Model model, User operatingUser){
57-
model.addAttribute("openTerminalTats", ztatRequestService.getOpenAccessTokenRequests(operatingUser));
58-
model.addAttribute("openOpsTats", ztatRequestService.getOpenOpsRequests(operatingUser));
59-
model.addAttribute("approvedTerminalTats", ztatRequestService.getApprovedTerminalAccessTokenRequests(operatingUser));
60-
model.addAttribute("approvedOpsTats", ztatRequestService.getApprovedOpsAccessTokenRequests(operatingUser));
61-
model.addAttribute("deniedOpsTats", ztatRequestService.getDeniedOpsAccessTokenRequests(operatingUser));
62-
model.addAttribute("deniedTerminalTats", ztatRequestService.getDeniedTerminalAccessTokenRequests(operatingUser));
85+
model.addAttribute("openTerminalTats",
86+
decorateTats(ztatRequestService.getOpenAccessTokenRequests(operatingUser),operatingUser));
87+
model.addAttribute("openOpsTats", decorateTats(ztatRequestService.getOpenOpsRequests(operatingUser),operatingUser));
88+
model.addAttribute("approvedTerminalTats", decorateTats(ztatRequestService.getApprovedTerminalAccessTokenRequests(operatingUser),operatingUser));
89+
model.addAttribute("approvedOpsTats", decorateTats(ztatRequestService.getApprovedOpsAccessTokenRequests(operatingUser),operatingUser));
90+
model.addAttribute("deniedOpsTats",decorateTats( ztatRequestService.getDeniedOpsAccessTokenRequests(operatingUser),operatingUser));
91+
model.addAttribute("deniedTerminalTats", decorateTats(ztatRequestService.getDeniedTerminalAccessTokenRequests(operatingUser),operatingUser));
6392
}
6493

6594
}

0 commit comments

Comments
 (0)