Skip to content

Docs(dynamodb): add missing dynamodb:TagResource permission for feast apply#6086

Open
anix-lynch wants to merge 1 commit intofeast-dev:masterfrom
anix-lynch:fix/dynamodb-tagging-permissions
Open

Docs(dynamodb): add missing dynamodb:TagResource permission for feast apply#6086
anix-lynch wants to merge 1 commit intofeast-dev:masterfrom
anix-lynch:fix/dynamodb-tagging-permissions

Conversation

@anix-lynch
Copy link

@anix-lynch anix-lynch commented Mar 10, 2026

Summary

When using the tags config option in the DynamoDB online store, feast apply requires the dynamodb:TagResource IAM permission. This permission was missing from both the permissions table and the inline policy example in the docs.

Root Cause

The DynamoDB online store calls TagResource when tags are configured in feature_store.yaml. Without this permission, feast apply fails with a cryptic AccessDeniedException that doesn't point to the missing permission.

Changes

  • Added dynamodb:TagResource to the Apply row in the permissions table
  • Added dynamodb:TagResource to the inline policy JSON example

Reproduction

online_store:
  type: dynamodb
  region: us-east-1
  tags:
    env: production

Running feast apply with the above config and without dynamodb:TagResource in the IAM policy throws AccessDeniedException.

Workaround: remove tags from config OR add dynamodb:TagResource to the IAM policy.

Closes #6085


Open with Devin

@anix-lynch anix-lynch requested a review from a team as a code owner March 10, 2026 08:29
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

Copy link
Collaborator

@shuchu shuchu left a comment

Choose a reason for hiding this comment

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

@anix-lynch please Sign your commit for passing the DCO check.

@shuchu shuchu self-requested a review March 10, 2026 17:11
@shuchu shuchu changed the title docs(dynamodb): add missing dynamodb:TagResource permission for feast apply Docs(dynamodb): add missing dynamodb:TagResource permission for feast apply Mar 10, 2026
… apply

Signed-off-by: Ani Lynch <anixlynch@gmail.com>
@anix-lynch anix-lynch force-pushed the fix/dynamodb-tagging-permissions branch from 853a5ad to 37c3d9a Compare March 10, 2026 19:22
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 1 new potential issue.

View 2 additional findings in Devin Review.

Open in Devin Review

| **Command** | Permissions | Resources |
| ----------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------- |
| **Apply** | <p>dynamodb:CreateTable</p><p>dynamodb:DescribeTable</p><p>dynamodb:DeleteTable</p> | arn:aws:dynamodb:\<region>:\<account_id>:table/\* |
| **Apply** | <p>dynamodb:CreateTable</p><p>dynamodb:DescribeTable</p><p>dynamodb:DeleteTable</p><p>dynamodb:TagResource</p> | arn:aws:dynamodb:\<region>:\<account_id>:table/\* |
Copy link
Contributor

Choose a reason for hiding this comment

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

🟡 Documentation adds only dynamodb:TagResource but code also requires UntagResource and ListTagsOfResource

The documentation adds dynamodb:TagResource to the required permissions, but the _update_tags method at sdk/python/feast/infra/online_stores/dynamodb.py:240-252 also calls dynamodb_client.list_tags_of_resource() and dynamodb_client.untag_resource(). A user who follows this documentation and grants only TagResource will find that tag updates still fail (caught by the AccessDeniedException handler at line 344, so not a crash, but tags silently won't be applied). The permissions table and IAM policy should also include dynamodb:UntagResource and dynamodb:ListTagsOfResource for tag operations to actually succeed.

Prompt for agents
In docs/reference/online-stores/dynamodb.md, line 72, add dynamodb:UntagResource and dynamodb:ListTagsOfResource to the Apply permissions in the table row. The current line only lists dynamodb:TagResource but the code in sdk/python/feast/infra/online_stores/dynamodb.py:240-252 also calls list_tags_of_resource and untag_resource. Similarly, in the IAM policy JSON block (around lines 83-88), add "dynamodb:UntagResource" and "dynamodb:ListTagsOfResource" to the Action array.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DynamoDB online store: feast apply requires dynamodb:TagResource but this is undocumented

2 participants