Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
Cette page n'est pas encore disponible en français, sa traduction est en cours. Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.
Roles and ClusterRoles that are bound to a ServiceAccount should not include the get, list, watch, or * verbs on the secrets resource. The rule triggers when a Role or ClusterRole contains a rule for the secrets resource and a corresponding RoleBinding or ClusterRoleBinding references a ServiceAccount. This prevents unintended or broad access to secrets by disallowing these read or wildcard verbs for bound roles.
Compliant Code Examples
# Vulnerable Role Without Bindingkind:RoleapiVersion:rbac.authorization.k8s.io/v1metadata:namespace:assembly-prodname:testRoleWithoutBindingVulnerablerules:- apiGroups:[""]resources:["secrets"]verbs:["get","watch","list"]---# Vulnerable Role With Binding Not Service Accountkind:RoleapiVersion:rbac.authorization.k8s.io/v1metadata:namespace:assembly-prodname:testRoleWithBindingVulnerableNotSArules:- apiGroups:[""]resources:["secrets"]verbs:["get","watch","list"]---kind:RoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name:bindingNotSATestRoleWithBindingVulnerablenamespace:bindingNotSATestRoleWithBindingVulnerableNamespacesubjects:- kind:NotServiceAccountname:testsaapiGroup:""roleRef:kind:Rolename:testRoleWithBindingVulnerableNotSAapiGroup:rbac.authorization.k8s.io---# Safe Role With Bindingkind:RoleapiVersion:rbac.authorization.k8s.io/v1metadata:namespace:assembly-prodname:testRoleWithBindingSaferules:- apiGroups:[""]resources:["secrets"]verbs:["update"]---kind:RoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name:bindingtestRoleWithBindingSafenamespace:bindingtestRoleWithBindingSafeNamespacesubjects:- kind:ServiceAccountname:testsaapiGroup:""roleRef:kind:Rolename:testRoleWithBindingSafeapiGroup:rbac.authorization.k8s.io---# Vulnerable Role with Podkind:RoleapiVersion:rbac.authorization.k8s.io/v1metadata:namespace:assembly-prodname:testRoleVulnerablePodrules:- apiGroups:[""]resources:["pod"]verbs:["get","watch","list"]---kind:RoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name:testRoleBindingnamespace:bindingTestWithBindingPodsubjects:- kind:ServiceAccountname:testsaapiGroup:""roleRef:kind:Rolename:testRoleVulnerablePodapiGroup:rbac.authorization.k8s.io---# Vulnerable Cluster Role Without BindingapiVersion:rbac.authorization.k8s.io/v1kind:ClusterRolemetadata:name:testClusterRoleWithoutBindingVulnerablerules:- apiGroups:[""]resources:["secrets"]verbs:["get","watch","list"]---# Vulnerable Cluster Role With Binding Not Service AccountapiVersion:rbac.authorization.k8s.io/v1kind:ClusterRolemetadata:namespace:defaultname:testClusterRoleWithBindingVulnerableNotSArules:- apiGroups:[""]# "" indicates the core API groupresources:["secrets"]verbs:["get","watch","list"]---kind:ClusterRoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name:bindingNotSATestClusterRoleWithBindingVulnerablenamespace:bindingNotSATestClusterRoleWithBindingVulnerableNamespacesubjects:- kind:NotServiceAccountname:testsaapiGroup:""roleRef:kind:ClusterRolename:testClusterRoleWithBindingVulnerableNotSAapiGroup:rbac.authorization.k8s.io---# Safe ClusterRole With BindingapiVersion:rbac.authorization.k8s.io/v1kind:ClusterRolemetadata:namespace:defaultname:testClusterRoleWithBindingSaferules:- apiGroups:[""]# "" indicates the core API groupresources:["secrets"]verbs:["update"]---kind:ClusterRoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name:bindingTestClusterRoleWithBindingSafenamespace:bindingTestClusterRoleWithBindingSafeNamespacesubjects:- kind:NotServiceAccountname:testsaapiGroup:""roleRef:kind:ClusterRolename:testClusterRoleWithBindingSafeapiGroup:rbac.authorization.k8s.io---# Vulnerable Cluster Role With PodapiVersion:rbac.authorization.k8s.io/v1kind:ClusterRolemetadata:name:testClusterRoleVulnerablePodrules:- apiGroups:[""]resources:["pod"]verbs:["update","list"]---kind:ClusterRoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name:bindingTestClusterRoleWithBindingnamespace:bindingTestClusterRoleWithBindingNamespacesubjects:- kind:ServiceAccountname:testsaapiGroup:""roleRef:kind:ClusterRolename:testClusterRoleVulnerablePodapiGroup:rbac.authorization.k8s.io