Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v14] Add bot field to certificates and various usage events (#35881) #36313

Merged
merged 4 commits into from Jan 11, 2024

Conversation

timothyb89
Copy link
Contributor

@timothyb89 timothyb89 commented Jan 5, 2024

Backport of #35881 for branch/v14

changelog: Added new certificate extensions and usage reporting flags to explicitly identify Machine ID bots and their cluster activity


  • Add bot field to certificates and various usage events

This adds a new certificate extension field, teleport-bot, to certificates issued to Machine ID bot users that can definitively identify certificates as having been issued to a bot user.

Additionally, this uses the new Bot identity flag to mark certain usage events as originating from bot users. As such, it includes a protobuf update from Cloud [1], which pulled in some small additional (mostly comment) changes.

[1] https://github.com/gravitational/cloud/pull/7060

  • Small bot flag plumbing fixes

  • Convert bot flag to BotName and UserKind enum

This makes a few changes to the bot tagging approach:

  • The bot name is embedded in the cert rather than just true/false

  • UserKind is included in events rather than just a bot flag, to allow for an unspecified value for older client nodes.

  • Add a quick unit test for bot cert extensions

  • Fix outdated grpc

  • Include bot flag on initial certs

  • Log a warning and override user kind for usage records if they differ

  • Fix several unit tests; add a bot metadata test case

  • Fix unit tests with UserKind zero value

  • Rename SSH cert extension to use standard format

Renames the teleport-bot extension to bot-name@goteleport.com, to better follow SSH cert extension naming conventions.

  • Attempt to improve unspecified userkind aggregating logic

* Add bot field to certificates and various usage events

This adds a new certificate extension field, `teleport-bot`, to
certificates issued to Machine ID bot users that can definitively
identify certificates as having been issued to a bot user.

Additionally, this uses the new `Bot` identity flag to mark certain
usage events as originating from bot users. As such, it includes a
protobuf update from Cloud [1], which pulled in some small additional
(mostly comment) changes.

[1] gravitational/cloud#7060

* Small bot flag plumbing fixes

* Convert bot flag to BotName and UserKind enum

This makes a few changes to the bot tagging approach:
* The bot name is embedded in the cert rather than just true/false
* UserKind is included in events rather than just a bot flag, to
  allow for an unspecified value for older client nodes.

* Add a quick unit test for bot cert extensions

* Fix outdated grpc

* Include bot flag on initial certs

* Log a warning and override user kind for usage records if they differ

* Fix several unit tests; add a bot metadata test case

* Fix unit tests with UserKind zero value

* Rename SSH cert extension to use standard format

Renames the `teleport-bot` extension to `bot-name@goteleport.com`,
to better follow SSH cert extension naming conventions.

* Attempt to improve unspecified userkind aggregating logic
Copy link

github-actions bot commented Jan 5, 2024

The PR changelog entry failed validation: Changelog entry not found in the PR body. Please add a "no-changelog" label to the PR, or changelog lines starting with changelog: followed by the changelog entries for the PR.

@github-actions github-actions bot added backport database-access Database access related issues and PRs size/md labels Jan 5, 2024
@timothyb89 timothyb89 added this pull request to the merge queue Jan 11, 2024
Merged via the queue into branch/v14 with commit c1fe64a Jan 11, 2024
32 checks passed
@timothyb89 timothyb89 deleted the timothyb89/v14/bot-flag-usage-events branch January 11, 2024 01:14
@camscale camscale mentioned this pull request Jan 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport database-access Database access related issues and PRs size/md
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants