Amazon.AspNetCore.DataProtection.SSM allows you to use AWS Systems Manager's Parameter Store to store keys generated by ASP.NET's Data Protection API. This enables you to scale by allowing multiple web servers to share the keys.
The library introduces the following dependencies:
Follow the examples below to see how the library can be integrated into your application.
public void ConfigureServices(IServiceCollection services)
{
services.AddDataProtection()
.PersistKeysToAWSSystemsManager("/MyApplication/DataProtection");
services.AddMvc();
}
Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests.
The AWS credentials used must have access to the ssm:PutParameter and ssm:GetParametersByPath service operations from AWS System Manager. Below is an example IAM policy for those actions.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "rule1",
"Effect": "Allow",
"Action": [
"ssm:PutParameter",
"ssm:GetParametersByPath"
],
"Resource": "*"
}
]
}
If the KMSKeyId
property is set during the PersistKeysToAWSSystemsManager
method then the IAM Policy
will also need access to kms:Encrypt for the KMS key used.
We welcome community contributions and pull requests. See CONTRIBUTING for information on how to set up a development environment and submit code.
AWS Developer Center - Explore .NET on AWS Find all the .NET code samples, step-by-step guides, videos, blog content, tools, and information about live events that you need in one place.
AWS Developer Blog - .NET Come see what .NET developers at AWS are up to! Learn about new .NET software announcements, guides, and how-to's.
@dotnetonaws Follow us on twitter!
Libraries in this repository are licensed under the Apache 2.0 License.