Skip to content

Update Airflow provider: cloud auth now supported in Secrets Backend - #319

Merged
EldadH89 merged 4 commits into
v1.0from
update-airflow-cloud-auth-backend
Jul 15, 2026
Merged

Update Airflow provider: cloud auth now supported in Secrets Backend#319
EldadH89 merged 4 commits into
v1.0from
update-airflow-cloud-auth-backend

Conversation

@baraka-akeyless

@baraka-akeyless baraka-akeyless commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Updates the Apache Airflow provider documentation to reflect that the Secrets Backend now supports aws_iam, gcp, and azure_ad authentication (in addition to api_key and uid).

This corresponds to the upstream Airflow PR: apache/airflow#69772

Changes

  • Capability table: Updated Secrets Backend description to list all 5 supported auth types
  • Authentication Methods table: Changed aws_iam, gcp, azure_ad from "Hook only" to "Hook, Secrets Backend"
  • Secrets Backend section: Added new "Cloud-based authentication in the Secrets Backend" subsection with:
    • AWS IAM configuration example
    • GCP configuration example (using the new "Managed Service for Apache Airflow" branding)
    • Azure AD configuration example
    • Step-by-step Amazon MWAA setup guide
  • Cloud-Based Authentication section: Removed the "Secrets Backend limitation" warning, added cross-reference to the new backend cloud auth section
  • Troubleshooting: Updated ValueError entry to list all supported auth types

Made with Cursor

Summary by CodeRabbit

  • Documentation
    • Updated Apache Airflow provider docs to add cloud-based authentication for the Secrets Backend, supporting aws_iam, gcp, and azure_ad alongside existing api_key and uid.
    • Expanded the authentication methods capability table and added a new configuration section with airflow.cfg/backend_kwargs examples.
    • Included a dedicated guide for Amazon MWAA and refreshed troubleshooting notes to reflect current hook vs. Secrets Backend capabilities.

…kend

The Secrets Backend now supports aws_iam, gcp, and azure_ad authentication
in addition to api_key and uid. This enables seamless integration with
managed Airflow services like Amazon MWAA and Google Managed Service for
Apache Airflow without requiring static API keys.

Changes:
- Update capability table and auth methods table to reflect new support
- Add cloud auth configuration examples for AWS IAM, GCP, and Azure AD
- Add step-by-step Amazon MWAA setup guide
- Remove outdated "Secrets Backend limitation" warning
- Update troubleshooting section

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e0d6ca2a-b60c-4ead-b4b3-d9d8f2e1bcc6

📥 Commits

Reviewing files that changed from the base of the PR and between feab01e and f527186.

📒 Files selected for processing (1)
  • docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md

Walkthrough

The Apache Airflow provider documentation now states that AkeylessBackend supports AWS IAM, GCP, and Azure AD authentication, adds configuration examples and Amazon MWAA guidance, and updates cross-references and troubleshooting content.

Changes

Airflow cloud authentication

Layer / File(s) Summary
Authentication capabilities and guidance
docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md
The documentation lists aws_iam, gcp, and azure_ad as supported by both the Hook and Secrets Backend, and updates cross-references and troubleshooting guidance.
Secrets Backend configuration examples
docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md
A new section provides AWS IAM, GCP, and Azure AD AkeylessBackend examples, cloud package requirements, and an Amazon MWAA setup checklist.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested reviewers: eldadh89

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main documentation update: cloud authentication support in the Secrets Backend.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-airflow-cloud-auth-backend

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@baraka-akeyless
baraka-akeyless requested a review from EldadH89 July 12, 2026 13:24

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/Integrations` & Plugins/plugins-overview/apache-airflow-provider.md:
- Line 260: Update the checklist step describing the Akeyless aws_iam
Authentication Method to separately require binding it to the MWAA
execution-role ARN and assigning it to an Akeyless Access Role with read
permission for the configured secret paths.
- Around line 318-319: Update the “Cloud-based authentication in the Secrets
Backend” link in the documentation to use the page’s canonical absolute URL
while preserving the existing section anchor.
- Around line 60-62: The integrations table incorrectly lists cloud_id as a
required connection field. Update the aws_iam, gcp, and azure_ad rows so the
required-fields column contains access_id and any auth-specific optional fields,
while moving cloud_id to a dependency or package-extra note/column.
- Around line 256-258: Update the MWAA Akeyless configuration example around
secrets.backend_kwargs to include the Gateway-specific api_url value or an
explicit placeholder for the user’s Akeyless Gateway URL, while retaining the
SaaS endpoint example for the standard path. Ensure the surrounding instructions
clearly indicate that Gateway users must replace api_url with their Gateway URL.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 39f82489-04f5-4d9f-a144-7c668757064c

📥 Commits

Reviewing files that changed from the base of the PR and between c3207b4 and feab01e.

📒 Files selected for processing (1)
  • docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md

Comment thread docs/Integrations &amp; Plugins/plugins-overview/apache-airflow-provider.md Outdated
Comment on lines +256 to +258
| `secrets.backend_kwargs` | `{"api_url": "https://api.akeyless.io", "access_id": "<Access ID>", "access_type": "aws_iam"}` |

3. Ensure the MWAA VPC has outbound HTTPS access to your Akeyless API endpoint (`api.akeyless.io` or your Akeyless Gateway).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the relevant section with line numbers.
sed -n '230,280p' 'docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md'

Repository: akeylesslabs/technical-documentation

Length of output: 1779


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Search for the Akeyless Airflow provider connection docs referenced by the comment.
rg -n "api_url|Gateway|secrets.backend_kwargs|access_type" 'docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md' 'docs' -g '!**/*.png'

Repository: akeylesslabs/technical-documentation

Length of output: 50393


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# If the provider docs exist in-repo, inspect the relevant guidance for backend_kwargs / api_url.
fd -a 'connections.md' .

Repository: akeylesslabs/technical-documentation

Length of output: 174


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Read the exact snippet context from the review target file with numbers.
nl -ba 'docs/Integrations & Plugins/plugins-overview/apache-airflow-provider.md' | sed -n '248,265p'

Repository: akeylesslabs/technical-documentation

Length of output: 214


🌐 Web query:

airflow.apache.org docs akeyless provider connections api_url gateway backend_kwargs

💡 Result:

The apache-airflow-providers-akeyless package allows you to connect to the Akeyless Vault Platform using a dedicated akeyless connection type or as a secrets backend [1][2][3]. Akeyless Connection To configure an Akeyless connection, use the akeyless connection type [1][3]. The api_url field is used to specify the Akeyless API endpoint (e.g., https://api.akeyless.io) or your specific Akeyless Gateway URL [1][3]. Authentication details are provided via the login (Access ID), password (Access Key), and an Extra JSON field [1][3]. The Extra field supports various authentication methods defined by the access_type parameter (e.g., api_key, aws_iam, gcp, azure_ad, uid, jwt, k8s, certificate) [1][3]. Akeyless Secrets Backend When configuring Akeyless as a secrets backend in airflow.cfg or via environment variables, you use backend_kwargs to pass necessary configuration [4][5]. Example backend_kwargs configuration in airflow.cfg: [secrets] backend = airflow.providers.akeyless.secrets.akeyless.AkeylessBackend backend_kwargs = { "connections_path": "/airflow/connections", "variables_path": "/airflow/variables", "api_url": "https://api.akeyless.io", "access_id": "p-xxxxxxxxx", "access_key": "your-access-key", "access_type": "api_key" } Key parameters for backend_kwargs include [4][5]: - api_url: The Akeyless API endpoint (default: https://api.akeyless.io) [4][5]. - access_id: Your Akeyless Access ID [4][5]. - access_key: Your Akeyless Access Key (required for api_key authentication) [4][5]. - access_type: The authentication method (default: api_key) [4][5]. - connections_path, variables_path, config_path: Path prefixes in Akeyless for retrieving these Airflow objects [4][5]. Note: The Secrets Backend implementation supports api_key and uid authentication methods [3]. Additionally, in the connection settings, the field previously known as jwt was renamed to jwt_token to ensure proper masking in logs [6].

Citations:


Add a Gateway-specific api_url example. The MWAA snippet still points to https://api.akeyless.io; if users follow the Gateway path, they need to replace api_url with their Gateway URL or the backend will keep using the SaaS endpoint.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/Integrations` & Plugins/plugins-overview/apache-airflow-provider.md
around lines 256 - 258, Update the MWAA Akeyless configuration example around
secrets.backend_kwargs to include the Gateway-specific api_url value or an
explicit placeholder for the user’s Akeyless Gateway URL, while retaining the
SaaS endpoint example for the standard path. Ensure the surrounding instructions
clearly indicate that Gateway users must replace api_url with their Gateway URL.

Comment thread docs/Integrations &amp; Plugins/plugins-overview/apache-airflow-provider.md Outdated
Comment thread docs/Integrations &amp; Plugins/plugins-overview/apache-airflow-provider.md Outdated
baraka-akeyless and others added 2 commits July 12, 2026 16:26
- Split cloud_id out of Required fields into its own Extras package column
- Expand MWAA step 4 into two steps: ARN binding + Access Role assignment
- Use absolute URL for cross-reference link

Co-authored-by: Cursor <cursoragent@cursor.com>
@EldadH89
EldadH89 merged commit 62305cb into v1.0 Jul 15, 2026
10 checks passed
@EldadH89
EldadH89 deleted the update-airflow-cloud-auth-backend branch July 15, 2026 07:34
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