-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
external audit proto spec v2 #33022
Merged
Merged
external audit proto spec v2 #33022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nklaassen
approved these changes
Oct 5, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, I just suggest renaming the RPCs that deal with the draft configuration to make that more clear.
api/proto/teleport/externalcloudaudit/v1/externalcloudaudit_service.proto
Outdated
Show resolved
Hide resolved
api/proto/teleport/externalcloudaudit/v1/externalcloudaudit_service.proto
Outdated
Show resolved
Hide resolved
api/proto/teleport/externalcloudaudit/v1/externalcloudaudit_service.proto
Outdated
Show resolved
Hide resolved
api/proto/teleport/externalcloudaudit/v1/externalcloudaudit_service.proto
Outdated
Show resolved
Hide resolved
api/proto/teleport/externalcloudaudit/v1/externalcloudaudit_service.proto
Outdated
Show resolved
Hide resolved
a52fa50
to
699bfd9
Compare
699bfd9
to
2383374
Compare
marcoandredinis
approved these changes
Oct 6, 2023
api/proto/teleport/externalcloudaudit/v1/externalcloudaudit.proto
Outdated
Show resolved
Hide resolved
api/proto/teleport/externalcloudaudit/v1/externalcloudaudit_service.proto
Show resolved
Hide resolved
This was referenced Oct 9, 2023
2383374
to
3353e11
Compare
3353e11
to
549ff3f
Compare
@tobiaszheller See the table below for backport results.
|
github-merge-queue bot
pushed a commit
that referenced
this pull request
Nov 20, 2023
* [v14] external cloud audit proto Backport #33022 to branch/v14 * [v14] external_cloud_audit: add resource layer Backport #32833 to branch/v14 * [v14] feat: IAM permissions for BYOBucket Backport #33416 to branch/v14 This commit adds a one-off teleport command that configures the necessary IAM permissions for the upcoming External Cloud Audit (BYOBucket) feature. An example command invocation looks like: ``` $ teleport integration configure externalcloudaudit-iam \ --aws-region us-west-2 --role nic-byob-test --policy nic-byob \ --session-recordings s3://nic-byob/sess-rec-v2 \ --audit-events s3://nic-byob/events --athena-results s3://nic-byob/results \ --athena-workgroup primary --glue-database nic_byob --glue-table nic_byob_table ``` In normal usage this command will be generated for the user so that they can just copy a command from the Web UI and run it in AWS CloudShell. The permissions generated here are based on https://github.com/gravitational/cloud/blob/rfd/77-bring-your-own-bucket/rfd/0077-Bring-your-own-bucket.md, but only include the permissions necessary for using the feature at runtime and not any permissions necessary to bootstrap/create the resources. * [v14] feat: generate randomized ExternalCloudAudit config Backport #33555 to branch/v14 * [v14] BYOB: Bootstrap Athena Infrastructure Backport #33272 to branch/v14 * [v14] feat: cached auto-refreshing AWS credentials for BYOBucket Backport #34380 to branch/v14 This commit implements a "Configurator" for the BYOBucket feature that provides AWS credentials that can be used by the v1 or v2 AWS SDKs for Go. These credentials are generated via an AWS OIDC integration: auth signs a JWT and we swap that with AWS STS for AWS credentials. It also reports whether or not the BYOB feature `IsUsed()` currently, and provides access to the current cluster ExternalCloudAudit spec. This looks a bit weird because of a chicken-egg problem where the audit log must be set up before the auth server can be created, but the auth server must be created to provide the OIDC signing facilities. This will be more clear in following PRs. * [v14] fix: correct IAM policies for BYOB Backport #34484 to branch/v14 This commit fixes the IAM policies generated by the oneoff externalcloudaudit bootstrap command based on manual testing, and brings them more in line with the original RFD https://github.com/gravitational/cloud/blob/master/rfd/0077-Bring-your-own-bucket.md * [v14] feat: enable External Cloud Audit backend Backport #34606 to branch/v14 This commit enables the External Cloud Audit (BYOBucket) feature with a fully functional backend by setting up the Athena and S3 audit components with the right AWS configurations and resource locations. * [v14] Add ExternalCloudAudit permissions to user context ACL Backport #34289 to branch/v14 --------- Co-authored-by: Tobiasz Heller <14020794+tobiaszheller@users.noreply.github.com> Co-authored-by: Logan Davis <38335829+logand22@users.noreply.github.com> Co-authored-by: matheus <matheus.battirola@goteleport.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds proto spec for service that will be used in external audit/byob feature.
Service will be implemented in enterprise repo.
Documentation is added as part of proto.
Part of: https://github.com/gravitational/cloud/issues/4661
RFD: https://github.com/gravitational/cloud/blob/rfd/77-bring-your-own-bucket/rfd/0077-Bring-your-own-bucket.md
This is 2nd attempt to proto definition based on comments from: #32833 (comment)
and internal conversations.
In short, there are 3 good options to implement it:
external_cloud_audit
andsingle cluster_external_cloud_audit
which references by nameexternal_cloud_audit
andsingle cluster_external_cloud_audit
which references by nameexternal_cloud_audit
andsingle cluster_external_cloud_audit
which is copy ofexternal_cloud_audit
.This PR implements option 3.
Original: #31564