olchas edited a comment on issue #8803:
URL: https://github.com/apache/airflow/issues/8803#issuecomment-659540464


   @mik-laj sure. Could you assign me to this issue, please?
   
   @ad-m, thanks for the offer. I am uncertain about supporting impersonation 
via environment variable. As far as I know, there is no mechanism to provide a 
value of environment variable specifically for a single Task Instance, so with 
this approach all Task Instances would be impersonating the same account (for 
example, GOOGLE_APPLICATION_CREDENTIALS is used only if no other account 
details have been provided in gcp connection).
   
   I was looking into the 
[GoogleBaseHook](https://github.com/apache/airflow/blob/master/airflow/providers/google/common/hooks/base_google.py#L125)
 implementation and I was thinking about specifying the chain of accounts to 
impersonate in the `extras` field of connection used by the hook, similarly to 
how other fields, like `scopes` or `key_path`, are provided. This way we would 
avoid the necessity to modify every hook derived from GoogleBaseHook and 
operators that are using them, as the information would be provided in the 
connection, not in operator definition. I guess we could follow the same 
solution in hooks dedicated for other cloud providers but I haven't looked at 
them yet.
   
   However, this would still require a separate connection for every 
impersonated account, even if all of them were using the same service account 
as a source. You would not have to generate or rotate keys for impersonated 
accounts, but with a lot of accounts being impersonated by the same source 
account, this would put the effort to keep connections consistent on team 
managing airflow.
   
   WDYT about this approach?


----------------------------------------------------------------
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.

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


Reply via email to