OC-AUTH-CAN-I(1)
πΈ oc auth can-i β OC AUTH(1) πΈ
Hey bestie, welcome to the OC AUTH(1) manual π this is the page for oc auth can-i, and itβs literally your permission vibe check. Letβs get into it π«Ά
β¨ NAME β¨
oc auth can-i β check whether an action is allowed π
π¦ SYNOPSIS π¦
oc auth can-i [OPTIONS]
π DESCRIPTION π
Okay so this command checks whether an action is allowed. Thatβs the whole main character job β¨
Hereβs the cast of characters you might pass in:
VERBis a logical Kubernetes API verb like'get','list','watch','delete', etc.TYPEis a Kubernetes resource. Shortcuts and groups will be resolved.NONRESOURCEURLis a partial URL that starts with"/".NAMEis the name of a particular Kubernetes resource.
This command pairs nicely with impersonation. See the --as global flag π
π OPTIONS π
-A,--all-namespaces=falseβ if true, check the specified action in all namespaces.--list=falseβ if true, prints all allowed actions.--no-headers=falseβ if true, prints allowed actions without headers.-q,--quiet=falseβ if true, suppress output and just return the exit code.--subresource=""β SubResource such aspod/logordeployment/scale.
π OPTIONS INHERITED FROM PARENT COMMANDS π
These are the parent-command flags you also get, because inheritance is a thing and she ate π
--as=""β Username to impersonate for the operation. User could be a regular user or a service account in a namespace.--as-group=[]β Group to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid=""β UID to impersonate for the operation.--as-user-extra=[]β User extras to impersonate for the operation, this flag can be repeated to specify multiple values for the same key.--cache-dir="/homeless-shelter/.kube/cache"β Default cache directory.--certificate-authority=""β Path to a cert file for the certificate authority.--client-certificate=""β Path to a client certificate file for TLS.--client-key=""β Path to a client key file for TLS.--cluster=""β The name of the kubeconfig cluster to use.--context=""β The name of the kubeconfig context to use.--disable-compression=falseβ If true, opt-out of response compression for all requests to the server.--insecure-skip-tls-verify=falseβ If true, the serverβs certificate will not be checked for validity. β οΈ This will make your HTTPS connections insecure.--kubeconfig=""β Path to the kubeconfig file to use for CLI requests.--kuberc=""β Path to the kuberc file to use for preferences. This can be disabled by exportingKUBECTL_KUBERC=falsefeature gate or turning off the featureKUBERC=off.--match-server-version=falseβ Require server version to match client version.-n,--namespace=""β If present, the namespace scope for this CLI request.--profile="none"β Name of profile to capture. One of(none|cpu|heap|goroutine|threadcreate|block|mutex).--profile-output="profile.pprof"β Name of the file to write the profile to.--request-timeout="0"β The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g.1s,2m,3h). A value of zero means donβt timeout requests.-s,--server=""β The address and port of the Kubernetes API server.--tls-server-name=""β Server name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used.--token=""β Bearer token for authentication to the API server.--user=""β The name of the kubeconfig user to use.--warnings-as-errors=falseβ Treat warnings received from the server as errors and exit with a non-zero exit code.
π₯ EXAMPLE π₯
Demo time, bestie β here are the exact commands, no cap π§
# Check to see if I can create pods in any namespace
oc auth can-i create pods --all-namespaces
# Check to see if I can list deployments in my current namespace
oc auth can-i list deployments.apps
# Check to see if service account "foo" of namespace "dev" can list pods in the namespace "prod"
# You must be allowed to use impersonation for the global option "--as"
oc auth can-i list pods --as=system:serviceaccount:dev:foo -n prod
# Check to see if I can do everything in my current namespace ("*" means all)
oc auth can-i '*' '*'
# Check to see if I can get the job named "bar" in namespace "foo"
oc auth can-i list jobs.batch/bar -n foo
# Check to see if I can read pod logs
oc auth can-i get pods --subresource=log
# Check to see if I can access the URL /logs/
oc auth can-i get /logs/
# Check to see if I can approve certificates.k8s.io
oc auth can-i approve certificates.k8s.io
# List all allowed actions in namespace "foo"
oc auth can-i --list --namespace=foo
π SEE ALSO π
oc-auth(1),β the related manual page, bestie π«Ά
π HISTORY π
June 2016, Ported from the Kubernetes man-doc generator β¨ iconic origin story, honestly.
π«Ά thatβs the whole page β source/version: Openshift Β· Openshift CLI User Manuals Β· OC AUTH(1) Β· date: June 2016 π«Ά
π¦ where this page comes from
- nixpkgs unstable: openshift 4.22.0-202605222050
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms