-
Notifications
You must be signed in to change notification settings - Fork 218
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
New Auth Implementation #2926
New Auth Implementation #2926
Conversation
…on_auth_volttron
…on_auth_volttron # Conflicts: # volttron/platform/auth.py # volttron/platform/main.py Resolved
Updgrade Non-Auth VOLTTRON to 8.1.1
…lttron into non_auth_volttron
…isplay and not Agent instance. Disabled auth subsystem in volttron agent.
…lttron into non_auth_volttron Keeping main the same for now to avoid conflicts with multi-router.
TODO: Finish re-implementation of zap loop. TODO: Update RMQ backwards compatibility with ZMQ through ZMQAuthorization TODO: Rename auth_protocols TODO: Read auth_enabled/version from config file correctly.
Added dataclasses for parameters. Moved and restructured code to break out rmq and zmq, and provide standardized APIs where applicable.
volttron/platform/auth/__init__.py
Outdated
# PACIFIC NORTHWEST NATIONAL LABORATORY operated by | ||
# BATTELLE for the UNITED STATES DEPARTMENT OF ENERGY | ||
# under Contract DE-AC05-76RL01830 | ||
# }}} |
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.
Consider adding
# Only include things we want
___all__ = ["AuthEntry"]
# Don't expose where the "Real" class is located.
from volttron.platform.auth.auth_entry import AuthEntry
For all of these items.
Updated terminology in main/config. Updated allow auth to be True by default. Cleaned up some imports.
Added handling for allow_auth and AUTH_ENABLED to manage use of auth in config file. Minor code cleanup.
Rmq non auth
Modified is_running_in_container to handle subprocess error in call.
Fixed web authentication page for RMQ. Fixed CSR handling.
Added grequests. Updated connection_params for build_remote_connection_params. Fixed url_address missing from RMQConnectionAPI.
if cert_dir: | ||
# remote cert file for agents will be in agent-data/remote-certs dir | ||
certfile = os.path.join(cert_dir, os.path.basename(certfile)) | ||
_log.info("build_remote_connection_param: {}".format(certfile)) |
Check failure
Code scanning / CodeQL
Clear-text logging of sensitive information
destination_serverkey = serverkey | ||
|
||
_log.debug( | ||
"Connecting using: %s", get_fq_identity(self.identity) |
Check failure
Code scanning / CodeQL
Clear-text logging of sensitive information
federation/shovel fixes
Description
These changes are the initial steps for decoupling auth features from the VOLTTRON platform. This would allow auth to be used when required, and remove the authentication/authorization layers from instances where they are not required.
In addition, auth is restructured to develop authorization and authentication base classes, with standardized APIs. This will help with future efforts to provide fully modular auth packages for specific message busses or use cases.
Type of change
How Has This Been Tested?
Testing is in progress
Checklist: