I've had a number of conversations with various Puppet folks about this and 
it remains a bit of a sticky issue, namely *how do we safely handle 
powershell scripts where we need to pass credentials or other sensitive 
information to Powershell?*

The scenario here is that we have a situation where we need to give 
Powershell some credentials to perform some sort of work on the system. Due 
to restrictions we have to pass these credentials via Puppet in some 
fashion, e.g. we can't or don't have access to a key manager that 
Powershell can talk to directly, meaning that Puppet is the only route of 
providing the secrets to the node.  (I do understand there are other issues 
here as well, such as getting secrets securely passed in the catalog, but 
I'm setting that aside for now.)


Recent incarnations of the Powershell provider all write a temp file to 
disk that contains the powershell code to be invoked. This means that if I 
have the credentials placed directly in the script (which generally seems 
the route I have to take) that I'll have written them to disk. 
Additionally, the exec module itself has logging that will log the command 
out to both the event log and the Puppet report, which will expose 
credentials. None of these outcomes are very good.


The approach I've tried to take is going the route of signed powershell 
scripts so we can invoke them with command line parameters rather than 
using stdin, which is the route the current Powershell provider takes. This 
seems at the moment to side-step some of the above mentioned problems 
depending on how you communicate those command line parameters to the 
provider. However, I'd like to align with the longer-term strategy, if 
possible, of how Powershell scripts are invoked within the Puppet supported 
provider.


So...what's the best way of handling this?

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/5bd0c1ad-d53a-4135-872c-62cfe4463cf5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to