Exemple #1
0
 def _assume_role(self, sts_client: boto3.client) -> Dict:
     kw = {
         "RoleSessionName":
         self._strip_invalid_session_name_characters(
             f"Airflow_{self.conn.conn_id}"),
         **self.conn.assume_role_kwargs,
         "RoleArn":
         self.role_arn,
     }
     return sts_client.assume_role(**kw)
Exemple #2
0
 def _assume_role(self, sts_client: boto3.client, extra_config: dict,
                  role_arn: str, assume_role_kwargs: dict):
     if "external_id" in extra_config:  # Backwards compatibility
         assume_role_kwargs["ExternalId"] = extra_config.get("external_id")
     role_session_name = "Airflow_" + self.aws_conn_id
     self.log.info(
         "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)",
         role_arn,
         role_session_name,
     )
     return sts_client.assume_role(RoleArn=role_arn,
                                   RoleSessionName=role_session_name,
                                   **assume_role_kwargs)
Exemple #3
0
 def _assume_role(self, sts_client: boto3.client) -> Dict:
     assume_role_kwargs = self.extra_config.get("assume_role_kwargs", {})
     if "external_id" in self.extra_config:  # Backwards compatibility
         assume_role_kwargs["ExternalId"] = self.extra_config.get("external_id")
     role_session_name = self._strip_invalid_session_name_characters(f"Airflow_{self.conn.conn_id}")
     self.log.debug(
         "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)",
         self.role_arn,
         role_session_name,
     )
     return sts_client.assume_role(
         RoleArn=self.role_arn, RoleSessionName=role_session_name, **assume_role_kwargs
     )
Exemple #4
0
 def _assume_role(
     self, sts_client: boto3.client, role_arn: str, assume_role_kwargs: Dict[str, Any]
 ) -> Dict:
     if "external_id" in self.extra_config:  # Backwards compatibility
         assume_role_kwargs["ExternalId"] = self.extra_config.get("external_id")
     role_session_name = f"Airflow_{self.conn.conn_id}"
     self.log.info(
         "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)",
         role_arn,
         role_session_name,
     )
     return sts_client.assume_role(
         RoleArn=role_arn, RoleSessionName=role_session_name, **assume_role_kwargs
     )
Exemple #5
0
 def _assume_role(self, sts_client: boto3.client) -> Dict:
     assume_role_kwargs = self.extra_config.get("assume_role_kwargs", {})
     if "ExternalId" not in assume_role_kwargs and "external_id" in self.extra_config:
         warnings.warn(
             "'external_id' in extra config is deprecated and will be removed in a future releases. "
             "Set 'ExternalId' in 'assume_role_kwargs' in extra config.",
             DeprecationWarning,
             stacklevel=3,
         )
         assume_role_kwargs["ExternalId"] = self.extra_config.get("external_id")
     role_session_name = self._strip_invalid_session_name_characters(f"Airflow_{self.conn.conn_id}")
     self.log.debug(
         "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)",
         self.role_arn,
         role_session_name,
     )
     return sts_client.assume_role(
         RoleArn=self.role_arn, RoleSessionName=role_session_name, **assume_role_kwargs
     )