Reputation: 21
I am using Pulumi to manage some resources in Snowflake. This requires providing Snowflake credentials to Pulumi, so that Pulumi can authenticate with Snowflake act on my behalf.
I am using the DIY backend and I don't use Pulumi cloud.
I provide those like pulumi config set snowflake:privateKey
. Then the private key ends up in my Pulumi.dev.yaml
file, encrypted, which is reasonable.
However, the password also ends up in the state file, where I see:
{
"urn": "urn:pulumi:dev::bootstrap::pulumi:providers:snowflake::default_1_1_2",
"custom": true,
"id": "[REDACTED]",
"type": "pulumi:providers:snowflake",
"inputs": {
"__internal": {},
"accountName": "[REDACTED]",
"authenticator": "SNOWFLAKE_JWT",
"organizationName": "[REDACTED]",
"privateKey": {
"[REDACTED]",
"ciphertext": "[REDACTED]"
},
"role": "ACCOUNTADMIN",
"user": "[REDACTED]",
"version": "1.1.2"
},
It looks like the private key is saved to the statefile. I can see some marginal utility for this in some cases - it is technically an input to the Pulumi resource, thus by saving the private key, Pulumi can detect when a different private key is used. This marginal utility is useless to me, I don't care when/if the private key changes.
Upvotes: 0
Views: 12