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

aws: iam roles anywhere patch part 1 #38786

Open
wants to merge 38 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
94bf911
more refactoring
nbaws Mar 1, 2025
8aa90cf
add dwyu
nbaws Mar 1, 2025
f039dcc
refactor
nbaws Mar 1, 2025
9397db0
finished refactor
nbaws Mar 2, 2025
896f17b
remove commented
nbaws Mar 2, 2025
0c8fc0e
update includes
nbaws Mar 2, 2025
ec51df0
update test cases
nbaws Mar 3, 2025
3a2c047
update test cases
nbaws Mar 3, 2025
56eceec
dwyu commit
nbaws Mar 5, 2025
0f23f99
update credential_provider_chains
nbaws Mar 5, 2025
ba7a1e9
update deps
nbaws Mar 6, 2025
d18330a
update tests
nbaws Mar 6, 2025
6c82f54
remove extraneous comments
nbaws Mar 6, 2025
1f28f19
fix logging
nbaws Mar 6, 2025
98a6a6d
more log statements
nbaws Mar 6, 2025
c88732c
coverage
nbaws Mar 7, 2025
ced9f29
remove working file
nbaws Mar 7, 2025
0772ec0
update tests
nbaws Mar 7, 2025
decf4a1
test leak
nbaws Mar 7, 2025
f0cabb8
test case coverage
nbaws Mar 7, 2025
1a44c4d
remove untestable code path
nbaws Mar 7, 2025
307ffc5
fix test cases
nbaws Mar 7, 2025
48e2ca1
format
nbaws Mar 7, 2025
e9e5645
format
nbaws Mar 7, 2025
bee28f3
remove comments
nbaws Mar 8, 2025
4e2ac1e
dedupe friend class
nbaws Mar 8, 2025
19a9031
revert key derivation change
nbaws Mar 10, 2025
794478f
stub key derivation
nbaws Mar 11, 2025
2568d6c
stub tests
nbaws Mar 11, 2025
b537f5d
fix stubbed test
nbaws Mar 11, 2025
208d812
fix test spacing
nbaws Mar 11, 2025
ace346f
missed a comment
nbaws Mar 11, 2025
e67d7cd
statusor change
nbaws Mar 11, 2025
79dc4cd
more coverage
nbaws Mar 12, 2025
1dc9a8b
more coverage
nbaws Mar 12, 2025
d29035a
signer base and x509 credentials
nbaws Mar 18, 2025
1e5a40e
merge main
nbaws Mar 18, 2025
a5cabc8
file naming
nbaws Mar 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
stub tests
Signed-off-by: Nigel Brittain <nbaws@amazon.com>
  • Loading branch information
nbaws committed Mar 11, 2025
commit 2568d6c1c6c0f0f1ae80d101bacc4ae584d54f2d
Original file line number Diff line number Diff line change
@@ -74,7 +74,7 @@ void CredentialsFileCredentialsProvider::extractCredentials(absl::string_view cr
std::string access_key_id, secret_access_key, session_token;

// TODO: nbaws@ optimise out this flat hash map creation

absl::flat_hash_map<std::string, std::string> elements = {
{AWS_ACCESS_KEY_ID, ""}, {AWS_SECRET_ACCESS_KEY, ""}, {AWS_SESSION_TOKEN, ""}};
absl::flat_hash_map<std::string, std::string>::iterator it;
4 changes: 2 additions & 2 deletions source/extensions/common/aws/signers/BUILD
Original file line number Diff line number Diff line change
@@ -29,9 +29,9 @@ envoy_cc_library(
"sigv4a_signer_impl.cc",
],
hdrs = [
"sigv4a_signer_impl.h",
"sigv4a_key_derivation.h",
"sigv4a_common.h",
"sigv4a_key_derivation.h",
"sigv4a_signer_impl.h",
],
deps = [
"//source/extensions/common/aws:credentials_provider_interface",
51 changes: 25 additions & 26 deletions source/extensions/common/aws/signers/sigv4a_common.h
Original file line number Diff line number Diff line change
@@ -6,34 +6,33 @@
using AwsSigningHeaderExclusionVector = std::vector<envoy::type::matcher::v3::StringMatcher>;

namespace Envoy {
namespace Extensions {
namespace Common {
namespace Aws {

namespace Extensions {
namespace Common {
namespace Aws {

class SigV4ASignatureHeaderValues : public SignatureHeaderValues {
public:
const Http::LowerCaseString RegionSet{"x-amz-region-set"};
};
using SigV4ASignatureHeaders = ConstSingleton<SigV4ASignatureHeaderValues>;
class SigV4ASignatureConstants : public SignatureConstants {
public:
static constexpr absl::string_view SigV4AAuthorizationHeaderFormat =
"AWS4-ECDSA-P256-SHA256 Credential={}, SignedHeaders={}, Signature={}";
static constexpr absl::string_view SigV4ACredentialScopeFormat = "{}/{}/aws4_request";
static constexpr absl::string_view SigV4ASignatureVersion = "AWS4A";
static constexpr absl::string_view SigV4AStringToSignFormat = "{}\n{}\n{}\n{}";
static constexpr absl::string_view SigV4AAlgorithm = "AWS4-ECDSA-P256-SHA256";
};
enum SigV4AKeyDerivationResult {
AkdrSuccess,
AkdrNextCounter,
AkdrFailure,
};
public:
const Http::LowerCaseString RegionSet{"x-amz-region-set"};
};

using SigV4ASignatureHeaders = ConstSingleton<SigV4ASignatureHeaderValues>;

class SigV4ASignatureConstants : public SignatureConstants {
public:
static constexpr absl::string_view SigV4AAuthorizationHeaderFormat =
"AWS4-ECDSA-P256-SHA256 Credential={}, SignedHeaders={}, Signature={}";
static constexpr absl::string_view SigV4ACredentialScopeFormat = "{}/{}/aws4_request";
static constexpr absl::string_view SigV4ASignatureVersion = "AWS4A";
static constexpr absl::string_view SigV4AStringToSignFormat = "{}\n{}\n{}\n{}";
static constexpr absl::string_view SigV4AAlgorithm = "AWS4-ECDSA-P256-SHA256";
};

enum SigV4AKeyDerivationResult {
AkdrSuccess,
AkdrNextCounter,
AkdrFailure,
};

} // namespace Aws
} // namespace Common
} // namespace Extensions
2 changes: 1 addition & 1 deletion test/extensions/common/aws/BUILD
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ envoy_cc_mock(
"//source/extensions/common/aws:credentials_provider_interface",
"//source/extensions/common/aws:metadata_fetcher_lib",
"//source/extensions/common/aws:signer_interface",
"//source/extensions/common/aws/signers:sigv4a_signer_impl_lib"
"//source/extensions/common/aws/signers:sigv4a_signer_impl_lib",
],
)

Loading
Oops, something went wrong.