From ce4f124ca857ef381f0acd498b3f637171766c72 Mon Sep 17 00:00:00 2001 From: Iheb KHEMISSI Date: Thu, 28 Sep 2023 16:04:49 +0000 Subject: [PATCH 1/2] docs: Start Lab 5 which focuses on AAD integration Create the draft of Lab 5 where we focus on updating `catalog-api` to use a system-assigned identity instead of a connection string. Fixes #35 --- docs/assets/azure-ad-token.png | Bin 0 -> 42738 bytes docs/workshop.md | 110 ++++++++++++++++++++++ solutions/catalog-api/RedisService.cs | 106 +++++++++++++++++++++ src/catalog-api/RedisService.cs | 42 +++++++-- src/catalog-api/appsettings.json.template | 3 + terraform/app.tf | 3 + 6 files changed, 256 insertions(+), 8 deletions(-) create mode 100644 docs/assets/azure-ad-token.png create mode 100644 solutions/catalog-api/RedisService.cs diff --git a/docs/assets/azure-ad-token.png b/docs/assets/azure-ad-token.png new file mode 100644 index 0000000000000000000000000000000000000000..642005937608a30e967875f46b9c10b9cac2389e GIT binary patch literal 42738 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 literal 0 HcmV?d00001 diff --git a/docs/workshop.md b/docs/workshop.md index e216404..541d218 100644 --- a/docs/workshop.md +++ b/docs/workshop.md @@ -1330,6 +1330,116 @@ As a side note, we really encourage you to take the time to dig in the toolbox o --- +# Lab 5 : AAD + RBAC + +In this Lab we will focus on securing connections to Azure Cache for Redis by replacing secrets (e.g. connection strings) with [AAD-integration and RBAC][redis-aad-auth]. + +![Using AAD to connect to Azure Cache for Redis](./assets/azure-ad-token.png) + +The integration of AAD with Azure Cache for Redis as follows: +- You enable the AAD-integration in your Azure Cache for Redis resource +- You assign a role to your identity (e.g. System assigned identity) to allow it to access data in Redis +- Your application requests a token from Azure AD +- The application then uses that token as a password when establishing a connection to Azure Cache for Redis +- The application can now use Redis +- Before the expiry of the AAD token, your application needs to refresh the token (e.g. via an SDK) to avoid losing access to the Redis + +In this Lab we are already using [Microsoft.Azure.StackExchangeRedis][microsoft-azure-stackexchangeredis] which simplifies the process above by handling token fetching and refreshing. + +## Enabling AAD-integration + +
+ +> Enable `AAD access authorization` on your Azure Cache for Redis resource from the `Advanced settings` menu + +
+ + +
+ +Toggle solution + +TODO + +
+ +## Assigning a role + +
+ +> Assign the `Data Contributor` role to the system-assigned identity of your `catalog-api` + +
+ +
+ +> [Configure RBAC with Data Access Policy][configure-rbac-with-data-access-policy] + +
+ +
+ +Toggle solution + +TODO + +
+ + +## Updating catalog-api to use the AAD-integration + +So far, we were using a Connection String to connect to the Azure Cache for Redis resource. + +Connections are established using the following code: + +```csharp +var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(_connectionString!, AzureCacheForRedis.ConfigureForAzure); +``` + +To use system-assigned identities, the code above needs to be replaced with: + +```csharp +var configurationOptions = await ConfigurationOptions.Parse($"{_hostname}:{_port}").ConfigureForAzureWithSystemAssignedManagedIdentityAsync(_managedIdentityPrincipalId!); +var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurationOptions); +``` + +
+ +> - Update the code of the `GetDatabaseAsync` method in `src/catalog-api/RedisService.cs` to use system-assigned identity of the App Service Web App +> - Set the value of the `AZURE_MANAGED_IDENTITY_PRINCIPAL_ID` app setting to the system-assigned identity of the App Service Web App (`Object (principal) ID`) + +
+ +
+ +Toggle solution + +TODO + +
+ +## Testing the new setup + +
+ +> Use the Web App to view some products and ensure `catalog-api` can communicate with your Azure Cache for Redis instance + +
+ +
+ +Toggle solution + +TODO + +
+ +[redis-aad-auth]: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-azure-active-directory-for-authentication +[microsoft-azure-stackexchangeredis]: https://github.com/Azure/Microsoft.Azure.StackExchangeRedis +[configure-rbac-with-data-access-policy]: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-configure-role-based-access-control + +--- + # Closing the workshop The **Product Hands on Lab : Azure Cache for Redis in Azure World** comes to an end : We hope you liked practicing with Azure solutions and that this lab will help you kick start your journey to caching in Azure. diff --git a/solutions/catalog-api/RedisService.cs b/solutions/catalog-api/RedisService.cs new file mode 100644 index 0000000..34f9cc9 --- /dev/null +++ b/solutions/catalog-api/RedisService.cs @@ -0,0 +1,106 @@ +using Microsoft.Azure.StackExchangeRedis; +using StackExchange.Redis; + +public interface IRedisService { + Task Get(string key); + Task Set(string key, string value); + Task AddToStream(string streamName, Dictionary data); +} + +public class RedisService : IRedisService +{ + private IDatabase? _database = null; + private readonly string? _connectionString; + private readonly string? _managedIdentityPrincipalId; + private readonly string? _hostname; + private readonly string? _port; + + private readonly int _defaultTTLInSeconds = 60; + private readonly TimeSpan _ttl; // Time To Live + + public RedisService(IConfiguration configuration) + { + _ttl = TTL(configuration["AZURE_REDIS_TTL_IN_SECONDS"]); + _connectionString = configuration["AZURE_REDIS_CONNECTION_STRING"]; + _managedIdentityPrincipalId = configuration["AZURE_MANAGED_IDENTITY_PRINCIPAL_ID"]; + _port = configuration["AZURE_REDIS_PORT"]; + _hostname = configuration["AZURE_REDIS_HOSTNAME"]; + } + + private async Task GetDatabaseAsync() { + if (_database != null) { + return _database; + } + + Console.WriteLine("Initializing Redis database connection"); + + // var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(_connectionString!, AzureCacheForRedis.ConfigureForAzure); + var configurationOptions = await ConfigurationOptions.Parse($"{_hostname}:{_port}").ConfigureForAzureWithSystemAssignedManagedIdentityAsync(_managedIdentityPrincipalId!); + var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurationOptions); + + _database = connectionMultiplexer.GetDatabase(); + + Console.WriteLine("Redis database connection established"); + + return _database; + } + + private TimeSpan TTL(string? ttlInSecondsAsString) + { + int ttlInSeconds; + + try + { + ttlInSeconds = string.IsNullOrEmpty(ttlInSecondsAsString) ? _defaultTTLInSeconds : int.Parse(ttlInSecondsAsString); + } + catch + { + ttlInSeconds = _defaultTTLInSeconds; + } + + if (ttlInSeconds <= 0) { + ttlInSeconds = _defaultTTLInSeconds; + } + + return TimeSpan.FromSeconds(ttlInSeconds); + } + + public async Task Get(string key) + { + try + { + var database = await GetDatabaseAsync(); + var value = await database.StringGetAsync(key); + var stringValue = value.ToString(); + + if (stringValue == string.Empty) { + return null; + } + + return stringValue; + } + catch + { + return null; + } + } + + public async Task Set(string key, string value) + { + var database = await GetDatabaseAsync(); + await database.StringSetAsync(key, value, _ttl); + } + + public async Task AddToStream(string streamName, Dictionary data) + { + List entries = new(); + + foreach(KeyValuePair keyValuePair in data) + { + entries.Add(new(keyValuePair.Key, keyValuePair.Value)); + } + + var database = await GetDatabaseAsync(); + await database.StreamAddAsync(streamName, entries.ToArray()); + } +} \ No newline at end of file diff --git a/src/catalog-api/RedisService.cs b/src/catalog-api/RedisService.cs index 1e0f36c..5affafb 100644 --- a/src/catalog-api/RedisService.cs +++ b/src/catalog-api/RedisService.cs @@ -1,3 +1,4 @@ +using Microsoft.Azure.StackExchangeRedis; using StackExchange.Redis; public interface IRedisService { @@ -8,16 +9,38 @@ public interface IRedisService { public class RedisService : IRedisService { - // TODO: provide a sample with AAD authentication - private readonly IDatabase _database; + private IDatabase? _database = null; + private readonly string? _connectionString; + private readonly string? _managedIdentityPrincipalId; + private readonly string? _hostname; + private readonly string? _port; + private readonly int _defaultTTLInSeconds = 60; private readonly TimeSpan _ttl; // Time To Live public RedisService(IConfiguration configuration) { - var connectionMultiplexer = ConnectionMultiplexer.Connect(configuration["AZURE_REDIS_CONNECTION_STRING"], AzureCacheForRedis.ConfigureForAzure); - _database = connectionMultiplexer.GetDatabase(); _ttl = TTL(configuration["AZURE_REDIS_TTL_IN_SECONDS"]); + _connectionString = configuration["AZURE_REDIS_CONNECTION_STRING"]; + _managedIdentityPrincipalId = configuration["AZURE_MANAGED_IDENTITY_PRINCIPAL_ID"]; + _port = configuration["AZURE_REDIS_PORT"]; + _hostname = configuration["AZURE_REDIS_HOSTNAME"]; + } + + private async Task GetDatabaseAsync() { + if (_database != null) { + return _database; + } + + Console.WriteLine("Initializing Redis database connection"); + + var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(_connectionString!, AzureCacheForRedis.ConfigureForAzure); + + _database = connectionMultiplexer.GetDatabase(); + + Console.WriteLine("Redis database connection established"); + + return _database; } private TimeSpan TTL(string? ttlInSecondsAsString) @@ -26,7 +49,7 @@ private TimeSpan TTL(string? ttlInSecondsAsString) try { - ttlInSeconds = String.IsNullOrEmpty(ttlInSecondsAsString) ? _defaultTTLInSeconds : Int32.Parse(ttlInSecondsAsString); + ttlInSeconds = string.IsNullOrEmpty(ttlInSecondsAsString) ? _defaultTTLInSeconds : int.Parse(ttlInSecondsAsString); } catch { @@ -44,7 +67,8 @@ private TimeSpan TTL(string? ttlInSecondsAsString) { try { - var value = await _database.StringGetAsync(key); + var database = await GetDatabaseAsync(); + var value = await database.StringGetAsync(key); var stringValue = value.ToString(); if (stringValue == string.Empty) { @@ -61,7 +85,8 @@ private TimeSpan TTL(string? ttlInSecondsAsString) public async Task Set(string key, string value) { - await _database.StringSetAsync(key, value, _ttl); + var database = await GetDatabaseAsync(); + await database.StringSetAsync(key, value, _ttl); } public async Task AddToStream(string streamName, Dictionary data) @@ -73,6 +98,7 @@ public async Task AddToStream(string streamName, Dictionary data entries.Add(new(keyValuePair.Key, keyValuePair.Value)); } - await _database.StreamAddAsync(streamName, entries.ToArray()); + var database = await GetDatabaseAsync(); + await database.StreamAddAsync(streamName, entries.ToArray()); } } \ No newline at end of file diff --git a/src/catalog-api/appsettings.json.template b/src/catalog-api/appsettings.json.template index 132cd3b..2dc4d1a 100644 --- a/src/catalog-api/appsettings.json.template +++ b/src/catalog-api/appsettings.json.template @@ -9,6 +9,9 @@ "AZURE_COSMOS_CONNECTION_STRING": "YOUR_COSMOS_CONNECTION_STRING", "AZURE_COSMOS_DATABASE": "catalogdb", "AZURE_REDIS_CONNECTION_STRING":"YOUR_REDIS_CONNECTION_STRING", + "AZURE_MANAGED_IDENTITY_PRINCIPAL_ID": "MANAGED_IDENTITY_PRINCIPAL_ID_FOR_AAD_INTEGRATION", + "AZURE_REDIS_PORT": "OPTIONAL_REDIS_PORT_FOR_ADD_INTEGRATION", + "AZURE_REDIS_HOSTNAME": "REDIS_HOSTNAME_FOR_ADD_INTEGRATION", "PRODUCT_LIST_CACHE_DISABLE":"0", "SIMULATED_DB_LATENCY_IN_SECONDS": "", "PRODUCT_VIEWS_STREAM_NAME": "productViews" diff --git a/terraform/app.tf b/terraform/app.tf index 5ccdd88..7d31f9a 100644 --- a/terraform/app.tf +++ b/terraform/app.tf @@ -15,6 +15,9 @@ resource "azurerm_linux_web_app" "this" { AZURE_COSMOS_CONNECTION_STRING = azurerm_cosmosdb_account.this.connection_strings[0] AZURE_COSMOS_DATABASE = "catalogdb" AZURE_REDIS_CONNECTION_STRING = azurerm_redis_cache.this.primary_connection_string + AZURE_REDIS_HOSTNAME = azurerm_redis_cache.this.hostname + AZURE_REDIS_PORT = azurerm_redis_cache.this.ssl_port + AZURE_MANAGED_IDENTITY_PRINCIPAL_ID = "" PRODUCT_LIST_CACHE_DISABLE = "0" SIMULATED_DB_LATENCY_IN_SECONDS = "2" APPINSIGHTS_INSTRUMENTATIONKEY = azurerm_application_insights.this.instrumentation_key From b6e30af69b8a73fa0b4772a0d54f742a32474ea5 Mon Sep 17 00:00:00 2001 From: Iheb Khemissi Date: Thu, 28 Sep 2023 22:35:03 +0200 Subject: [PATCH 2/2] feat: Finalizing the v1 of Lab 5 Finishing the first iteration of Lab 5 where we focus on AAD + RBAC noissue --- docs/assets/catalog-api-managed-identity.png | Bin 0 -> 54828 bytes docs/assets/redis-add-new-user.png | Bin 0 -> 48510 bytes docs/assets/redis-assign-role-to-user.png | Bin 0 -> 48007 bytes docs/assets/redis-enable-aad.png | Bin 0 -> 44169 bytes docs/assets/redis-validate-user-creation.png | Bin 0 -> 25657 bytes docs/workshop.md | 74 +++++++++++++++---- 6 files changed, 58 insertions(+), 16 deletions(-) create mode 100644 docs/assets/catalog-api-managed-identity.png create mode 100644 docs/assets/redis-add-new-user.png create mode 100644 docs/assets/redis-assign-role-to-user.png create mode 100644 docs/assets/redis-enable-aad.png create mode 100644 docs/assets/redis-validate-user-creation.png diff --git a/docs/assets/catalog-api-managed-identity.png b/docs/assets/catalog-api-managed-identity.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac6146577aa2a06cdb6c42c0c95c998a1d21bb4 GIT binary patch literal 54828 zcmb??Wl&sEuqMIXEjR=M1cwaH5L|-0y95ue0|bIQ!95V%3GO}+EChFV*8v9EN#1+A z`(yXV+uBn#HFc-X?c4WspFUrI-4mgrB!h)ch7Jb@hb1Q~sRjp!Kne#34?;zT{nE%Y zEdcv^<*Ftl4p%i!aR9qOv=&nogM+J$!+11Bf?cD1meqBIgCl16`*|g&Mt=?mH`600 zDW>6Nbi9IQFzx;6?$P}T-jFKUA)}Cc|2d7dVX@Amypp(t@F~ngPk*tn z9{m*Atx11Y%XXoLb}PXuEV-2O!@-C2B4(>dl6U7Xew}L*p1VSQqnrrAF6}wM&dZLo z^!xU%+%0ldw!rYeg9%fwv`g~exEX{C{`XsN=qqHrzas<-0h8|UKqp5g{Wph@7nAcp z?z1N~!Tmc&b)K`E=I@;R8q+|rf0Io6{+oi{Gh-`6MMOjV4uxb-vJR)MGX!cu{h9zO4D*gBK;7EG}WQkbG+ ziWW{Y5;3aYwUjLfTc3|yzaz=$&$dUWH!+y_bdtf8oR;N+DJ>Z4QRRh}?j16(Un-q; z(?N7KM_lmvKtV^S%vpYNN!k3FQD5bIXl6cjz@zF>czB67hH;?tHi^d5CFi>?Ad;s3 zA63xj;EWHFl8CIvjhHMc9NH2v;RYcL-6g;~tal%)B;0kYfR9T7Dh*tCGhH0hp%LNX zS`|96MATI(|EA6e!KR)wl=(lfsMO+x*X3!Bic7jZ{p78*buB~X-L-qdDzg{awWc>0 z?^VI%)YBD&m|?a7DLJYa%B{Hh6NI$J3iJ|7nQF}+ZcZ&xaJs0bNQCT&rG}KXM@oMc zCR^%!%f?(9umuH&_Ig-j&nA`LAIY9hj4mZ|Drns%9d+=dF)!qPAJtAk=djFekG9#= zLC&>f6(S_~V|+Vbd>KMu2u?_=HHx{Z2fh&-bLA@H5&57PT|M!;GH$81uyI0V!P-mU z$p_-H$#e2_&&B^|M|dlqrSl>Ber?ViX$jmB7U`Vg6$^*K@l#`TToqg7M8wF5VXc~f~qnXX54BY zB+?luPIwFjd`5#bay`aic%7 zEGD*Nl;luje#`d4=>N4N7_%vx?o-X%Lh~MENZroToOw@&T=S(E$|LW#%Ma8RI@$oc zS@|SV9!e&O;mDR|_vxD`h$$Dg4NFd^zI0VA)sWch3z- zfh~A}APVV>Z)(K)Ch__{Hb5Ggg8DE3$Da*W)BWqYDZCT2#*HL>nPE8k^mz|HGR68 z*qnf&qbI2}-s9r6Svt2T-m;zbZNQ6e9}D1(ptvKe+tE>4(sQiOuSLq>7hW8U?N)78 z$=x;fSC_|TaUd4&Q{o@(-$i?(U#EUSs>}a0iA=b?8p-c1?2>z`tt|D1BMcy>ylryy zuHw3i{ig>Sh5pUzGdErV1Rvl(XpMT&e3Lv;`}T}z)W`3wRYzJFfO@>|4nOQ{BHqAp z^Jw!5FK)X@6kNvV$|b>?`Uc8lzt0X7{YeeENoSWl?Wpd#ytb|IUaBAMOO3K2`YfDz zg1+9ys4!bp9P?ZM{!m1mdUlYZD}Answfa^(?N;H#r4Gfs$xRF?4c5eU*moR|h+8QWIe}QQ@*U${qyx2~ z#Lfpf?_W1zmJ)x8 z@1Bff5A;4aqRTAjD0ZbFhy@(o^TM!jKBX+WQC1G76A(aB7P%*Uz#$F%f`GCqH^~8x zdF@K%|9o#vzhJ+}y;1KAaa3rBvOhjU&ulTz2OsafuEzLg;?KNc$HcQZHfLEm_NPjz z@4t8gIW^9PKHPk%o{ldrJ5jbBDC;ff^T~asVQ+*3CKpJ%HxYEC{1(_h!v6ag=H zs7&t%=w!$D-8e_^54+EW@5B*{r>sw9z|I5)1JMR_Th3c|AE!TjH_+gkgPtE6IB|HG z#U%VbbHQ@#_-@tPxz)^K+OI%08*Z-sB|`JKP5UTiUt}9UxnwbDVz$fyvkjj>Lw@Av zr;t)Fjb1>r^xMSuJroF&7aHO2#=pX-Qlt9obGyBMf9NkaYP!++DbGq`LxAR9ohLa( zj_@#Y0}8zX{37t^WgvmdH$!ByQnqT4ge1m)VH%ztReb^AGwD8jw@v_8V)JiHAjM5w z);izJXm1%$0HfxNp*X)hPI~h&I3z7B==GW$D{n@eojUK4cb~3un-9y%XVf-`Cd-J* z%FAcsHvz}4RCIJ@slO4T*GLe;0%lR@gx=(j+%$Mn%IsfZ%ye}XKJ@;m!@c@Oz-cml zBkOC=zROW>J~qfU?~?bX)lT^W0k0=wf_i0j-#PM-ZIwQ87I1TVAoOagqYWxo^mBSH z@j0pczVc8+>NxdX(GD%Q{KWSQwK~-uBUI@SmAG*YQ^I$+321pE1gt(z&aWt>9Y;cO zYSoD1>h4js!pW*D=ii-e8FAHob=x}aSMr|FUQDohAGV%#O zJ$^(ao)CEn;#HQ||5J!jSGQ{ufW@bf7I@^;EQWQT6BZtR$Z<`lh62z$v%*AGr(lfMmE)_`n^^g=US!X`{Cq@&Yz%dsXC>vaqNB8IsIId zFM~uYwwRSOAq~W%o&V+EQHB-HGGDs)5zR~B_-F_dxH6)$NqW=%nJhp1Ey=8E?mswV=yc@CO7m-TCz!B zGgk$K$Y0lTJFbD(t{K;+VN9w~6$JWjd;0m#!a}ju#+_NPY+5Sh$fiS-sB@3mILuv| zMWw^HPuoap0B`MV%J8L9^}}}ppWMyz<`7Yb-@{(vTAg6ek9

CdG$0 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 UiFqX7c@{)QLQ%X-%<$9y0&CU;O#lD@ literal 0 HcmV?d00001 diff --git a/docs/assets/redis-assign-role-to-user.png b/docs/assets/redis-assign-role-to-user.png new file mode 100644 index 0000000000000000000000000000000000000000..4590e7eb60f0e8eaba265473ac8536b15f705b6a GIT binary patch literal 48007 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 BBya!# literal 0 HcmV?d00001 diff --git a/docs/assets/redis-enable-aad.png b/docs/assets/redis-enable-aad.png new file mode 100644 index 0000000000000000000000000000000000000000..4c809f33da2dfb9b518f83b88e40d12565756a52 GIT binary patch literal 44169 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 literal 0 HcmV?d00001 diff --git a/docs/workshop.md b/docs/workshop.md index c5b7fc1..fa217ed 100644 --- a/docs/workshop.md +++ b/docs/workshop.md @@ -1341,19 +1341,20 @@ As a side note, we really encourage you to take the time to dig in the toolbox o # Lab 5 : AAD + RBAC -In this Lab we will focus on securing connections to Azure Cache for Redis by replacing secrets (e.g. connection strings) with [AAD-integration and RBAC][redis-aad-auth]. +In this Lab you will focus on securing connections to Azure Cache for Redis by replacing secrets (e.g. connection strings) with [AAD-integration and RBAC][redis-aad-auth]. ![Using AAD to connect to Azure Cache for Redis](./assets/azure-ad-token.png) -The integration of AAD with Azure Cache for Redis as follows: -- You enable the AAD-integration in your Azure Cache for Redis resource -- You assign a role to your identity (e.g. System assigned identity) to allow it to access data in Redis -- Your application requests a token from Azure AD -- The application then uses that token as a password when establishing a connection to Azure Cache for Redis -- The application can now use Redis -- Before the expiry of the AAD token, your application needs to refresh the token (e.g. via an SDK) to avoid losing access to the Redis +Here are the steps for securing your application with AAD and RBAC: +- You enable the AAD-integration in your Azure Cache for Redis resource. +- You assign a role to your application's identity (e.g. System assigned identity) to allow it to access data in Redis. +- Your application requests a token from Azure AD. This can be done automatically using a Redis client library (if it supports AAD-integration) otherwise you need to use an authentication library like [Microsoft Authentication Library][msal] to get the token. +- The application then uses that token as a password to establish a connection to Azure Cache for Redis. +- The application uses the connection to communicate with Redis. +- Before the expiry of the AAD token, your application needs to refresh the token (e.g. via [MSAL][msal]) to avoid losing access to the Azure Cache for Redis instance. -In this Lab we are already using [Microsoft.Azure.StackExchangeRedis][microsoft-azure-stackexchangeredis] which simplifies the process above by handling token fetching and refreshing. +The goal of this lab is to update `catalog-api` to use AAD and RBAC instead of a Connection String. +`catalog-api` is already using [Microsoft.Azure.StackExchangeRedis][microsoft-azure-stackexchangeredis] which extends the Redis client [StackExchange.Redis][stackexchange-redis] to support AAD-integration by handling AAD token fetching and refreshing. ## Enabling AAD-integration @@ -1363,12 +1364,19 @@ In this Lab we are already using [Microsoft.Azure.StackExchangeRedis][microsoft- +

Toggle solution -TODO +Head to the `Advanced settings` menu and then check the checkbox of `AAD access authorization`: + +![Enabling AAD access authorization](./assets/redis-enable-aad.png)
@@ -1390,16 +1398,28 @@ TODO Toggle solution -TODO +Head to the `Data Access Configuration` menu, then click on the `Add` button, and choose `New Redis User`: + +![Adding a new Redis user](./assets/redis-add-new-user.png) + +Select the `Data Contributor` policy, click on the `Redis Users` tab and select `Managed Identity`, and then click on the `Select member` button. + +![Assigning a role to the user](./assets/redis-assign-role-to-user.png) + +Select `App Service` in the type of Managed Identity, then select your App Service Web App in which `catalog-api` is deployed, and validate your selection by clicking the `Select` button. + +Finally click on `Review + assign` to crate the new Redis user: + +![Validating user creation](./assets/redis-validate-user-creation.png) ## Updating catalog-api to use the AAD-integration -So far, we were using a Connection String to connect to the Azure Cache for Redis resource. +So far, you were using a Connection String to connect to the Azure Cache for Redis resource. -Connections are established using the following code: +Connections are currently established using the following code: ```csharp var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(_connectionString!, AzureCacheForRedis.ConfigureForAzure); @@ -1419,11 +1439,29 @@ var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurati +
+ +> The variables `_hostname`, `_port`, and `_managedIdentityPrincipalId` were already defined in `src/catalog-api/RedisService.cs` + +
+
Toggle solution -TODO +Open the file `src/catalog-api/RedisService.cs` and locate the `GetDatabaseAsync` method. + +Replace the `connectionMultiplexer` variable initialization logic in the first code block above (which uses a connection string) with the contents of the second code block (which uses a managed identity principal ID). + +Next, you need to re-deploy your code to App Service like what you did in Lab 1 using the Visual Studio Code Azure extension and the `Deploy to Web App...` option. + +Afterwards, go to the `Identity` menu on your App Service resource, and copy the value of `Object (principal) ID`. + +![Managed identity of catalog-api](./assets/catalog-api-managed-identity.png) + +Finally, go to the `Configuration` menu of your App Service resource and set the app setting `AZURE_MANAGED_IDENTITY_PRINCIPAL_ID` to the value of `Object (principal) ID`. + +Validate the change by clicking `Ok`, then `Save` and you should be all set now.
@@ -1431,7 +1469,7 @@ TODO
-> Use the Web App to view some products and ensure `catalog-api` can communicate with your Azure Cache for Redis instance +> Use the Web App to view some products and ensure `catalog-api` can still use your Azure Cache for Redis instance
@@ -1439,13 +1477,17 @@ TODO Toggle solution -TODO +Open the Static Web App and make sure you can still see a list of products: + +![Viewing products in the Web App](./assets/webapp-view-products.png) [redis-aad-auth]: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-azure-active-directory-for-authentication [microsoft-azure-stackexchangeredis]: https://github.com/Azure/Microsoft.Azure.StackExchangeRedis +[stackexchange-redis]: https://github.com/StackExchange/StackExchange.Redis [configure-rbac-with-data-access-policy]: https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-configure-role-based-access-control +[msal]: https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-overview ---