"Right" way to handle fleet of servers requiring service accounts in Google Cloud Platform

Viewed 13

I am architecting on a project where we will have hundreds of deployed devices that each require access to Pub/Sub continuously. I was going to build this on top of IOT Core but this has now been put into deprecation mode. I am now trying to figure out the right architecture so that I can manage GCP access from the nodes. For purposes of this question, assume secret management is not part of the problem (I can store whatever credentials I need to locally securely).

I believe my options are:

  • have a separate service account for each device
    • pros: 1:1 correlation between device and account makes server-side access-control actions trivial
    • cons: I think there are relatively low limits to the number of service accounts a project can have
  • have one service account but separate credentials .json file on each device
    • pros: single point of maintenance for all access control
    • cons: I think this is capped at 10 key files per service account; can remove access for a single device but much more difficult to reinstate
  • custom build ... what exactly?

I guess the overall question is "how does one organize IAM for a project with a very large number of clients using the Google SDKs?"

0 Answers
Related