Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve AWS Kinesis IAM Security #4864

Merged
merged 2 commits into from
Oct 18, 2018
Merged

Improve AWS Kinesis IAM Security #4864

merged 2 commits into from
Oct 18, 2018

Conversation

tpounds
Copy link
Contributor

@tpounds tpounds commented Oct 15, 2018

Updates the plugin's stream discovery to use DescribeStreamSummary[1]
in favor of ListStreams[2]. The API switch has the following benefits.

  • Faster Startup - Previously, the configured stream had to be compared
    against all available streams (possibly paginating the results) to check
    its existence. Now it just calls a single API.

  • Improved Security - Previously, the AWS IAM credentials had to have
    read access to list all available streams. Now the AWS IAM credentials
    can restrict operations to a specific Kinesis stream ARN.

  • Improve API Limits - Per the AWS documentation, DescribeStreamSummary[1]
    has a limit of 20 transactions per second while ListStreams[2] has a limit
    of 5 transaction per second.

[1] https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamSummary.html
[2] https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreams.html

Required for all PRs:

  • Signed CLA.
  • Associated README.md updated.
  • Has appropriate unit tests.

Updates the plugin's stream discovery to use DescribeStreamSummary[1]
in favor of ListStreams[2]. The API switch has the following benefits.

* Faster Startup - Previously, the configured stream had to be compared
against all available streams (possibly paginating the results) to check
its existence. Now it just calls a single API.

* Improved Security - Previously, the AWS IAM credentials had to have
read access to list all available streams. Now the AWS IAM credentials
can restrict operations to a specific Kinesis stream ARN.

* Improve API Limits - Per the AWS documentation, DescribeStreamSummary[1]
has a limit of 20 transactions per second while ListStreams[2] has a limit
of 5 transaction per second.

[1] https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamSummary.html
[2] https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreams.html
@danielnelson danielnelson added this to the 1.9.0 milestone Oct 15, 2018
@danielnelson danielnelson added the feat Improvement on an existing feature such as adding a new setting/mode to an existing plugin label Oct 15, 2018
@danielnelson danielnelson merged commit 136a572 into influxdata:master Oct 18, 2018
@tpounds tpounds deleted the fix-kinesis-iam-sec branch October 18, 2018 20:23
athoune pushed a commit to bearstech/telegraf that referenced this pull request Apr 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat Improvement on an existing feature such as adding a new setting/mode to an existing plugin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants