Skip to content

Commit 7c80133

Browse files
famartingyaron2ItalyPaleAle
authored
kafka aws iam auth profile (dapr#3240)
Signed-off-by: Fabian Martinez <[email protected]> Co-authored-by: Yaron Schneider <[email protected]> Co-authored-by: Alessandro (Ale) Segala <[email protected]>
1 parent a7c64f4 commit 7c80133

File tree

9 files changed

+215
-1
lines changed

9 files changed

+215
-1
lines changed

bindings/kafka/metadata.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,43 @@ authenticationProfiles:
139139
example: '"none"'
140140
allowedValues:
141141
- "none"
142+
- title: "AWS IAM"
143+
description: "Authenticate using AWS IAM, useful for Serverless AWS MSK"
144+
metadata:
145+
- name: authType
146+
type: string
147+
required: true
148+
description: |
149+
Authentication type.
150+
This must be set to "awsIAM" for this authentication profile.
151+
example: '"awsIAM"'
152+
allowedValues:
153+
- "awsIAM"
154+
- name: awsRegion
155+
type: string
156+
required: true
157+
description: |
158+
The AWS Region where the MSK Kafka broker is deployed to.
159+
example: '"us-east-1"'
160+
- name: awsAccessKey
161+
type: string
162+
required: true
163+
description: |
164+
AWS access key associated with an IAM account.
165+
example: '"AKIAIOSFODNN7EXAMPLE"'
166+
- name: awsSecretKey
167+
type: string
168+
required: true
169+
sensitive: true
170+
description: |
171+
The secret key associated with the access key.
172+
example: '"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"'
173+
- name: awsSessionToken
174+
type: string
175+
sensitive: true
176+
description: |
177+
AWS session token to use. A session token is only required if you are using\ntemporary security credentials.
178+
example: '"TOKEN"'
142179
metadata:
143180
- name: topics
144181
type: string

common/component/kafka/auth.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,15 @@ limitations under the License.
1414
package kafka
1515

1616
import (
17+
"context"
1718
"crypto/tls"
1819
"crypto/x509"
1920
"errors"
2021
"fmt"
2122

2223
"github.com/IBM/sarama"
24+
"github.com/aws/aws-msk-iam-sasl-signer-go/signer"
25+
aws2 "github.com/aws/aws-sdk-go-v2/aws"
2326
)
2427

2528
func updatePasswordAuthInfo(config *sarama.Config, metadata *KafkaMetadata, saslUsername, saslPassword string) {
@@ -88,3 +91,45 @@ func updateOidcAuthInfo(config *sarama.Config, metadata *KafkaMetadata) error {
8891

8992
return nil
9093
}
94+
95+
func updateAWSIAMAuthInfo(ctx context.Context, config *sarama.Config, metadata *KafkaMetadata) error {
96+
config.Net.SASL.Enable = true
97+
config.Net.SASL.Mechanism = sarama.SASLTypeOAuth
98+
config.Net.SASL.TokenProvider = &mskAccessTokenProvider{
99+
ctx: ctx,
100+
region: metadata.AWSRegion,
101+
accessKey: metadata.AWSAccessKey,
102+
secretKey: metadata.AWSSecretKey,
103+
sessionToken: metadata.AWSSessionToken,
104+
}
105+
106+
_, err := config.Net.SASL.TokenProvider.Token()
107+
if err != nil {
108+
return fmt.Errorf("error validating iam credentials %v", err)
109+
}
110+
return nil
111+
}
112+
113+
type mskAccessTokenProvider struct {
114+
ctx context.Context
115+
accessKey string
116+
secretKey string
117+
sessionToken string
118+
region string
119+
}
120+
121+
func (m *mskAccessTokenProvider) Token() (*sarama.AccessToken, error) {
122+
if m.accessKey != "" && m.secretKey != "" {
123+
token, _, err := signer.GenerateAuthTokenFromCredentialsProvider(m.ctx, m.region, aws2.CredentialsProviderFunc(func(ctx context.Context) (aws2.Credentials, error) {
124+
return aws2.Credentials{
125+
AccessKeyID: m.accessKey,
126+
SecretAccessKey: m.secretKey,
127+
SessionToken: m.sessionToken,
128+
}, nil
129+
}))
130+
return &sarama.AccessToken{Token: token}, err
131+
}
132+
133+
token, _, err := signer.GenerateAuthToken(m.ctx, m.region)
134+
return &sarama.AccessToken{Token: token}, err
135+
}

common/component/kafka/kafka.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func NewKafka(logger logger.Logger) *Kafka {
5959
}
6060

6161
// Init does metadata parsing and connection establishment.
62-
func (k *Kafka) Init(_ context.Context, metadata map[string]string) error {
62+
func (k *Kafka) Init(ctx context.Context, metadata map[string]string) error {
6363
upgradedMetadata, err := k.upgradeMetadata(metadata)
6464
if err != nil {
6565
return err
@@ -108,6 +108,12 @@ func (k *Kafka) Init(_ context.Context, metadata map[string]string) error {
108108
}
109109
case certificateAuthType:
110110
// already handled in updateTLSConfig
111+
case awsIAMAuthType:
112+
k.logger.Info("Configuring AWS IAM authentcation")
113+
err = updateAWSIAMAuthInfo(ctx, config, meta)
114+
if err != nil {
115+
return err
116+
}
111117
}
112118

113119
k.config = config

common/component/kafka/metadata.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ const (
3939
passwordAuthType = "password"
4040
oidcAuthType = "oidc"
4141
mtlsAuthType = "mtls"
42+
awsIAMAuthType = "awsiam"
4243
noAuthType = "none"
4344
)
4445

@@ -70,6 +71,11 @@ type KafkaMetadata struct {
7071
Version string `mapstructure:"version"`
7172
internalVersion sarama.KafkaVersion `mapstructure:"-"`
7273
internalOidcExtensions map[string]string `mapstructure:"-"`
74+
// aws iam auth profile
75+
AWSAccessKey string `mapstructure:"awsAccessKey"`
76+
AWSSecretKey string `mapstructure:"awsSecretKey"`
77+
AWSSessionToken string `mapstructure:"awsSessionToken"`
78+
AWSRegion string `mapstructure:"awsRegion"`
7379
}
7480

7581
// upgradeMetadata updates metadata properties based on deprecated usage.
@@ -213,6 +219,11 @@ func (k *Kafka) getKafkaMetadata(meta map[string]string) (*KafkaMetadata, error)
213219
return nil, errors.New("missing CA certificate property 'caCert' for authType 'certificate'")
214220
}
215221
k.logger.Debug("Configuring root certificate authentication.")
222+
case awsIAMAuthType:
223+
if m.AWSRegion == "" {
224+
return nil, errors.New("missing AWS region property 'awsRegion' for authType 'awsIAM'")
225+
}
226+
k.logger.Debug("Configuring AWS IAM authentication.")
216227
default:
217228
return nil, errors.New("kafka error: invalid value for 'authType' attribute")
218229
}

go.mod

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ require (
4141
github.com/apache/pulsar-client-go v0.11.0
4242
github.com/apache/rocketmq-client-go/v2 v2.1.2-0.20230412142645-25003f6f083d
4343
github.com/apache/thrift v0.13.0
44+
github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0
4445
github.com/aws/aws-sdk-go v1.45.19
46+
github.com/aws/aws-sdk-go-v2 v1.19.0
4547
github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874
4648
github.com/camunda/zeebe/clients/go/v8 v8.2.12
4749
github.com/cenkalti/backoff/v4 v4.2.1
@@ -165,6 +167,17 @@ require (
165167
github.com/ardielle/ardielle-go v1.5.2 // indirect
166168
github.com/armon/go-metrics v0.4.1 // indirect
167169
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 // indirect
170+
github.com/aws/aws-sdk-go-v2/config v1.18.28 // indirect
171+
github.com/aws/aws-sdk-go-v2/credentials v1.13.27 // indirect
172+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5 // indirect
173+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 // indirect
174+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 // indirect
175+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36 // indirect
176+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 // indirect
177+
github.com/aws/aws-sdk-go-v2/service/sso v1.12.13 // indirect
178+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13 // indirect
179+
github.com/aws/aws-sdk-go-v2/service/sts v1.19.3 // indirect
180+
github.com/aws/smithy-go v1.13.5 // indirect
168181
github.com/awslabs/kinesis-aggregation/go v0.0.0-20210630091500-54e17340d32f // indirect
169182
github.com/benbjohnson/clock v1.3.5 // indirect
170183
github.com/beorn7/perks v1.0.1 // indirect

go.sum

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,22 +237,48 @@ github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6l
237237
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0=
238238
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
239239
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
240+
github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 h1:UyjtGmO0Uwl/K+zpzPwLoXzMhcN9xmnR2nrqJoBrg3c=
241+
github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0/go.mod h1:TJAXuFs2HcMib3sN5L0gUC+Q01Qvy3DemvA55WuC+iA=
240242
github.com/aws/aws-sdk-go v1.19.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
241243
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
242244
github.com/aws/aws-sdk-go v1.32.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
243245
github.com/aws/aws-sdk-go v1.45.19 h1:+4yXWhldhCVXWFOQRF99ZTJ92t4DtoHROZIbN7Ujk/U=
244246
github.com/aws/aws-sdk-go v1.45.19/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
245247
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
246248
github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
249+
github.com/aws/aws-sdk-go-v2 v1.19.0 h1:klAT+y3pGFBU/qVf1uzwttpBbiuozJYWzNLHioyDJ+k=
250+
github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
247251
github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw=
252+
github.com/aws/aws-sdk-go-v2/config v1.18.28 h1:TINEaKyh1Td64tqFvn09iYpKiWjmHYrG1fa91q2gnqw=
253+
github.com/aws/aws-sdk-go-v2/config v1.18.28/go.mod h1:nIL+4/8JdAuNHEjn/gPEXqtnS02Q3NXB/9Z7o5xE4+A=
248254
github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ=
255+
github.com/aws/aws-sdk-go-v2/credentials v1.13.27 h1:dz0yr/yR1jweAnsCx+BmjerUILVPQ6FS5AwF/OyG1kA=
256+
github.com/aws/aws-sdk-go-v2/credentials v1.13.27/go.mod h1:syOqAek45ZXZp29HlnRS/BNgMIW6uiRmeuQsz4Qh2UE=
249257
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM=
258+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5 h1:kP3Me6Fy3vdi+9uHd7YLr6ewPxRL+PU6y15urfTaamU=
259+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5/go.mod h1:Gj7tm95r+QsDoN2Fhuz/3npQvcZbkEf5mL70n3Xfluc=
260+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 h1:hMUCiE3Zi5AHrRNGf5j985u0WyqI6r2NULhUfo0N/No=
261+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M=
262+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 h1:yOpYx+FTBdpk/g+sBU6Cb1H0U/TLEcYYp66mYqsPpcc=
263+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY=
250264
github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ=
265+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36 h1:8r5m1BoAWkn0TDC34lUculryf7nUF25EgIMdjvGCkgo=
266+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36/go.mod h1:Rmw2M1hMVTwiUhjwMoIBFWFJMhvJbct06sSidxInkhY=
251267
github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY=
252268
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8=
269+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 h1:IiDolu/eLmuB18DRZibj77n1hHQT7z12jnGO7Ze3pLc=
270+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29/go.mod h1:fDbkK4o7fpPXWn8YAPmTieAMuB9mk/VgvW64uaUqxd4=
253271
github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk=
272+
github.com/aws/aws-sdk-go-v2/service/sso v1.12.13 h1:sWDv7cMITPcZ21QdreULwxOOAmE05JjEsT6fCDtDA9k=
273+
github.com/aws/aws-sdk-go-v2/service/sso v1.12.13/go.mod h1:DfX0sWuT46KpcqbMhJ9QWtxAIP1VozkDWf8VAkByjYY=
274+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13 h1:BFubHS/xN5bjl818QaroN6mQdjneYQ+AOx44KNXlyH4=
275+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13/go.mod h1:BzqsVVFduubEmzrVtUFQQIQdFqvUItF8XUq2EnS8Wog=
254276
github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g=
277+
github.com/aws/aws-sdk-go-v2/service/sts v1.19.3 h1:e5mnydVdCVWxP+5rPAGi2PYxC7u2OZgH1ypC114H04U=
278+
github.com/aws/aws-sdk-go-v2/service/sts v1.19.3/go.mod h1:yVGZA1CPkmUhBdA039jXNJJG7/6t+G+EBWmFq23xqnY=
255279
github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
280+
github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8=
281+
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
256282
github.com/awslabs/kinesis-aggregation/go v0.0.0-20210630091500-54e17340d32f h1:Pf0BjJDga7C98f0vhw+Ip5EaiE07S3lTKpIYPNS0nMo=
257283
github.com/awslabs/kinesis-aggregation/go v0.0.0-20210630091500-54e17340d32f/go.mod h1:SghidfnxvX7ribW6nHI7T+IBbc9puZ9kk5Tx/88h8P4=
258284
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=

pubsub/kafka/metadata.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,43 @@ authenticationProfiles:
133133
example: '"none"'
134134
allowedValues:
135135
- "none"
136+
- title: "AWS IAM"
137+
description: "Authenticate using AWS IAM, useful for Serverless AWS MSK"
138+
metadata:
139+
- name: authType
140+
type: string
141+
required: true
142+
description: |
143+
Authentication type.
144+
This must be set to "awsIAM" for this authentication profile.
145+
example: '"awsIAM"'
146+
allowedValues:
147+
- "awsIAM"
148+
- name: awsRegion
149+
type: string
150+
required: true
151+
description: |
152+
The AWS Region where the MSK Kafka broker is deployed to.
153+
example: '"us-east-1"'
154+
- name: awsAccessKey
155+
type: string
156+
required: true
157+
description: |
158+
AWS access key associated with an IAM account.
159+
example: '"AKIAIOSFODNN7EXAMPLE"'
160+
- name: awsSecretKey
161+
type: string
162+
required: true
163+
sensitive: true
164+
description: |
165+
The secret key associated with the access key.
166+
example: '"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"'
167+
- name: awsSessionToken
168+
type: string
169+
sensitive: true
170+
description: |
171+
AWS session token to use. A session token is only required if you are using\ntemporary security credentials.
172+
example: '"TOKEN"'
136173
metadata:
137174
- name: brokers
138175
type: string

tests/certification/go.mod

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,19 @@ require (
7878
github.com/ardielle/ardielle-go v1.5.2 // indirect
7979
github.com/armon/go-metrics v0.4.1 // indirect
8080
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 // indirect
81+
github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 // indirect
82+
github.com/aws/aws-sdk-go-v2 v1.19.0 // indirect
83+
github.com/aws/aws-sdk-go-v2/config v1.18.28 // indirect
84+
github.com/aws/aws-sdk-go-v2/credentials v1.13.27 // indirect
85+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5 // indirect
86+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 // indirect
87+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 // indirect
88+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36 // indirect
89+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 // indirect
90+
github.com/aws/aws-sdk-go-v2/service/sso v1.12.13 // indirect
91+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13 // indirect
92+
github.com/aws/aws-sdk-go-v2/service/sts v1.19.3 // indirect
93+
github.com/aws/smithy-go v1.13.5 // indirect
8194
github.com/benbjohnson/clock v1.3.5 // indirect
8295
github.com/beorn7/perks v1.0.1 // indirect
8396
github.com/bits-and-blooms/bitset v1.4.0 // indirect

tests/certification/go.sum

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,21 +177,47 @@ github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6l
177177
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0=
178178
github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
179179
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
180+
github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0 h1:UyjtGmO0Uwl/K+zpzPwLoXzMhcN9xmnR2nrqJoBrg3c=
181+
github.com/aws/aws-msk-iam-sasl-signer-go v1.0.0/go.mod h1:TJAXuFs2HcMib3sN5L0gUC+Q01Qvy3DemvA55WuC+iA=
180182
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
181183
github.com/aws/aws-sdk-go v1.32.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
182184
github.com/aws/aws-sdk-go v1.45.19 h1:+4yXWhldhCVXWFOQRF99ZTJ92t4DtoHROZIbN7Ujk/U=
183185
github.com/aws/aws-sdk-go v1.45.19/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
184186
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
185187
github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
188+
github.com/aws/aws-sdk-go-v2 v1.19.0 h1:klAT+y3pGFBU/qVf1uzwttpBbiuozJYWzNLHioyDJ+k=
189+
github.com/aws/aws-sdk-go-v2 v1.19.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
186190
github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw=
191+
github.com/aws/aws-sdk-go-v2/config v1.18.28 h1:TINEaKyh1Td64tqFvn09iYpKiWjmHYrG1fa91q2gnqw=
192+
github.com/aws/aws-sdk-go-v2/config v1.18.28/go.mod h1:nIL+4/8JdAuNHEjn/gPEXqtnS02Q3NXB/9Z7o5xE4+A=
187193
github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ=
194+
github.com/aws/aws-sdk-go-v2/credentials v1.13.27 h1:dz0yr/yR1jweAnsCx+BmjerUILVPQ6FS5AwF/OyG1kA=
195+
github.com/aws/aws-sdk-go-v2/credentials v1.13.27/go.mod h1:syOqAek45ZXZp29HlnRS/BNgMIW6uiRmeuQsz4Qh2UE=
188196
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM=
197+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5 h1:kP3Me6Fy3vdi+9uHd7YLr6ewPxRL+PU6y15urfTaamU=
198+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.5/go.mod h1:Gj7tm95r+QsDoN2Fhuz/3npQvcZbkEf5mL70n3Xfluc=
199+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35 h1:hMUCiE3Zi5AHrRNGf5j985u0WyqI6r2NULhUfo0N/No=
200+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.35/go.mod h1:ipR5PvpSPqIqL5Mi82BxLnfMkHVbmco8kUwO2xrCi0M=
201+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29 h1:yOpYx+FTBdpk/g+sBU6Cb1H0U/TLEcYYp66mYqsPpcc=
202+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.29/go.mod h1:M/eUABlDbw2uVrdAn+UsI6M727qp2fxkp8K0ejcBDUY=
189203
github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ=
204+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36 h1:8r5m1BoAWkn0TDC34lUculryf7nUF25EgIMdjvGCkgo=
205+
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.36/go.mod h1:Rmw2M1hMVTwiUhjwMoIBFWFJMhvJbct06sSidxInkhY=
190206
github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY=
191207
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8=
208+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29 h1:IiDolu/eLmuB18DRZibj77n1hHQT7z12jnGO7Ze3pLc=
209+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.29/go.mod h1:fDbkK4o7fpPXWn8YAPmTieAMuB9mk/VgvW64uaUqxd4=
192210
github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk=
211+
github.com/aws/aws-sdk-go-v2/service/sso v1.12.13 h1:sWDv7cMITPcZ21QdreULwxOOAmE05JjEsT6fCDtDA9k=
212+
github.com/aws/aws-sdk-go-v2/service/sso v1.12.13/go.mod h1:DfX0sWuT46KpcqbMhJ9QWtxAIP1VozkDWf8VAkByjYY=
213+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13 h1:BFubHS/xN5bjl818QaroN6mQdjneYQ+AOx44KNXlyH4=
214+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.13/go.mod h1:BzqsVVFduubEmzrVtUFQQIQdFqvUItF8XUq2EnS8Wog=
193215
github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g=
216+
github.com/aws/aws-sdk-go-v2/service/sts v1.19.3 h1:e5mnydVdCVWxP+5rPAGi2PYxC7u2OZgH1ypC114H04U=
217+
github.com/aws/aws-sdk-go-v2/service/sts v1.19.3/go.mod h1:yVGZA1CPkmUhBdA039jXNJJG7/6t+G+EBWmFq23xqnY=
194218
github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
219+
github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8=
220+
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
195221
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
196222
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
197223
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=

0 commit comments

Comments
 (0)