Skip to content

LTS service accounts #94

Description

@wwarriner

An LTS service account is a regular account with zero storage allocation, owned by a particular user, for the purposes of CI/CD automation interacting with LTS.

How to configure?

  • Create a new access/secret key pair in LTS (a new special allocation type)
  • Set storage quota to zero bytes
  • Set comment to indicate BlazerID of who owns it

Limitations?

  • Zero storage allocation
  • Owners must be supervisors (Research Lab Supervisor or Core Director)
  • Owners are responsible for granting the service account access to data in LTS via bucket policies, we will not ever grant a service account attached to an existing allocation (i.e., as alternative keys for that allocation)
  • Owners are responsible for understanding and implementing

Good practices for use?

  • Principle of least privilege: only grant the service account access to the data it needs access to, either using bucket policy scoping, or a separate bucket entirely.
  • Principle of least function: only use the service account in repos where it is needed.
  • We can talk if you believe you need more than one service account.
  • Protect your keys using CI/CD variables (https://docs.gitlab.com/ci/variables/#protect-a-cicd-variable)
  • Do not ever use your primary allocation keys as CI/CD variables. If they are compromised, all of your data would be compromised. Only ever use service accounts.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions