Skip to content

Conversation

@coltondick
Copy link

I opened an issue a couple weeks back raising an problem with the limited flexibility of the IAM policies. I found it's limited scope to be quite tedious having to create a single user policy per use. I had initially assumed the ${user.email} would work just making assumptions from the documentation. However, I was surprised to find out that this didn't work. Adding support for ${user.email} reduces role duplication and makes for an overall better experience.

Previously you had to define the policy as follows and then replicate it per user:

[
  {
    "action": [
      "read",
      "search"
    ],
    "subject": "archive",
    "conditions": {
      "userEmail": "[email protected]"
    }
  },
  {
    "action": [
      "read",
      "search"
    ],
    "subject": [
      "dashboard",
      "ingestion"
    ]
  }
]

Now we can define the policy as follows:

[
  {
    "action": [
      "read",
      "search"
    ],
    "subject": "archive",
    "conditions": {
      "userEmail": "${user.email}"
    }
  },
  {
    "action": [
      "read",
      "search"
    ],
    "subject": [
      "dashboard",
      "ingestion"
    ]
  }
]

…userEmail matching across IAM evaluators; log warnings for missing user fields and ensure backward-compatible access for admins.
@github-actions
Copy link

github-actions bot commented Oct 31, 2025

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@coltondick
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

@coltondick coltondick force-pushed the main branch 2 times, most recently from 3290fdc to 42cd427 Compare November 4, 2025 18:17
@coltondick
Copy link
Author

Any chance that this can be implemented in the next release @wayneshn

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.

1 participant