-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new role.allow.request
field called kubernetes_resources
#47173
Conversation
The PR changelog entry failed validation: Changelog entry not found in the PR body. Please add a "no-changelog" label to the PR, or changelog lines starting with |
role.options
field called request_mode.kubernetes_resources
@@ -2664,6 +2666,13 @@ message AccessCapabilitiesRequest { | |||
bool FilterRequestableRolesByResource = 6 [(gogoproto.jsontag) = "filter_requestable_roles_by_resource,omitempty"]; | |||
} | |||
|
|||
message AccessRequestMode { | |||
repeated KubernetesResource KubernetesResources = 1 [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use a dedicated type for this setting?
Reusing the KubernetesResource
gives confusion because you can set a lot of data that isn't allowed
ae41067
to
b03a2f3
Compare
945322f
to
70ecfbb
Compare
friendly ping @tigrato @nklaassen |
70ecfbb
to
352dbb1
Compare
352dbb1
to
ec9b6a8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add unmarshal from/to yaml of roles with this section defined?
4892231
to
f987020
Compare
i made a few adjustments based on review: the request mode found on the same role as the search as roles will be enforced:
|
f987020
to
7988cc6
Compare
449ca3d
to
415537c
Compare
415537c
to
7f0453e
Compare
b98a970
to
51998b5
Compare
51998b5
to
d69b2f5
Compare
🤖 Vercel preview here: https://docs-6onolp5ve-goteleport.vercel.app/docs/ver/preview |
d69b2f5
to
f8dc68e
Compare
🤖 Vercel preview here: https://docs-dnfaf44ij-goteleport.vercel.app/docs/ver/preview |
@kimlisa - this PR will require admin approval to merge due to its size. Consider breaking it up into a series smaller changes. |
🤖 Vercel preview here: https://docs-5jy8ahdem-goteleport.vercel.app/docs/ver/preview |
…47173) * Add a new role.allow.request field called kubernetes_resources * Fix lint: update terraform docs
…47173) * Add a new role.allow.request field called kubernetes_resources * Fix lint: update terraform docs
…47173) * Add a new role.allow.request field called kubernetes_resources * Fix lint: update terraform docs
#48387) * Add a new `role.allow.request` field called `kubernetes_resources` (#47173) * Add a new role.allow.request field called kubernetes_resources * Fix lint: update terraform docs * Apply request.kubernetes_resources allow/deny settings when querying for kube resources (#48196) * Apply request.kubernetes_resources allow/deny when querying for kube resources * Address CR * Replace unsupported library funcs * Add missing role conditions getter
part of #46742
rfd: #46691
Defines a new
role.allow.request
field calledkubernetes_resources
.For now it holds a field
kubernetes_resources
that follows same format as existing allow.kubernetes_resources, except the only field we support in the options field isKind
(defining other fields will reject the role upserting actions).The
Kind
allows admins to define what kube subresources a user can request during request creation and disallow requesting request forkube_cluster
. It allows thewildcard
to mean allow request to any kube subresources.If
role.allow.request.kubernetes_resources
is not defined, or length 0, it means a user can request forkube_cluster
or any of its subresources.example, if requester role says:
requesting kind
kube_cluster
is denied:requesting kind
pod
is denied:requesting kind
namespace
is allowed:wildcard example output:
changelog: Define a new
role.allow.request
field calledkubernetes_resources
that allows admins to define what kinds of Kubernetes resources a requester can make.