NiFi 看不到 AWS 配置文件



>我正在尝试使用 ListS3 访问 S3 中的存储桶,并且我已经设置了一个 AWSCredentialsProviderControllerService。但是,当我运行此处理器时,它会返回The security token included in the request is invalid (Service: AWSSecurityTokenService; Status Code: 403; Error Code: InvalidClientTokenId).

我可以毫无问题地从 aws cli 运行,并且命令行和 NiFi 都在运行同一个用户。我只是对为什么它在 NiFi 上失败而不是在 cli 上失败感到困惑,当我以 nifi 用户身份运行时。似乎看不到我的配置文件名称配置文件,该配置文件已经配置了区域,role_arn和credential_source。

在 cli 上,我运行aws s3 cp s3://bucket/path/to/file.file /path/to/dest --profile profilename.控制器服务的配置是

Use Default Credentials: false
Access Key: No value set
Secret Key: No value set
Credentials File: No value set
Profile Name: profilename
Use Anonymous Credentials: false
Assume Role ARN: arn:aws:iam:00000000000:role/bucket
Assume Role Session Name: default
Session Time: 3600

我只是不清楚为什么这在 NiFi 中不起作用,而是在 cli 上工作,我不知道如何解决它。

一种替代选项是使用AWS instance-profile并在S3 bucket policy中标记该配置文件。也许本文会帮助您 如何向我的 Amazon EC2 实例授予对 Amazon S3 存储桶的访问权限?。
如果您的 NiFi 也在 AWS (EC2( 中,则使用实例配置文件是与其他 AWS 服务通信的最安全方法。

最新更新