Skip to content

IAM support for Glue in Cloud#1633

Open
kbatuigas wants to merge 5 commits intomainfrom
DOC-1920-iceberg-glue-iam-role-support-in-cloud
Open

IAM support for Glue in Cloud#1633
kbatuigas wants to merge 5 commits intomainfrom
DOC-1920-iceberg-glue-iam-role-support-in-cloud

Conversation

@kbatuigas
Copy link
Contributor

@kbatuigas kbatuigas commented Mar 25, 2026

Description

Redpanda Cloud BYOC now supports authenticating to AWS Glue using the broker's existing IAM role (the same one used for S3/Tiered Storage) instead of requiring static AWS access keys.

This PR updates the AWS Glue guide to:

  • Present both credential approaches (reuse S3 credentials vs. explicit overrides) in the Cloud docs, matching the self-managed structure
  • Add tabbed code examples for IAM role and static credentials configuration
  • Explain automatic Glue IAM policy provisioning in the "Authorize access" section
  • Make two credential source properties visible on Cloud reference pages by adding redpanda-cloud inclusion tags

Resolves https://redpandadata.atlassian.net/browse/
Review deadline:

Page previews

Cloud:
AWS Glue doc
Object Storage Properties > cloud_storage_credentials_source

Checks

  • New feature
  • Content gap
  • Support Follow-up
  • Small fix (typos, links, copyedits, etc)

@kbatuigas kbatuigas requested a review from a team as a code owner March 25, 2026 23:04
@netlify
Copy link

netlify bot commented Mar 25, 2026

Deploy Preview for redpanda-docs-preview ready!

Name Link
🔨 Latest commit fe3e192
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-docs-preview/deploys/69c4928418308f00081558d1
😎 Deploy Preview https://deploy-preview-1633--redpanda-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 25, 2026

📝 Walkthrough

Walkthrough

This PR updates Iceberg and AWS Glue documentation with environment-specific configuration guidance. The main documentation file (iceberg-topics-aws-glue.adoc) adds BYOC-environment setup instructions for IAM access and separates cloud versus non-cloud credential configuration flows using conditional blocks. The credential configuration section is restructured from a fixed list to an either/or approach (reuse existing cloud_storage_* credentials or configure separate REST catalog credentials). Two property reference files (cluster-properties.adoc and object-storage-properties.adoc) receive AsciiDoc tag markers to properly scope content for Redpanda Cloud conditional includes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested reviewers

  • paulohtb6
  • simon0191
  • wdberkeley
  • Feediver1
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: IAM support for AWS Glue in Redpanda Cloud, which directly corresponds to the primary documentation updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description is well-structured with clear sections including problem statement, changes made, and page previews with direct links. However, the JIRA ticket URL placeholder is not filled in.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DOC-1920-iceberg-glue-iam-role-support-in-cloud

Comment @coderabbitai help to get the list of available commands and usage tips.

@kbatuigas kbatuigas requested a review from simon0191 March 25, 2026 23:05
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
modules/reference/partials/properties/object-storage-properties.adoc (1)

1522-1578: ⚠️ Potential issue | 🔴 Critical

Critical: Auto-generated file edited directly.

This file is auto-generated and should not be edited manually. Line 1 explicitly states: "This content is autogenerated. Do not edit manually. To override descriptions, use the doc-tools CLI with the --overrides option."

Any changes made directly to this file will be overwritten the next time the properties are regenerated. Based on learnings, files in /modules/reference/partials/properties/ must never be edited directly.

To properly add the redpanda-cloud tags to the cloud_storage_credentials_source property:

  1. Use the doc-tools CLI with the appropriate configuration/overrides to add these tags
  2. Regenerate the properties file
  3. Alternatively, if tags are needed for conditional includes, verify if they should be added in the source data or through the generation tooling

Based on learnings: "Never directly edit files in /modules/reference/partials/properties/ - they are auto-generated and will be overwritten"

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@modules/reference/partials/properties/object-storage-properties.adoc` around
lines 1522 - 1578, The auto-generated property block for
cloud_storage_credentials_source was edited directly (you added the
redpanda-cloud tag) which will be overwritten; revert manual edits and instead
add the redpanda-cloud tag in the source/overrides used by the generator: update
the property definition for cloud_storage_credentials_source in the generator
input (or create an overrides file) and run the doc-tools CLI with the
--overrides option to regenerate the object-storage properties so the
redpanda-cloud conditional tags are applied; if conditional tagging belongs in
the generation tooling, add the tag there and re-run the generation pipeline
rather than editing the generated object-storage-properties.adoc file.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@modules/manage/pages/iceberg/iceberg-topics-aws-glue.adoc`:
- Around line 192-202: The multiline shell command starting with "rpk cluster
config set" contains an inline comment ("# Glue requires Redpanda Iceberg tables
to be manually deleted") on a line that ends with a backslash, which breaks bash
continuation; remove the inline comment from the continued lines and place
explanatory comments on their own lines before or after the command, and ensure
each continued line ends with a backslash followed only by the argument (e.g.,
adjust the line containing "iceberg_delete=false" to remove the "# ..." comment
and move that text into a separate comment line outside the backslash-continued
command).

---

Outside diff comments:
In `@modules/reference/partials/properties/object-storage-properties.adoc`:
- Around line 1522-1578: The auto-generated property block for
cloud_storage_credentials_source was edited directly (you added the
redpanda-cloud tag) which will be overwritten; revert manual edits and instead
add the redpanda-cloud tag in the source/overrides used by the generator: update
the property definition for cloud_storage_credentials_source in the generator
input (or create an overrides file) and run the doc-tools CLI with the
--overrides option to regenerate the object-storage properties so the
redpanda-cloud conditional tags are applied; if conditional tagging belongs in
the generation tooling, add the tag there and re-run the generation pipeline
rather than editing the generated object-storage-properties.adoc file.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 903fad3a-6b53-4f7c-9b76-ea89517b2157

📥 Commits

Reviewing files that changed from the base of the PR and between 1b84d6e and edb7168.

📒 Files selected for processing (3)
  • modules/manage/pages/iceberg/iceberg-topics-aws-glue.adoc
  • modules/reference/partials/properties/cluster-properties.adoc
  • modules/reference/partials/properties/object-storage-properties.adoc

For clusters created before March 2026, you must run `rpk byoc apply` to provision the Glue IAM policy before enabling Iceberg. This is a one-time operation that updates the broker role with the necessary Glue permissions.
endif::[]

ifndef::env-cloud[]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@simon0191 Is this correct -- Cloud users won't have to do anything special for IAM, so the lines that follow this should display for Self-managed only?

- `<bucket-name>` and `<warehouse-path>`: AWS Glue requires you to specify the base location where Redpanda stores Iceberg data and metadata files. You must use an S3 URI; for example, `s3://<bucket-name>/iceberg`. As a security best practice, Redpanda Data recommends specifying a subfolder (using prefixes) rather than the root of the bucket.
- `<glue-access-key>`: The AWS access key ID for your Glue service account.
- `<glue-secret-key-name>`: The name of the secret that stores the AWS secret access key for your Glue service account. To reference a secret in a cluster property, for example `iceberg_rest_catalog_aws_secret_key`, you must first xref:manage:iceberg/use-iceberg-catalogs.adoc#store-a-secret-for-rest-catalog-authentication[store the secret value].
- `<bucket-name>` and `<warehouse-path>`: AWS Glue requires you to specify the base location where Redpanda stores Iceberg data and metadata files. You must use an S3 URI; for example, `s3://<bucket-name>/iceberg`. For BYOC clusters, the bucket name is `redpanda-cloud-storage-<cluster-id>`. For BYOVPC clusters, use the name of the bucket you created as a customer-managed resource.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@simon0191 Could you confirm that this is OK to add here, and should we update the table in this doc as well?

@kbatuigas
Copy link
Contributor Author

@simon0191 somewhat related, our docs currently say BYOC is a prereq, is it worth now specifying BYOVPC too?

@david-yu
Copy link
Contributor

@simon0191 somewhat related, our docs currently say BYOC is a prereq, is it worth now specifying BYOVPC too?

I don't see why this won't work in BYOVPC, we have some large customers on AWS that could use this feature on BYOVPC.

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.

2 participants