KPD closed beta Sign inRequest access

Service accounts and access

Say who each running asset is, and what it may do. KPD advises on access, but never decides it for you.

Service accounts

Right-click Environments → Service accounts → New service account… to add one, for example sa-flink. Tick the clusters it uses and give it a description.

Editing a service account and its role bindings.
Editing a service account and its role bindings.

Assets that run, such as connectors, producers, consumer groups, Kafka Streams apps, Flink SQL statements, streaming agents and ksqlDB clusters, choose the account they run as from Service account on their General tab.

Role bindings

Each account's access is a list of role bindings that you add explicitly. A binding is a role (for example DeveloperRead, DeveloperWrite, ResourceOwner, FlinkDeveloper) on a scope: a topic or topic prefix, consumer group, transactional id, schema subject, cluster, environment or compute pool. Name fields suggest the topics, subjects, groups and connectors the pipelines on that cluster define, and a note points out names that match nothing, for example after a rename.

TipPrefer the narrowest scope that works: a topic or a prefix rather than the cluster. The Inclined Labs sample gives each account only the access it needs.

Permission advice

KPD never adds or changes bindings for you. Instead, the Terraform page lists permission advice: bindings your running assets appear to need, such as write access to a dead letter topic for the client that runs a contract rule. Each is unticked; it is added only if you tick it.

No keys, ever

Your decisionKPD gives security advice; it does not make security decisions. Review every binding with whoever owns access in your organisation.