diff --git a/physical/s3.go b/physical/s3.go index 5d75730c89..b2e6947e73 100644 --- a/physical/s3.go +++ b/physical/s3.go @@ -41,6 +41,10 @@ func newS3Backend(conf map[string]string) (Backend, error) { if !ok { secret_key = "" } + session_token, ok := conf["session_token"] + if !ok { + session_token = "" + } region, ok := conf["region"] if !ok { region = os.Getenv("AWS_DEFAULT_REGION") @@ -53,6 +57,7 @@ func newS3Backend(conf map[string]string) (Backend, error) { &credentials.StaticProvider{Value: credentials.Value{ AccessKeyID: access_key, SecretAccessKey: secret_key, + SessionToken: session_token, }}, &credentials.EnvProvider{}, &credentials.SharedCredentialsProvider{Filename: "", Profile: ""}, diff --git a/physical/s3_test.go b/physical/s3_test.go index 671cf4a9cb..360ffb45a8 100644 --- a/physical/s3_test.go +++ b/physical/s3_test.go @@ -69,6 +69,7 @@ func TestS3Backend(t *testing.T) { b, err := NewBackend("s3", map[string]string{ "access_key": creds.AccessKeyID, "secret_key": creds.SecretAccessKey, + "session_token": creds.SessionToken, "bucket": bucket, }) if err != nil {