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

fix(dynamodb): stream resource policy for Table(v1) #31515

Closed
wants to merge 3 commits into from

Conversation

LeeroyHannigan
Copy link
Contributor

Issue # (if applicable)

Closes #31229.

Reason for this change

Users were unable to add a resource policy to a DynamoDB stream

Description of changes

Implemented resource policies for Table (V1) streams

Description of how you validated changes

Integ testing added

Checklist


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

@github-actions github-actions bot added effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK labels Sep 21, 2024
@aws-cdk-automation aws-cdk-automation requested a review from a team September 21, 2024 08:21
Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

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

The pull request linter has failed. See the aws-cdk-automation comment below for failure reasons. If you believe this pull request should receive an exemption, please comment and provide a justification.

A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed add Clarification Request to a comment.

@LeeroyHannigan LeeroyHannigan changed the title feat(dynamodb): Stream resource policy for Table(v1) feat(dynamodb): stream resource policy for Table(v1) Sep 21, 2024
@LeeroyHannigan
Copy link
Contributor Author

LeeroyHannigan commented Sep 21, 2024

Clarification Request: README for TableV1 Updated packages/aws-cdk-lib/aws-dynamodb/TABLE_V1_API.md

@aws-cdk-automation aws-cdk-automation added the pr/reviewer-clarification-requested The contributor has requested clarification on feedback, a failing build, or a failing PR Linter run label Sep 21, 2024
@LeeroyHannigan LeeroyHannigan changed the title feat(dynamodb): stream resource policy for Table(v1) fix(dynamodb): stream resource policy for Table(v1) Sep 21, 2024
@aws-cdk-automation aws-cdk-automation dismissed their stale review September 21, 2024 09:59

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: a5c6167
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@aws-cdk-automation aws-cdk-automation added the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Sep 21, 2024
If you have a global table replica, note that it does not support the addition of a resource-based policy.
Copy link
Contributor

Choose a reason for hiding this comment

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

Any idea if this statement apply to the steam resource-based policy as well? If yes, we should update this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Stream RBP will be fine. TableV1 uses a custom resource to handle replicas for global tables. It can include a RBP if we update the Lambda code. But we're trying to convince users to adopt TableV2


/**
* Resource policy to assign to a DynamoDB stream.
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-replicastreamspecification
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-globaltable-replicaspecification.html#cfn-dynamodb-globaltable-replicaspecification-replicastreamspecification
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html#cfn-dynamodb-table-streamspecification-resourcepolicy

since this Table(v1) uses the AWS::DynamoDB::Table resource type.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you. Copy and paste let me down 😂

* Resource policy to assign to table.
* @attribute
*/
public abstract streamResourcePolicy?: iam.PolicyDocument;
Copy link
Contributor

@samson-keung samson-keung Dec 5, 2024

Choose a reason for hiding this comment

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

Related to this field, we should probably update the grantStream and the grantStreamRead methods. [Edit:] By update I mean, those methods should add permissions to this streamResourcePolicy I believe.

And make this field protected to limit the exposure as there is no other constructs need to consume this at them the moment.

Let me know what you think.

@samson-keung
Copy link
Contributor

Added some comments and questions. Thank you for creating the PR!

@aws-cdk-automation aws-cdk-automation removed the pr/needs-community-review This PR needs a review from a Trusted Community Member or Core Team Member. label Dec 5, 2024
@samson-keung samson-keung self-assigned this Dec 5, 2024
@aws-cdk-automation
Copy link
Collaborator

This PR has been in the MERGE CONFLICTS state for 3 weeks, and looks abandoned. To keep this PR from being closed, please continue work on it. If not, it will automatically be closed in a week.

@aws-cdk-automation
Copy link
Collaborator

This PR has been deemed to be abandoned, and will be automatically closed. Please create a new PR for these changes if you think this decision has been made in error.

@aws-cdk-automation aws-cdk-automation added the closed-for-staleness This issue was automatically closed because it hadn't received any attention in a while. label Dec 16, 2024
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
beginning-contributor [Pilot] contributed between 0-2 PRs to the CDK closed-for-staleness This issue was automatically closed because it hadn't received any attention in a while. effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2 pr/reviewer-clarification-requested The contributor has requested clarification on feedback, a failing build, or a failing PR Linter run
Projects
None yet
Development

Successfully merging this pull request may close these issues.

aws-dynamodb: Unable to set resource policy on DDB streams
3 participants