Skip to content

Commit 43c4fe1

Browse files
rittnejePettitWesley
authored andcommitted
aws: add documentation for credentials chain
Signed-off-by: Jesse Rittner <[email protected]>
1 parent 8597f73 commit 43c4fe1

File tree

6 files changed

+47
-1
lines changed

6 files changed

+47
-1
lines changed

administration/aws-credentials.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# AWS Credentials
2+
3+
Plugins that interact with AWS services will fetch credentials from various providers in the following order.
4+
Only the first provider that is able to provide credentials will be used.
5+
6+
All AWS plugins additionally support a `role_arn` (or `AWS_ROLE_ARN`, for [Elasticsearch](../pipeline/outputs/elasticsearch.md)) configuration parameter. If specified, the fetched credentials will then be used to assume the given role.
7+
8+
## 1. Environment Variables
9+
10+
Uses the `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` (and optionally `AWS_SESSION_TOKEN`) environment variables if set.
11+
12+
## 2. Shared Configuration and Credentials Files
13+
14+
Reads the shared config file at `$AWS_CONFIG_FILE` (or `$HOME/.aws/config`) and the shared credentials file at `$AWS_SHARED_CREDENTIALS_FILE` (or `$HOME/.aws/credentials`) to fetch the credentials for the profile named `$AWS_PROFILE` or `$AWS_DEFAULT_PROFILE` (or "default"). See https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html.
15+
16+
The shared settings will be evaluated in the following order.
17+
18+
Setting|File|Description
19+
---|---|---
20+
`credential_process`|config| See https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html.<br/>Supported on Linux only.
21+
`aws_access_key_id`<br/>`aws_secret_access_key`<br/>*`aws_session_token`*|credentials|Access key ID and secret key to use to authenticate.<br/>The session token must be set for temporary credentials.
22+
23+
At this time, no other settings are supported.
24+
25+
## 3. EKS Web Identity Token (OIDC)
26+
27+
Fetches credentials via a signed web identity token for a Kubernetes service account.
28+
See https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html.
29+
30+
## 4. ECS HTTP Credentials Endpoint
31+
32+
Fetches credentials for the ECS task's role.
33+
See https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-iam-roles.html.
34+
35+
## 5. EC2 Instance Profile Credentials (IMDS)
36+
37+
Fetches credentials for the EC2 instance profile's role.
38+
See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html.

pipeline/outputs/cloudwatch.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ The Amazon CloudWatch output plugin allows to ingest your records into the [Clou
1010

1111
This is the documentation for the core Fluent Bit CloudWatch plugin written in C. It can replace the [aws/amazon-cloudwatch-logs-for-fluent-bit](https://github.com/aws/amazon-cloudwatch-logs-for-fluent-bit) Golang Fluent Bit plugin released last year. The Golang plugin was named `cloudwatch`; this new high performance CloudWatch plugin is called `cloudwatch_logs` to prevent conflicts/confusion. Check the amazon repo for the Golang plugin for details on the deprecation/migration plan for the original plugin.
1212

13+
See [here](../../administration/aws-credentials.md) for details on how AWS credentials are fetched.
14+
1315
## Configuration Parameters
1416

1517
| Key | Description |

pipeline/outputs/elasticsearch.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Fluent Bit v1.5 changed the default mapping type from `flb_type` to `_doc`, whic
156156

157157
The Amazon ElasticSearch Service adds an extra security layer where HTTP requests must be signed with AWS Sigv4. Fluent Bit v1.5 introduced full support for Amazon ElasticSearch Service with IAM Authentication.
158158

159-
Fluent Bit supports sourcing AWS credentials from any of the standard sources \(for example, an [Amazon EKS IAM Role for a Service Account](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)\).
159+
See [here](../../administration/aws-credentials.md) for details on how AWS credentials are fetched.
160160

161161
Example configuration:
162162

pipeline/outputs/firehose.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ The Amazon Kinesis Data Firehose output plugin allows to ingest your records int
1010

1111
This is the documentation for the core Fluent Bit Firehose plugin written in C. It can replace the [aws/amazon-kinesis-firehose-for-fluent-bit](https://github.com/aws/amazon-kinesis-firehose-for-fluent-bit) Golang Fluent Bit plugin released last year. The Golang plugin was named `firehose`; this new high performance and highly efficient firehose plugin is called `kinesis_firehose` to prevent conflicts/confusion.
1212

13+
See [here](../../administration/aws-credentials.md) for details on how AWS credentials are fetched.
14+
1315
## Configuration Parameters
1416

1517
| Key | Description |

pipeline/outputs/kinesis.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ The Amazon Kinesis Data Streams output plugin allows to ingest your records into
1010

1111
This is the documentation for the core Fluent Bit Kinesis plugin written in C. It has all the core features of the [aws/amazon-kinesis-streams-for-fluent-bit](https://github.com/aws/amazon-kinesis-streams-for-fluent-bit) Golang Fluent Bit plugin released in 2019. The Golang plugin was named `kinesis`; this new high performance and highly efficient kinesis plugin is called `kinesis_streams` to prevent conflicts/confusion.
1212

13+
See [here](../../administration/aws-credentials.md) for details on how AWS credentials are fetched.
14+
1315
## Configuration Parameters
1416

1517
| Key | Description |

pipeline/outputs/s3.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ The plugin allows you to specify a maximum file size, and a timeout for uploads.
1414

1515
Records are stored in files in S3 as newline delimited JSON.
1616

17+
See [here](../../administration/aws-credentials.md) for details on how AWS credentials are fetched.
18+
1719
## Configuration Parameters
1820

1921
| Key | Description | Default |

0 commit comments

Comments
 (0)