Conversation
…t approval requests This adds a new RBAC permission that allows non-admin users to view all secret approval requests in a project. Without this permission, users only see requests where they are the committer or an approver (existing behavior). - Add ProjectPermissionSecretApprovalRequestActions enum with Read action - Add SecretApprovalRequest subject to ProjectPermissionSub - Update secret-approval-request service to check new permission for list/details - Grant permission to Admin role by default - Add UI for permission in role editor (Secret Manager projects only) - Secret values remain filtered by normal secret permissions (secretValueHidden) Co-authored-by: Cursor <cursoragent@cursor.com>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Greptile OverviewGreptile SummaryAdded Key Changes:
Security Model:
Confidence Score: 5/5
Important Files Changed
|
|
Didn't add the Describe permission since it would be essentially the same as read.. since read does not allow users to see secret value by default, unless they have permission to see that secret |
backend/src/ee/services/secret-approval-request/secret-approval-request-dal.ts
Show resolved
Hide resolved
Additional Comments (3)
In
In Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time! |
Disable various license features including secret access insights, secret approval, secret rotation, enterprise secret syncs, and external branding.
scott-ray-wilson
left a comment
There was a problem hiding this comment.
Functionally this works great! few comments and thoughts
frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx
Outdated
Show resolved
Hide resolved
frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx
Show resolved
Hide resolved
…r non-approvers - Use existing Approval Requests (Read) for listing secret approval requests - Remove SecretApprovalRequest permission; mask diff view by default with eye toggle - Hide Review button for non-approvers; skip permissions with no actions in form Co-authored-by: Cursor <cursoragent@cursor.com>
…licies Co-authored-by: Cursor <cursoragent@cursor.com>
…ants in Secret Manager - Restore ProjectPermissionSub.SecretApprovalRequest with Read action (backend + frontend) - Use SecretApprovalRequest.Read in secret-approval-request-service for list/count/details - Grant SecretApprovalRequest.Read to Admin in default-roles - Add Secret Approval Requests policy to role editor (Secret Manager only) - Filter out Approval Requests and Approval Request Grants from Secret Manager project role UI - Keep hide Review button for non-approvers (unchanged) Co-authored-by: Cursor <cursoragent@cursor.com>
- Document secret-approval-request subject (Read action, Secret Manager only) - Fix note under secret-approval to reference secret-approval-request instead of approval-requests Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
frontend/src/pages/project/RoleDetailsBySlugPage/components/ProjectRoleModifySection.utils.tsx
Outdated
Show resolved
Hide resolved
...pprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChangeItem.tsx
Show resolved
Hide resolved
scott-ray-wilson
left a comment
There was a problem hiding this comment.
LGTM, tested permission behavior with outlined scenarios
Context
Resolves SECRETS-72
Adds
SecretApprovalRequest.Readpermission that allows users to view all secret approval requests in a project, not just ones where they are committer or approver.SecretApprovalRequest.ReadNote: Secret values still respect
secret.ReadValuepermissions per environment/path. Admins get this permission by default.Screenshots
Steps to verify the change
Test Case 1: No Permission (Default)
SecretApprovalRequestpermissionsTest Case 2: Read Permission
SecretApprovalRequest.ReadSecrets.ReadValuefor/dev/but NOT/prod/)/dev/and/prod//dev/have values visible/prod/have values masked as<hidden-by-infisical>Test Case 3: Admin Role
Test Case 4: Committer/Approver Access (Unchanged)
Test Case 5: Mixed Secrets with Different Permissions
SecretApprovalRequest.Read+Secrets.ReadValuefor/dev/only/dev/api/and/prod/database//dev/api/shows its value/prod/database/shows value masked as<hidden-by-infisical>Type
Checklist