summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2022-04-12 15:30:54 -0600
committermo khan <mo@mokhan.ca>2022-04-12 15:30:54 -0600
commitc20c22779c0f6e8db2d028a5ad1ee6dbba08008b (patch)
tree72c716f04d89db27f01a7e613e08230eb96144e5
parent8cf7a1848b971e11d57e7ab5afd793417b696406 (diff)
add notes on workflow identity
-rw-r--r--doc/run-identity/README.md49
1 files changed, 49 insertions, 0 deletions
diff --git a/doc/run-identity/README.md b/doc/run-identity/README.md
index 2523cee..8587512 100644
--- a/doc/run-identity/README.md
+++ b/doc/run-identity/README.md
@@ -104,3 +104,52 @@ rails/ kv kv_6ca5f254 n/a
secret/ kv kv_c50fa680 key/value secret storage
sys/ system system_5e571326 system endpoints used for control, policy and debugging
```
+
+# Terraform Workload Identity - Product Spiel
+
+> Credentials == #1 Customer Pain
+
+* operation concerns
+* risk
+* onboarding time
+
+1. But what about variable sets?
+
+* so much better than what we had
+* not much better of a risk story
+
+> "OIDC" == Trust
+
+* ecosystem building around standard
+* Just in time (JIT) access
+* Vault JWT Auth Method
+* AWS, GCP, and Azure support
+* Custom customer solutions
+
+> We will enable power users and set the foundation for mass adoption
+
+* JPMC, Snowflake and others will start using JWT immediately
+* AWS wants to base all authen for their service catalog products on JWTs
+* Azure is asking for it without knowing we are looking at it
+* Cross team buy-in on longer term plan
+* Bring JIT access to the masses
+
+Acceptance Criteria:
+
+* JWT's are unique for each stage of a run including plan, apply and run tasks.
+* Generated during speculative plans and standard runs
+* Exposed as an environment variable in the terraform build environment.
+* Not stored to state unless practitioner specifically references it from Terraform.
+* Accessible on agent-based workloads including hooks
+* Given a TTL that corresponds to the system timeout on the current workload.
+* JWT metadata must include:
+ * id of the run
+ * workspace id of the run
+ * organization id of the run
+ * stage of the run. i.e. speculative plan, plan, apply, run.
+
+To think about:
+
+1. NTP syncronization to ensure time matches from client to server.
+1. Who is on the app-sec team? (Brian?)
+1. x.509 certificate expiration.