Skip to content

Commit 770cea2

Browse files
authored
STS credentials provider and UserAgent tracking (#3539)
- Remove CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN enum from UserAgent - Add CREDENTIALS_STS_WEB_IDENTITY_TOKEN tracking to STSCredentialsProvider - Simplify UserAgent credential tracking implementation
1 parent 84f7a05 commit 770cea2

File tree

4 files changed

+6
-1
lines changed

4 files changed

+6
-1
lines changed

src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ enum class UserAgentFeature {
3737
CREDENTIALS_PROFILE_PROCESS,
3838
CREDENTIALS_IMDS,
3939
CREDENTIALS_STS_ASSUME_ROLE,
40+
CREDENTIALS_STS_WEB_IDENTITY_TOKEN,
4041
CREDENTIALS_HTTP,
4142
CREDENTIALS_PROFILE_SOURCE_PROFILE,
4243
};

src/aws-cpp-sdk-core/source/auth/STSCredentialsProvider.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <aws/core/Globals.h>
66
#include <aws/core/auth/STSCredentialsProvider.h>
77
#include <aws/core/client/ClientConfiguration.h>
8+
#include <aws/core/client/UserAgent.h>
89
#include <aws/core/platform/Environment.h>
910
#include <aws/crt/auth/Credentials.h>
1011

@@ -106,7 +107,7 @@ AWSCredentials STSAssumeRoleWebIdentityCredentialsProvider::GetAWSCredentials()
106107
m_refreshSignal.wait_for(lock, m_providerFuturesTimeoutMs, [&refreshDone]() -> bool { return refreshDone; });
107108

108109
if (!credentials.IsEmpty()) {
109-
credentials.AddUserAgentFeature(Aws::Client::UserAgentFeature::CREDENTIALS_STS_ASSUME_ROLE);
110+
credentials.AddUserAgentFeature(Aws::Client::UserAgentFeature::CREDENTIALS_STS_WEB_IDENTITY_TOKEN);
110111
}
111112

112113
return credentials;

src/aws-cpp-sdk-core/source/client/UserAgent.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const std::pair<UserAgentFeature, const char*> BUSINESS_METRIC_MAPPING[] = {
4747
{UserAgentFeature::CREDENTIALS_PROFILE_PROCESS, "v"},
4848
{UserAgentFeature::CREDENTIALS_IMDS, "0"},
4949
{UserAgentFeature::CREDENTIALS_STS_ASSUME_ROLE, "i"},
50+
{UserAgentFeature::CREDENTIALS_STS_WEB_IDENTITY_TOKEN, "q"},
5051
{UserAgentFeature::CREDENTIALS_HTTP, "z"},
5152
{UserAgentFeature::CREDENTIALS_PROFILE_SOURCE_PROFILE, "p"},
5253
};

src/aws-cpp-sdk-identity-management/source/auth/STSAssumeRoleCredentialsProvider.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <aws/sts/STSClient.h>
99
#include <aws/core/utils/logging/LogMacros.h>
1010
#include <aws/core/utils/Outcome.h>
11+
#include <aws/core/client/UserAgent.h>
1112

1213
using namespace Aws::Utils;
1314
using namespace Aws::STS;
@@ -71,6 +72,7 @@ namespace Aws
7172
{
7273
const auto& stsCredentials = assumeRoleOutcome.GetResult().GetCredentials();
7374
m_cachedCredentials = AWSCredentials(stsCredentials.GetAccessKeyId(), stsCredentials.GetSecretAccessKey(), stsCredentials.GetSessionToken());
75+
m_cachedCredentials.AddUserAgentFeature(Aws::Client::UserAgentFeature::CREDENTIALS_STS_ASSUME_ROLE);
7476
m_expiry = stsCredentials.GetExpiration().Millis();
7577
AWS_LOGSTREAM_DEBUG(CLASS_TAG, "Credentials refreshed with new expiry " <<
7678
DateTime(m_expiry.load()).ToGmtString(DateFormat::ISO_8601));

0 commit comments

Comments
 (0)