Azure

Azure Key Vault Configuration And Implementation Utilizing .NET Core 7 Internet API

On this article, we’re going to focus on Azure Key Vault introduction, configuration, and step-by-step implementation utilizing .NET Core 7 Internet API.

Agenda

  • Introduction
  • Implementation
  • Azure Key Vault Setup

Stipulations

  • Visual Studio 2022
  • Azure Account
  • .NET Core 7

Introduction

  • Azure Key Vault manages and shops knowledge securely like passwords, certificates, and different credentials.
  • It gives centralized storage by which we will handle our all credentials.


Fig – Key Vault Diagram from Microsoft Documentation

  • There are various eventualities by which we retailer our delicate data like database connection strings and passwords inside our codebase however which will trigger sooner or later as a result of generally unsuitable individuals can entry it.
  • Key Vault gives centralized storage and in addition, and we will monitor and preserve observe of entry and utilization of our secrets and techniques.

Implementation

Step 1

Create a brand new .NET Core Internet API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 2

Configure utility

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 3

Present extra data

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 4

Set up the next NuGet Bundle

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 5

Create some environmental variables contained in the app settings JSON file

{
    "Logging": {
        "LogLevel": {
            "Default": "Info",
            "Microsoft.AspNetCore": "Warning"
        }
    },
    "AllowedHosts": "*",
    "KeyVaultConfiguration": {
        "KeyVaultURL": "",
        "ClientId": "",
        "ClientSecret": ""
    }
}

Step 6

Subsequent, register a service contained in the Program class

utilizing Microsoft.Extensions.Configuration.AzureKeyVault;
var builder = WebApplication.CreateBuilder(args);
// Add companies to the container.
builder.Host.ConfigureAppConfiguration((context, config) => {
    var settings = config.Construct();
    var keyVaultURL = settings["KeyVaultConfiguration:KeyVaultURL"];
    var keyVaultClientId = settings["KeyVaultConfiguration:ClientId"];
    var keyVaultClientSecret = settings["KeyVaultConfiguration:ClientSecret"];
    config.AddAzureKeyVault(keyVaultURL, keyVaultClientId, keyVaultClientSecret, new DefaultKeyVaultSecretManager());
});
builder.Companies.AddControllers();
// Study extra about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Companies.AddEndpointsApiExplorer();
builder.Companies.AddSwaggerGen();
var app = builder.Construct();
// Configure the HTTP request pipeline.
if (app.Surroundings.IsDevelopment()) {
    app.UseSwagger();
    app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();

Step 7

Create a secrets and techniques controller only for demo functions to entry an inventory of secrets and techniques we’ll create

utilizing Microsoft.AspNetCore.Http;
utilizing Microsoft.AspNetCore.Mvc;
namespace AzureKeyVaultDemo.Controllers {
    [Route("api/[controller]")]
    [ApiController]
    public class SecretsController: ControllerBase {
        non-public readonly IConfiguration _configuration;
        public SecretsController(IConfiguration configuration) {
                _configuration = configuration;
            }
            [HttpGet]
        public Listing < string > Get() {
            Listing < string > end result = new Listing < string > () {
                _configuration["DatabaseConnectionString"],
                    _configuration["RedisCache"]
            };
            return end result;
        }
    }
}

Azure Key Vault Setup

Step 1

Open Azure Portal

Step 2

Search Azure Key Vault and click on on create

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 3

Subsequent, add some secrets and techniques and their values

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 4

Search App registration and click on on new registrations

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 5

Present extra data

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 6

Click on on certificates and secrets and techniques

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Step 7

Add shopper secrets and techniques and permissions

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Notice: copy and save the above shopper secret worth (bcV***) as a result of after closing this tab you aren’t in a position to see that.

Step 8

Add shopper secret, key vault URL, and shopper Id inside app settings JSON file

Step 9

Construct and run the applying

Step 10

Right here we will see Swagger UI, which permits us to entry our API endpoints.

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

Azure Key Vault Configuration and Implementation using .NET Core 7 Web API

GitHub Hyperlink

https://github.com/Jaydeep-007/AzureKeyVaultDemo

Conclusion

Right here we mentioned azure key vault introduction, configuration, and step-by-step implementation utilizing .NET Core Internet API.

Glad Coding!

Show More

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button