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]
