Azure has role-based access control (RBAC) to restrict access to resources and management features, but it can’t be used to quickly prevent the users from accidentally deleting a resource.

One of my friends called and asked How to avoid unknown or accidental deletion of Azure resources by other users, In this article, will share the steps, Azure resource lock implementation, Which Prevents Accidental Deletion of Resources.

Microsoft Azure: Avoid unknown or accidental deletion of Azure resources

Type Azure Lock

Microsoft provided two types of azure resource lock

CannotDelete 

 Lock prevents users from deleting a storage account, but permits reading and modifying its configuration.

Type Azure Resource Lock

ReadOnly 

Lock prevents users from deleting a storage account or modifying its configuration but permits reading the configuration.


Type Azure Resource Lock

User role Administrator and owner can modify the above two azure lock features.

Configure Azure Lock

We will see the following steps for how to configure azure lock using the Azure portal.

Step 1: Navigate to your storage account, or if you have not created it before, I have shared steps in my previous article about how to create an Azure storage account.

Microsoft Azure: Avoid unknown or accidental deletion of Azure resources

Step 2: On Storage account quick setting menu and Select on Lock, the lock list showing empty means, they are is no lock available on existing so click on Add for new lock configuration

Microsoft Azure: Avoid unknown or accidental deletion of Azure resources

Create new Lock

As mentioned above, Resource lock has two types, so select the Lock type as per your need and provide the lock name and description for understanding.

Microsoft Azure: Avoid unknown or accidental deletion of Azure resources

After clicking on Ok, You will get the following list screen with Lock Name, type, and Edit. Edit Options for Edit the name and type, delete option for deleting the lock associated with a storage account.

Microsoft Azure: Avoid unknown or accidental deletion of Azure resources

Resource Lock testing

You can navigate to Storage account and click on Delete

Microsoft Azure: Avoid unknown or accidental deletion of Azure resources

After clicking on the delete option, Immediately Azure intelligent will show the notification saying you can’t delete because of the Resource lock

Microsoft Azure: Avoid unknown or accidental deletion of Azure resources

Summary

You have learned now and How to Avoid Accidental Deletion of Azure Resource on the Azure Portal and available lock options. If you have questions, Keep continuing to post your comment below.
An Azure storage account contains all of the storage data objects like blobs, files, queues, tables, and disks. The storage account provides a unique namespace for azure storage data that is accessible from the web using HTTPS or HTTP. Data in azure storage is durable and highly available, secure, and massively scalable.
Microsoft Azure: Create a Storage Account
Azure selected four of these data services and placed them together under the name Azure Storage. The four services are Azure Blobs, Azure Files, Azure Queues, and Azure Tables
Microsoft Azure: Creating Storage Accounts
Microsoft provided 3 kinds of storage account plan and pricing of the plan
  • StorageV2 (general purpose v2)
      • The current offering that supports all storage types and all of the latest features
  • Storage (general purpose v1)
      • a legacy kind that supports all storage types, but may not support all features
  • Blob storage
      • a legacy kind that allows only block blobs and append blobs

Create Azure Storage account

Step 1: Navigate the Azure Portal website and Sign up with a new account or if you have an account already, you can log in with your existing account.

Step 2: On the Azure portal menu, or from the Home page, select Create a resource, like below

Microsoft Azure: Creating Storage Accounts

Step 3: Select Storage or search for and select Storage account, after that the Storage account pane will appear.
Microsoft Azure: Creating Storage Accounts

The create storage account pane will open and fill the basic info details like below and click on Create

Storage account name

The storage name must be 3 to 24 characters long and can contain only lowercase letters and numbers and the storage name should be unique and the same used for public URL.

Location

Select a location near to your client location or application lunch location

Microsoft Azure: Creating Storage Accounts

After clicking on Review + create to review the settings. This will do a quick validation of your options to make sure all the required fields are selected and if any issue will highlight here

Microsoft Azure: Creating Storage Accounts

After validation passes, select Create for creating a storage account, it may take a few seconds and will get a confirmation message.

Microsoft Azure: Creating Storage Accounts

Summary

We have created a storage account with settings driven by your business requirements. For example, In this demo, they created an East US datacenter because customers were primarily located in the same location.
I am pleased to announce my blog msdevbuild.com again has been listed on the popular Feedspot website as one of the Top 100 Microsoft Azure Blogs, Websites, and Influencers in 2021!
MSDEVBUILD in Feedspot Top 100 Microsoft Azure Blogs

Received an Email from Anuj Agarwal Founder of Feedspot,
I would like to personally congratulate you as your blog MsDevBuild has been selected by our panelist as one of the Top 100 Microsoft Azure Blogs on the web. We'd be grateful if you can help us spread the word by briefly mentioning about the Top 100 Microsoft Azure Blogs list in any of your upcoming post.
I was super delighted to see my blog listed at #33

MSDEVBUILD in Feedspot Top 100 Microsoft Azure Blogs

Thanks to everyone for all your support, Please keep continuing to support my effort in the Microsoft tech community !!


Xamarin was released 10 years before, it has helped many developers to develop mobile apps with multi-platform with native feel but now it’s time to say goodbye to Xamarin and happily welcome .NET MAUI (Multi-platform App UI).

Let’s go back a bit in time first, the name Xamarin comes from the name of the Tamarin monkey, replacing the leading T with an X.

On May 16, 2011, Miguel de Icaza announced on his blog that Mono would be developed and supported by Xamarin.

In 2016, Xamarin has been acquired by Microsoft, after that Xamarin is open source and removed payment options. This helped the adoption of Xamarin. Microsoft then integrated Xamarin into Visual Studio. All the mobile development company started using visual studio in both Windows and Mac, it is great improvement after Microsoft acquires Xamarin.

Announcing .NET Multi-platform App UI Preview 3

Every developer and company should be very clear, Microsoft isn’t throwing away Xamarin. Mono won’t be going anywhere yet. .NET MAUI is the next generation of Xamarin Forms, intended to allow developers to build an app once in a single Visual Studio project with a single codebase, targeting any supported device. The aim is to deliver a simplified project structure. Rather than a single solution with separate projects for each platform you’re targeting, with MAUI a single project will contain the resources needed to target specific platforms.

David blog helped me to understand more about setup. In this article, I will explain how to create the first hello world app using the MAUI application.

Visual Studio 2019 Preview

Visual studio 2019 early access preview version you can download from Microsoft website . This release is not "go-live" so not recommended to use on production computers or for creating production code.

Introducing .NET Multi-platform App UI

Verify MAUI SDK Installation

Previously was install all the required SDK is manual, Now, Jonathan Dick has put together a useful dotnet tool that evaluates your system and gathers as many of the required pieces as it can. To get started, install maui-check globally from the command line.

Open Run CMD as an Administrator mode and install MAUI Check tool using the below line

dotnet tool install -g Redth.Net.Maui.Check

5 Advantages of .NET MAUI Over Xamarin

After MAUI check tool install, will start to execute the below the line of code to verify the SDK installation

maui-check

Introducing .NET Multi-platform App UI (MAUI)

You need to install the Preview 2 version of the dotNet 6 SDK, as well as the Preview 2 Android, iOS, and Mac Catalyst workloads so if you are getting any error alert saying SDK is missing, keep give input as “Yes” for install the missing SDK and wait for the “Congratulations, everything looks great!” message, that means, you are ready to start the new MAUI application.

Goodbye Xamarin.Forms, Hello .NET MAUI!

Create a new MAUI Mobile application

Visual Studio 2019 Preview version default available MAUI project template and select Create a new project, otherwise, you can download the default project sample available in the Git MAUI official repository.

MAUI in .NET 6: Xamarin.Forms Does Desktop, but Not Linux or VS Code

Search for "MAUI" or choose Mobile from the Project type menu. Select the .Net Maui Mobile application

Understanding .NET MAUI and the future of Xamarin

Choose a project name – the example uses "HelloMaui" and click on Create

Understanding .NET MAUI and the future of Xamarin

Once you click on create button automatically solutions will generate. Before building the solutions, Let quickly understand all the folders and files.

MAUI Application Startup

Multi-targeted .NET MAUI Single Project for iOS and Android. .NET MAUI starts every application using Microsoft.Extensions HostBuilder.

What Is .NET MAUI?

Each platform has a different starting point, and the consistent point of entry for your application is Startup.cs will allow the following. It includes a Configure method to pipe service registration, handler registration
public class Startup : IStartup

{
public void Configure(IAppHostBuilder appBuilder)
{
appBuilder .UseMauiApp<App>();

}
}


Application customization processes, this is where you can do such things as register fonts and register compatibility for Xamarin.Forms renderers or your own custom renderers, By default, if you don't want to customize anything special, ignore this

appBuilder

.UseFormsCompatibility()

.UseMauiApp<App>()

.ConfigureFonts(fonts => {

fonts.AddFont("ionicons.ttf", "IonIcons");

})

MAUI Application Life cycle

.Net MAUI Application preview 3 Support to manage the life cycle of the application. Life Cycle API included in Startup.cs file and will write platform-specific.

public void Configure(IAppHostBuilder appBuilder)

{

appBuilder

.ConfigureLifecycleEvents(lifecycle => {

#if ANDROID

lifecycle.AddAndroid(d => {

d.OnBackPressed(activity => {

System.Diagnostics.Debug.WriteLine("Back button pressed!");

});

});

#endif

});

}

MAUI App.Xaml

In App.Xaml.cs project inherited by Microsoft.Maui.Controls.Application and make sure MAUI namespace added specify common Image directory for all the platform


using Microsoft.Maui;
using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;

namespace HelloMaui

{

public partial class App : Microsoft.Maui.Controls.Application

{

public App()

{

InitializeComponent();

}
public override IWindow CreateWindow(IActivationState activationState)

{

Microsoft.Maui.Controls.Compatibility.Forms.Init(activationState);


this.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>()

.SetImageDirectory("Assets");


return new MainWindow();

}

}

}

In App.Xaml, will work same like xamairn form and will add all the common resources and style



<Application xmlns="http://xamarin.com/schemas/2014/forms"

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

xmlns:local="clr-namespace:HelloMaui"

x:Class="HelloMaui.App">

<Application.Resources>

<ResourceDictionary>


<!-- Add any additional resources here. -->

<Color x:Key="PageBackgroundColor">White</Color>


<Color x:Key="PrimaryTextColor">Black</Color>


<Color x:Key="GlyphColor">#2B0B98</Color>


<Style TargetType="Label">

<Setter Property="TextColor" Value="{DynamicResource PrimaryTextColor}" />

</Style>


<Style TargetType="Label" x:Key="Glyph">

<Setter Property="TextColor" Value="{DynamicResource GlyphColor}" />

<Setter Property="FontFamily" Value="IonIcons" />

<Setter Property="FontSize" Value="32" />

</Style>

</ResourceDictionary>

</Application.Resources>

</Application>

Application icon

The application icon is one great improvement, the AppIcon folder will available under the MAUI project and it is just a single SVG, Looks like Maui will just automatically take care of generating all the different icon sizes for different devices.

MAUI Design Screen

AssemblyInfo.cs file is removed from solutions. Main Page Name not changed. The xaml looks like below and you can observe below code the concept of SemanticProperties is added


<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

x:Class="HelloMaui.MainPage"

BackgroundColor="{DynamicResource PageBackgroundColor}">


<ScrollView>

<StackLayout Padding="{OnPlatform iOS='30,60,30,30', Default='30'}">


<Label Text="Getting started with MAUI Xamarin Forms Application using Visual Studio 2019 Preview 16.10"

SemanticProperties.HeadingLevel="Level1"

FontSize="32"

HorizontalOptions="CenterAndExpand" />

<Label Text="Welcome to .NET MAUI!"

HorizontalOptions="CenterAndExpand" />
<Image

Source="dotnet_bot.png"

SemanticProperties.Description="Cute dotnet bot waving hi to you!"

Margin="40,0" />

</StackLayout>

</ScrollView>

</ContentPage>

In MainPage.xaml.cs removed using Xamarin.Forms, add an inheritance from IPage, added the Maui namespace


using System;

using Microsoft.Maui;

using Microsoft.Maui.Controls;

using Microsoft.Maui.Controls.Xaml;


namespace HelloMaui

{

[XamlCompilation(XamlCompilationOptions.Compile)]

public partial class MainPage : ContentPage, IPage

{

public MainPage()

{

InitializeComponent();

}

public IView View { get => (IView)Content; set => Content = (View)value; }

}

}

Restore MAUI Nuget package

Before you will build and run solutions make sure NuGet packages referenced in the configuration file.

Right Click on Solutions > Open Folder in File Explorer

Say Hello to .NET MAUI! A First-Class UI Framework

Make sure global.json and NuGet.config file available before building the solutions

MAUI global.json

global.json file look like below

{

"sdk": {

"version": "6.0.100-preview.3.21202.5",

"rollForward": "disable",

"allowPrerelease": true

}

}

MAUI Nuget.Config

Nuget.Config looks like the below and have the reference key for dotnet6,Xamarin, and public.

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<packageSources>

<clear />

<!-- ensure only the sources defined below are used -->

<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />

<add key="xamarin" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />

<add key="public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />

</packageSources>

<config>

<add key="globalPackagesFolder" value="packages" />

</config>

</configuration>

Build and Run MAUI Android App

Inside Android Folder, not find any MainActivity.cs, only available Resource folder and Androidmanifest file. You will need the Android SDK installed as well as Android SDK Platform 30. When you did a verified MAUI check, SDK was download and installed, if no, a simple way to get this is to install the current Xamarin workload and go to Tools > Android > Android SDK Manager from within Visual Studio.

Say Hello to .NET MAUI! A First-Class UI Framework

Try to click on Run Icon, if you are getting any issue, Right-click on the solution and Select in the open terminal

Say Hello to .NET MAUI! A First-Class UI Framework

Build the MAUI Project, run the below comment in the Visual studio terminal
dotnet build HelloMaui
You can launch the Android project to an attached emulator or device
dotnet build HelloMaui -t:Run -f net6.0-android


Once the build is successful, the Android emulator / on-device application will run like below 

Say Hello to .NET MAUI! A First-Class UI Framework

Build and Run iOS Project in window machine

The build and debug .NET 6 iOS applications from Visual Studio 2019 preview. iOS folder is very clean, you can find Appdelegate.cs, Entitlements.plist, info.plist, Launchscreen.storyboard and Program.CS(Main.cs gets renamed Program.cs)

Xamarin : Step-by-Step Guide To Building .NET Multi-platform App (MAUI) using Visual Studio 2019 Preview 16.10

If while connecting Visual Studio to your Mac through XMA you are prompted to install a different version of the SDK, you can ignore that since it refers to the legacy one. Make sure Xcode 12.4 installed in mac machine,
Xamarin : Step-by-Step Guide To Building .NET Multi-platform App (MAUI) using Visual Studio 2019 Preview 16.10

You can launch the iOS project to an attached iOS Simulator. Initially not working for me run the ios app in windows after that start working.
dotnet build HelloMaui -t:Run -f net6.0-ios
Once the build is successful, the iOS simulator/ Device will show the output like below 

Xamarin : Step-by-Step Guide To Building .NET Multi-platform App (MAUI) using Visual Studio 2019 Preview 16.10

Summary

In this article, you learned about the setup Maui development preview environment and you said hello to Maui, Will share details in the next article for setup Visual Studio Code and Visual Studio for Mac. If you have any questions/ feedback/ issues, please write in the comment box
Azure AD B2C stands for azure active directory Business to consumer. AZURE AD B2C has its own login portal management which can be customized to a certain extent to change the look and feel as required customers.
Create an Azure Active Directory B2C tenant

Azure AD B2C Feature

You have a web app / mobile app and you need a simple way to let users log in to your application without registration and also manage their own accounts. You don’t want to worry about security, scalability, and ease of use.

Some of the major advantages of using Azure AD B2C below.
  1. Supports to integrate with Local Accounts and social accounts such as Facebook, LinkedIn, Google, Microsoft, Amazon required additional work
  2. Azure AD B2C also handles multi-factor authentication and password self-service reset by applying some basic configurations.
  3. The authentication system provided by Azure AD B2C is very secure for protecting user identity and credentials. Azure AD B2C provides identity as a service for your apps by supporting two industry-standard protocols: OpenID Connect and OAuth 2.0.
  4. Azure AD B2C components follow high-level features like Self-registration, Sign-in, Profile Editing, Self-service Password Reset, Multi-Factor Authentication, Single Sign-on and Custom Attribute.
  5. You can create up to 20 tenants per subscription. This limit helps protect against threats to your resources, such as denial-of-service attacks, and is enforced in both the Azure portal and the underlying tenant creation API

Azure AD B2C Pricing Details

Azure AD Identities pricing is based on Monthly Active Users (MAU), Microsoft reduces costs and forecast with confidence. Your first 50,000 MAUs per month are free for both Premium P1 and Premium P2 features after free, pay only for what you use. A flat fee of ₹2.162 is billed for each SMS/Phone-based multi-factor authentication attempt.


PREMIUM P1

PREMIUM P2

First 50,000 MAU

₹0/Monthly Active Users

₹0/Monthly Active Users

More than 50,000 MAU

₹0.234148/Monthly Active Users

₹1.170736/Monthly Active Users

Separate Charges


A flat fee of ₹2.162 is billed for each SMS/Phone-based multi-factor authentication attempt.

Setup Azure AD B2C

  1. Sign in to the Azure portal. Or - Sign in with an Azure account that's been assigned at least the Contributor role within the subscription or a resource group within the subscription.
  2. You can click on the Directory and subscription filter in the top menu and choose the directory in your subscription. This is a different directory than the one that will contain your Azure AD B2C tenant.
How to setup Active Directory B2C in Microsoft Azure

Create new AD B2C

Select a create a new resource in the top-left corner of the Azure portal home screen or Search for and select Active Directory B2C.

Create An Azure Active Directory B2C Tenant

Select Azure AD B2C enable users to access application published by your organization and share admin experience

CREATING AN AD B2C TENANT

Directory Configuration

You need to provide directory confirmation details as per below
  • Organization Name – Enter the organization name
  • Initial Domain Name - By default, a basic domain name at 'onmicrosoft.com' is included with your directory. Later, you can add a domain name that your organization already uses, such as ‘msdevbuild.com’.
  • Country / Region - You cannot change the geo or region after you create your directory. Make sure you select the correct geo or region because your choice determines the datacenter for your directory. Microsoft does not control the location from which you or your end users may access or move directory data through the use of apps or services.
  • Subscription - Choose the subscription to use for Azure Active Directory (B2C). It’s free for 50,000 monthly active users (MAUs).
Setting Up Azure Active Directory B2C

Click on the Review +Create buttons, wait for a few second, if you are getting any namespace Azure directory issue to follow the below steps otherwise skip

Troubleshoot Microsoft.AzureActiveDirectory issue

For each functionality in azure, there is a resource provider like Microsoft.AzureAciveDirectory. By default, my Azure Subscription is not registered with all resource providers and because my Subscription is not registered with Microsoft. AzureAciveDirectory resource provider, so I am getting the below error notification message after click on Create button 


Troubleshoot Microsoft.AzureActiveDirectory issue

Step 1: Navigate Azure Portal

Step 2: Click on All Services or Home Screen

Step 3: Select your Subscription, From the list of subscriptions, select the subscription you want to use for registering the resource provider.

Step 4: Select Resource Provider Section

Step 5: Look at the list of resource providers and Search related resource

Step 6: select the Register Microsoft. AzureAciveDirectory to register

Step 7: Wait for a few second, you will get a Green mark for registration success


RESOURCE PROVIDER REGISTRATION USING AZURE PORTAL

Azure AD B2C Tenant Creation Success

If you do not receive any error message after a click on create button you will get a confirmation message otherwise if you are getting any issue related to the resource provider, you can follow the above steps.

Azure AD B2C Tenant Creation Success

Summary

You have now successfully created a new Azure AD B2C Tenant. You can navigate to the directory home screen. You will notice that you are the only user registered. In my next article will share steps about users create an account and creating applications for sign-up user flow.


Microsoft Azure : Setup new Active Directory B2C tenant

In this article, you learned about creating a new Active Directory B2C tenant in Microsoft AZURE. If you have any questions/ feedback/ issues, please write in the comment box.
The Bot Application runs inside Skype, web chat, Facebook, Message, etc. Users can interact with bots by sending them messages, commands, and inline requests. You control your bots using HTTPS requests to the bot API. Azure bot Application service automatically configures the Web Chat channel while publishing to Azure. Bot channel includes the Web Chat Channel which can be embedded directly onto websites or bloggers for users to interact.

In this article, we will learn how to integrate our bot application right into your blogger via the Microsoft Bot Web Chat Channel.

How do I add a chat bot to Blogger

Create FAQ Bot Application:

You can refer to my previous article for creating and building a Xamarin FAQ Bot using Azure Bot Service and deploy it into Azure. I am not using any coding for developing Bot Application, you can follow the article provided steps for creating and deploying FAQ Bot .

How do I add a chat bot to Blogger

Generate WebChat Channel Html Code


Login to Azure portal > Select the “All Resources” >Select Your Web App Bot > Select Channels, As already discussed automatically configured the Web Chat channel while publishing to Azure.

How do I add a chat bot to Blogger

You can click on “Edit” or “Get Bot Embed Codes” and Copy the Iframe html code for integrate WebChat Channels to blogger.

How do I add a chat bot to Blogger

Integrate Bot Application into Blogger


Step 1: Sign in to your Blogger(https://www.blogger.com) account. Blogger opens on the default Dashboard page that displays a list of all your hosted blogs.

Step 2: Select your Blogger > Select the layout > Click on Add a Gadget > Add Html and JavaScript Layout component for adding webchat embed code.

How do I add a chat bot to Blogger

Step3: Paste the iFrame HTML code that you copied from the azure portal into the input box and provide the title of the Bot.

How do I add a chat bot to Blogger

Click on preview and verify width and Height is aligned with your blogger layout.

Step 4: Click "Save arrangement “above the layout editor to publish the post containing the Web Chat App to your blog.

Test Web Chat Application

You can click on “View Blog” for view the original layout design and test your Bot Application.


How do I add a chat bot to Blogger

Summary

In this article, you learned how to integrate bot applications right into your blogger via the Microsoft Bot Framework Web Chat Channel. If you have any questions/ feedback/ issues, please write in the comment box.

Featured Post

AI Evolution Explained: GenAI vs LLMs vs AI Agents vs Agentic AI vs Intelligent AI

Artificial Intelligence (AI) is one of the most exciting technologies in our world today. But the terms that come with it like GenAI, LLMs, ...

MSDEVBUILD - English Channel

MSDEVBUILD - Tamil Channel

Popular Posts