AWS Permissions Request: KMS Key for HashiCorp Vault Auto-Unseal #13224
Labels
No labels
announcement
anubis
authentication
aws
backlog
blocked
bodhi
ci
cloud
communishift
copr
database
day-to-day
dc-move
deprecated
dev
discourse
dns
downloads
easyfix
epel
firmitas
forgejo_migration
Gain
High
Gain
Low
Gain
Medium
gitlab
greenwave
hardware
help wanted
high-trouble
koji
koschei
lists
low-trouble
medium-trouble
mirrorlists
monitoring
Needs investigation
odcs
OpenShift
ops
outage
packager_workflow_blocker
pagure
permissions
Priority
Needs Review
Priority
Next Meeting
Priority
🔥 URGENT 🔥
Priority
Waiting on Assignee
Priority
Waiting on External
Priority
Waiting on Reporter
rabbitmq
release-monitoring
releng
request-for-resources
s390x
security
SMTP
sprint-0
sprint-1
src.fp.o
staging
unfreeze
waiverdb
websites-general
wiki
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
infra/tickets#13224
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description of request
Context
The Testing Farm team (AWS account
125523088429) is deploying HashiCorp Vault for centralized secrets management, replacing our current ansible-vault setup. Vault will run on a dedicated EKS cluster inus-east-1.Vault requires an AWS KMS key for its auto-unseal mechanism. Without KMS auto-unseal, Vault requires manual operator intervention (entering unseal keys) every time a Vault pod restarts, which is operationally unsustainable in a Kubernetes environment.
What We Need
Option A: Grant us permission to create a KMS key (preferred)
Grant the following IAM permissions to our existing roles, scoped to a single key alias:
Additionally, the Vault pods running on EKS need runtime access to use the key for encrypt/decrypt operations. This would be granted via an IRSA (IAM Role for Service Accounts) role. The following permissions are needed for that role:
Note: For the IRSA role, we also need
enable_irsa = trueon the EKS cluster (OIDC provider creation), which requires:Option B: Create the KMS key for us
If granting key creation permissions is not possible, please create a symmetric KMS key with the following configuration:
alias/vault-unsealus-east-1SYMMETRIC_DEFAULTENCRYPT_DECRYPTHashiCorp Vault auto-unseal key for Testing FarmFedoraGroup:ciServiceOwner:TFTServiceName:TestingFarmServiceComponent:VaultThen grant the following principal access to use the key:
arn:aws:iam::125523088429:role/aws-fedora-ci(until we set up IRSA)Required key policy for the Vault principal:
Security Notes
vault-unseal*to prevent use for other purposesReferences
I think we can do the first one... but I am not sure, do you already have a OIDC provider setup for the cluster, or you wanted me to do that also?
The more detailed you can be the easier it will be for me. :)