Hey there,

Checking if Flink kinesis connector (using 1.15.2 version) EFO can do 
cross-accounts? My configuration looks like this:
if (kinesisIamRole != null && !kinesisIamRole.isEmpty()) {
  kinesisConsumerProps.put(AWSConfigConstants.AWS_ROLE_ARN, kinesisIamRole);
  kinesisConsumerProps.put(AWSConfigConstants.AWS_CREDENTIALS_PROVIDER, 
"ASSUME_ROLE");
  kinesisConsumerProps.put(AWSConfigConstants.AWS_ROLE_SESSION_NAME, 
"flink-kinesis-kafka-connector-session");
}


if (kinesisUseEfo && kinesisEfoConsumerName != null && 
!kinesisEfoConsumerName.isBlank()) {
  kinesisConsumerProps.put(ConsumerConfigConstants.RECORD_PUBLISHER_TYPE, 
ConsumerConfigConstants.RecordPublisherType.EFO.name());
  kinesisConsumerProps.put(ConsumerConfigConstants.EFO_CONSUMER_NAME, 
kinesisEfoConsumerName);
}

And from docs I’m expecting that to just flow thru. All the IAM policies and 
permissions have been set. However, we get the ff error (xxx is the AWS account 
where the Flink job is hosted and not where the kinesis stream is):

Caused by: java.util.concurrent.ExecutionException: 
org.apache.flink.kinesis.shaded.software.amazon.awssdk.services.kinesis.model.KinesisException:
 User: 
arn:aws:sts::xxx:assumed-role/flink-flinkkinesiskafkaconnector0d95fc3-role-ap-southeast-2/aws-sdk-java-xxx
 is not authorized to perform: kinesis:DescribeStreamSummary on resource: 
arn:aws:kinesis:us-west-2:xxx:stream/dev-logs because no identity-based policy 
allows the kinesis:DescribeStreamSummary action

Reply via email to