Provided by: condor_23.4.0+dfsg-1ubuntu4.1_amd64 bug

NAME

       condor_token_create - HTCondor Manual

       given a password file, create an authentication token for the IDTOKENS authentication method

SYNOPSIS

       condor_token_create  -identity  user@domain  [-key  keyid]  [-authz  authz ...] [-lifetime value] [-token
       filename] [-debug]

       condor_token_create [-help ]

DESCRIPTION

       condor_token_create will read an HTCondor password file inside the  SEC_PASSWORD_DIRECTORY  (by  default,
       this is the pool password) and use it to create an authentication token.  The authentication token may be
       subsequently used by clients to authenticate against a remote HTCondor server.  Tokens allow fine-grained
       authentication  as individual HTCondor users as opposed to pool password, where anything in possession of
       the pool password will authenticate as the same user.

       An identity must be specified for the token; this will be the client's resulting identity at  the  remote
       HTCondor  server.  If the -lifetime or (one or more) -authz options are specified, the token will contain
       additional restrictions that limit what the client will be authorized to do.  If an attacker is  able  to
       access the token, they will be able to authenticate with the identity listed in the token (subject to the
       restrictions above).

       If  successful,  the  resulting  token  will  be sent to stdout; by specifying the -token option, it will
       instead be written to the user's token directory.   If  written  to  SEC_TOKEN_SYSTEM_DIRECTORY  (default
       /etc/condor/tokens.d), then the token can be used for daemon-to-daemon authentication.

       condor_token_create is only currently supported on Unix platforms.

OPTIONS

          -authz authz
                 Adds  a restriction to the token so it is only valid to be used for a given authorization level
                 (such as READ, WRITE, DAEMON, ADVERTISE_STARTD).  If multiple authorizations are  needed,  then
                 -authz  must  be  specified  multiple  times.   If  -authz  is  not specified, no authorization
                 restrictions are added and authorization will be solely based on the  token's  identity.   NOTE
                 that  -authz  cannot be used to give an identity additional permissions at the remote host.  If
                 the server's admin only permits the user READ authorization, then specifying -authz WRITE in  a
                 token will not allow the user to perform writes.

          -debug Causes  debugging  information  to  be  sent to stderr, based on the value of the configuration
                 variable TOOL_DEBUG.

          -help  Display brief usage information and exit.

          -identity user@domain
                 Set a specific client identity to be written into the token; a client will authenticate as this
                 identity with a remote server.

          -key keyid
                 Specify a key  file  to  use  under  the  directory  specified  by  the  SEC_PASSWORD_DIRECTORY
                 configuration  variable.  The  key name must match a file in the password directory; the file's
                 contents must be created with condor_store_cred and will be used to sign the  resulting  token.
                 If -key is not set, then the default pool password will be used.

          -lifetime value
                 Specify the lifetime, in seconds, for the token to be valid (the token validity will start when
                 the token is signed).  After the lifetime expires, the token cannot be used for authentication.
                 If not specified, the token will contain no lifetime restrictions.

          -token filename
                 Specifies  a  filename,  relative  to  the  directory  in the SEC_TOKEN_DIRECTORY configuration
                 variable (for example, on Linux this defaults to ~/.condor/tokens.d), where the resulting token
                 is stored.  If not specified, the token will be sent to stdout.

EXAMPLES

       To create a token for jane@cs.wisc.edu with no additional restrictions:

          $ condor_token_create -identity jane@cs.wisc.edu
          eyJhbGciOiJIUzI1NiIsImtpZCI6Il....bnu3NoO9BGM

       To  create  a  token  for  worker-node@cs.wisc.edu  that  may  advertise  either  a  condor_startd  or  a
       condor_master:

          $ condor_token_create -identity worker-node@cs.wisc.edu \
                                -authz ADVERTISE_STARTD \
                                -authz ADVERTISE_MASTER
          eyJhbGciOiJIUzI1NiIsImtpZC.....8wkstyj_OnM0SHsOdw

       To  create  a  token  for  friend@cs.wisc.edu  that  is only valid for 10 minutes, and then to save it to
       ~/.condor/tokens.d/friend:

          $ condor_token_create -identity friend@cs.wisc.edu -lifetime 600 -token friend

       If the administrator would like to create a specific key for signing tokens, token_key, distinct from the
       default pool password, they would first use condor_store_cred to create the key:

          $ openssl rand -base64 32 | condor_store_cred -f /etc/condor/passwords.d/token_key

       Note, in this case, we created a random 32 character key using SSL instead of providing a  human-friendly
       password.

       Next, the administrator would run run condor_token_create:

          $ condor_token_create -identity frida@cs.wisc.edu -key token_key
          eyJhbGciOiJIUzI1NiIsImtpZCI6I.....eyJpYXQiOUzlN6QA

       If the token_key file is deleted from the SEC_PASSWORD_DIRECTORY, then all of the tokens issued with that
       key will be invalidated.

EXIT STATUS

       condor_token_create  will  exit  with a non-zero status value if it fails to read the password file, sign
       the token, write the output, or experiences some other error.  Otherwise, it will exit 0.

SEE ALSO

       condor_store_cred(1), condor_token_fetch(1), condor_token_request(1), condor_token_list(1)

AUTHOR

       Center for High Throughput Computing, University of Wisconsin-Madison

AUTHOR

       HTCondor Team

COPYRIGHT

       1990-2024, Center for High Throughput Computing, Computer Sciences Department, University  of  Wisconsin-
       Madison, Madison, WI, US. Licensed under the Apache License, Version 2.0.

                                                  Aug 25, 2024                            CONDOR_TOKEN_CREATE(1)