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

Add non-root access with filtering support to activity export API #27846

Merged
merged 9 commits into from
Jul 24, 2024

Conversation

ccapurso
Copy link
Contributor

@ccapurso ccapurso commented Jul 23, 2024

Description

RFC: VLT-324 - Enhance Activity Export API with Identity Metadata
This PR adds the following concepts to the activity export API:

  • VAULT-28578: Restrict access to require sudo ACL capability
  • VAULT-28579: Allow access in non-root namespaces
  • VAULT-28579: Filter output based on requested namespace, via X-Vault-Namespace header or within path, to include requested namespace and children of requested namespace
  • VAULT-28577: Change MIME type for CSV to text/csv
  • Consistent fields across both CSV and JSON formats via a new struct ActivityLogExportRecord which removes the omitempty JSON tags
  • A small change to the activity log test write API to include EntityRecord.Timestamp values

ENT PR: https://github.com/hashicorp/vault-enterprise/pull/6171

TODO only if you're a HashiCorp employee

  • Labels: If this PR is the CE portion of an ENT change, and that ENT change is
    getting backported to N-2, use the new style backport/ent/x.x.x+ent labels
    instead of the old style backport/x.x.x labels.
  • Labels: If this PR is a CE only change, it can only be backported to N, so use
    the normal backport/x.x.x label (there should be only 1).
  • ENT Breakage: If this PR either 1) removes a public function OR 2) changes the signature
    of a public function, even if that change is in a CE file, double check that
    applying the patch for this PR to the ENT repo and running tests doesn't
    break any tests. Sometimes ENT only tests rely on public functions in CE
    files.
  • Jira: If this change has an associated Jira, it's referenced either
    in the PR description, commit message, or branch name.
  • RFC: If this change has an associated RFC, please link it in the description.
  • ENT PR: If this change has an associated ENT PR, please link it in the
    description. Also, make sure the changelog is in this PR, not in your ENT PR.

@github-actions github-actions bot added the hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed label Jul 23, 2024
@ccapurso ccapurso changed the title Vault 28579 non root activity export access Add non-root access with filtering support to activity export API Jul 23, 2024
Copy link

github-actions bot commented Jul 23, 2024

Build Results:
All builds succeeded! ✅

Copy link

github-actions bot commented Jul 23, 2024

CI Results:
All Go tests succeeded! ✅

@ccapurso ccapurso added this to the 1.18.0-rc milestone Jul 23, 2024
@ccapurso ccapurso requested review from miagilepner and mpalmi July 23, 2024 18:28
Copy link
Contributor

@miagilepner miagilepner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@ccapurso ccapurso merged commit a28464b into main Jul 24, 2024
83 of 84 checks passed
@ccapurso ccapurso deleted the vault-28579-non-root-activity-export-access branch July 24, 2024 13:21
Monkeychip pushed a commit that referenced this pull request Jul 24, 2024
…7846)

* VAULT-28577: change CSV MIME type to text/csv

* VAULT-28578: require sudo for export API

* add validation and associated error handling

* change export API default to 204 if no data returned

* VAULT-28579: allow export API in non-root namespace, add filtering support

* update test fixtures to reflect filtering changes

* TestActivityLog_Export moved to ENT-only test

* add test to verify sudo access

* add changelog entry
Monkeychip pushed a commit that referenced this pull request Jul 24, 2024
…7846)

* VAULT-28577: change CSV MIME type to text/csv

* VAULT-28578: require sudo for export API

* add validation and associated error handling

* change export API default to 204 if no data returned

* VAULT-28579: allow export API in non-root namespace, add filtering support

* update test fixtures to reflect filtering changes

* TestActivityLog_Export moved to ENT-only test

* add test to verify sudo access

* add changelog entry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants