Cloud Authentication and Authorization

In GCP we manage authorization and authentication via the (Identity Access and Management) IAM system. This should work similarly for most cloud providers.

Model

GCP has resources, like buckets, Pubsub subscription topics, BigQuery, etc. You can do various things with these resources, i.e. you can read items off a bucket or put items in a bucket.

Some people, applications, etc. may need to do some things and not others. So we can manage that with IAM.

What is a Service Account?

A Service account is a special type of principal (in the past we called these "users") that we use to access resources on behalf of a application. In the past, I used to call these "application users", but "service account" appears to be the new way of referring to this concept.

When you want an application to interact with a bucket, for example, you generally have to: