baraka-akeyless opened a new pull request, #69772:
URL: https://github.com/apache/airflow/pull/69772

   ## Summary
   
   - Add `aws_iam`, `gcp`, and `azure_ad` authentication support to 
`AkeylessBackend` secrets backend, enabling seamless integration with managed 
Airflow services (Amazon MWAA, GCP Cloud Composer, Azure) without requiring 
static API keys.
   - Cloud auth uses the optional `akeyless_cloud_id` package (already an extra 
dependency of the provider) to generate cloud identity tokens, reusing the same 
pattern already implemented in `AkeylessHook`.
   - Add documentation for MWAA and Cloud Composer setup, and 7 new unit tests 
covering all cloud auth paths.
   
   ### Motivation
   
   The Akeyless secrets backend previously only supported `api_key` and `uid` 
authentication. Users on managed Airflow services like Amazon MWAA naturally 
expect to authenticate using their environment's IAM role rather than managing 
static API keys. This change closes that gap.
   
   ### Changes
   
   **`providers/akeyless/src/airflow/providers/akeyless/secrets/akeyless.py`**
   - Expanded `_SUPPORTED_BACKEND_AUTH_TYPES` to include `aws_iam`, `gcp`, 
`azure_ad`
   - Added `_get_cloud_id()` method for cloud identity token generation
   - Updated `_authenticate()` to route cloud auth types through 
`_get_cloud_id()`
   - Updated docstring with all auth methods and new parameters 
(`gcp_audience`, `azure_object_id`)
   
   **`providers/akeyless/tests/unit/akeyless/secrets/test_akeyless.py`**
   - 7 new tests: auth flow for each cloud type, `CloudId` integration, 
parameter passthrough, and missing-package error handling
   
   **`providers/akeyless/docs/secrets-backend.rst`**
   - New "Authentication Methods" section with all 5 supported types
   - Step-by-step "Using with Amazon MWAA" guide
   - "Using with GCP Cloud Composer" configuration example
   - Added `gcp_audience`, `azure_object_id`, `token_ttl` to parameters table
   
   ## Test plan
   
   - [x] All 43 akeyless provider unit tests pass locally
   - [x] Existing api_key and uid tests unaffected
   - [x] New tests cover aws_iam, gcp, azure_ad auth flows
   - [x] Missing `akeyless_cloud_id` package raises clear `ImportError`
   
   Made with [Cursor](https://cursor.com)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to