Skip to content

Commit 897b619

Browse files
first pass edits
1 parent 2e38395 commit 897b619

6 files changed

Lines changed: 147 additions & 172 deletions

File tree

content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/_index.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
---
2-
title: Deploy Keycloak on Azure Cobalt 100 Arm64 virtual machines for identity and access management
3-
4-
draft: true
5-
cascade:
6-
draft: true
2+
title: Deploy Keycloak on Azure Cobalt 100-based Arm64 virtual machines for identity and access management
73

84
description: Learn how to install and configure Keycloak on an Azure Cobalt 100 Arm64 virtual machine, integrate it with PostgreSQL, configure OAuth2/OpenID Connect authentication, and secure applications using centralized identity management.
95

@@ -12,14 +8,14 @@ minutes_to_complete: 90
128
who_is_this_for: This is an introductory topic for developers, DevOps engineers, platform engineers, and cloud architects who want to deploy centralized authentication and identity management using Keycloak on Arm-based cloud environments.
139

1410
learning_objectives:
15-
- Install and configure Keycloak on Azure Cobalt 100 Arm64 virtual machines
11+
- Install and configure Keycloak on Azure Cobalt 100-based Arm64 virtual machines
1612
- Configure PostgreSQL as the backend database for Keycloak
1713
- Configure realms, users, and OAuth2/OpenID Connect clients
1814
- Integrate a Flask application with Keycloak authentication
1915
- Validate OAuth2/OpenID Connect authentication workflows
2016

2117
prerequisites:
22-
- A [Microsoft Azure account](https://azure.microsoft.com/) with access to Cobalt 100 based instances (Dpsv6)
18+
- A [Microsoft Azure account](https://azure.microsoft.com/) with access to Cobalt 100-based instances (Dpsv6)
2319
- Basic knowledge of Linux command-line operations
2420
- Familiarity with SSH and remote server access
2521
- Basic understanding of authentication, OAuth2, and identity management concepts

content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/background.md

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,32 @@ layout: "learningpathall"
77

88
## Why run Keycloak on Azure Cobalt 100
99

10-
Keycloak on Arm-based Azure Cobalt 100 processors delivers scalable and efficient identity and access management for modern cloud-native applications. Azure Cobalt 100 processors provide dedicated physical cores per vCPU, which helps deliver predictable performance for authentication workloads, user management, and OAuth2/OpenID Connect flows.
10+
Keycloak delivers scalable and efficient identity and access management for modern cloud-native applications. Azure Cobalt 100 processors provide dedicated physical cores per vCPU, which helps deliver predictable performance for authentication workloads, user management, and OAuth2/OpenID Connect (OIDC) flows.
1111

1212
Keycloak benefits from the strong multi-core performance and energy efficiency of Arm-based Azure infrastructure, making it well suited for enterprise authentication systems, API security, and cloud-native identity platforms.
1313

1414
## Azure Cobalt 100 Arm-based processor
1515

16-
Azure’s Cobalt 100 is Microsoft’s first-generation, in-house Arm-based processor. Built on Arm Neoverse N2, Cobalt 100 is a 64-bit CPU that delivers strong performance and energy efficiency for cloud-native, scale-out Linux workloads. These workloads include web and application servers, data analytics, open-source databases, and caching systems. Running at 3.4 GHz, Cobalt 100 allocates a dedicated physical core for each vCPU, ensuring consistent and predictable performance.
16+
Azure’s Cobalt 100 is Microsoft’s first-generation, in-house Arm-based processor. Built on Arm Neoverse N2, Cobalt 100 is a 64-bit CPU that delivers strong performance and energy efficiency for cloud-native, scale-out Linux workloads. Running at 3.4 GHz, Cobalt 100 allocates a dedicated physical core for each vCPU, ensuring consistent and predictable performance.
1717

1818
To learn more, see the Microsoft blog [Announcing the preview of new Azure VMs based on the Azure Cobalt 100 processor](https://techcommunity.microsoft.com/blog/azurecompute/announcing-the-preview-of-new-azure-vms-based-on-the-azure-cobalt-100-processor/4146353).
1919

20-
## How Keycloak improves authentication and identity management
20+
## How Keycloak provides authentication and identity management
2121

22-
Keycloak is an open-source Identity and Access Management (IAM) platform that simplifies authentication and authorization for applications and services.
22+
Keycloak is an open-source identity and access management (IAM) platform that simplifies authentication and authorization for applications and services.
2323

24-
Keycloak supports modern authentication standards such as:
24+
Keycloak supports modern authentication standards such as OAuth2, OIDC, and SAML. It integrates with web applications, APIs, Kubernetes platforms, microservices, and enterprise identity systems, making it ideal for securing cloud-native workloads.
2525

26-
- OAuth2
27-
- OpenID Connect (OIDC)
28-
- SAML
26+
Keycloak provides several important capabilities for authentication and security management. You can use its single sign-on (SSO) support to authenticate once and access multiple applications without logging in again. With centralized identity management, you can manage users, roles, groups, and authentication policies from a single platform. With OAuth2 and OpenID Connect support, you get simplified secure API and application authentication workflows.
2927

30-
Keycloak provides centralized authentication, allowing users to log in once and securely access multiple applications using Single Sign-On (SSO).
28+
Keycloak also supports multi-factor authentication (MFA) for stronger account security, user federation for integrating with enterprise identity systems such as LDAP and Active Directory, and role-based access control (RBAC) to control user permissions and application access.
3129

32-
Keycloak integrates with web applications, APIs, Kubernetes platforms, microservices, and enterprise identity systems, making it ideal for securing cloud-native workloads.
33-
34-
To learn more, see the official [Keycloak documentation](https://www.keycloak.org/documentation).
35-
36-
Keycloak provides several important capabilities for authentication and security management. Its Single Sign-On (SSO) support lets users authenticate once and access multiple applications without logging in again. Centralized Identity Management means you can manage users, roles, groups, and authentication policies from a single platform, while OAuth2 and OpenID Connect support simplifies secure API and application authentication workflows.
37-
38-
Keycloak also supports Multi-factor Authentication (MFA) for stronger account security, User Federation for integrating with enterprise identity systems such as LDAP and Active Directory, and Role-Based Access Control (RBAC) to control user permissions and application access.
30+
To learn more about Keycloak, see the official [Keycloak documentation](https://www.keycloak.org/documentation).
3931

4032
In this Learning Path, you'll deploy Keycloak on an Azure Cobalt 100 Arm64 virtual machine and configure PostgreSQL as the backend database. You'll create realms, users, and OAuth2/OpenID Connect clients, then integrate a Flask application with Keycloak authentication.
4133

4234
## What you've learned and what's next
4335

44-
You now understand why Azure Cobalt 100 and Keycloak are a strong combination for scalable authentication and identity management workloads. Next, you'll create the virtual machine that will run Keycloak and the Flask OAuth2 demo application throughout this Learning Path.
36+
You've now understood why Azure Cobalt 100 and Keycloak are a strong combination for scalable authentication and identity management workloads. You also learned how Keycloak provides support for centralized identity management.
37+
38+
Next, you'll create a virtual machine on Azure that you'll use to run Keycloak and a Flask OAuth2 demo application.

content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/firewall.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ layout: learningpathall
88

99
## Configure external traffic for Keycloak and Flask application
1010

11-
To allow external traffic for Keycloak and the Flask OAuth2 demo application on an Azure virtual machine, open the required ports in the Network Security Group (NSG). The NSG can be attached to the virtual machine's network interface or subnet.
11+
To allow external traffic for Keycloak and the Flask OAuth2 demo application on the Azure virtual machine, open the required ports in the network security group (NSG).
1212

1313
{{% notice Note %}}
1414
For more information about Azure setup, see [Getting started with Microsoft Azure Platform](/learning-paths/servers-and-cloud-computing/csp/azure/).
1515
{{% /notice %}}
1616

1717
### Add inbound firewall rules in Azure
1818

19-
To expose the required ports for Keycloak and the Flask application, create firewall rules.
19+
To expose the required ports for Keycloak and the Flask application, create firewall rules:
2020

2121
1. Navigate to the [Azure portal](https://portal.azure.com), go to **Virtual Machines**, and select your virtual machine.
2222

@@ -69,6 +69,7 @@ You can now access:
6969

7070
## What you've learned and what's next
7171

72-
You've now configured the Azure Network Security Group to allow incoming traffic for Keycloak and the Flask OAuth2 demo application.
72+
You've now configured the Azure network security group to allow incoming traffic for Keycloak and the Flask OAuth2 demo application.
73+
74+
Next, you'll install Keycloak on the VM, configure PostgreSQL as the backend database, and validate OAuth2/OpenID Connect authentication workflows using a demo Flask application.
7375

74-
Next, you'll deploy Keycloak, configure PostgreSQL integration, and validate OAuth2/OpenID Connect authentication workflows using the Flask application.
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
---
2-
title: Create an Azure Cobalt 100 Arm64 virtual machine
2+
title: Create an Arm64 virtual machine powered by Azure Cobalt 100
33
weight: 3
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

9-
## Set up the Azure virtual machine
9+
## Set up an Arm-based Azure virtual machine
1010

1111
In this section, you'll launch the Azure portal to create a virtual machine (VM) with the Arm-based Azure Cobalt 100 processor.
1212

13-
This Learning Path focuses on general-purpose virtual machines in the Dpsv6 series. For more information, see the [Microsoft Azure guide for the Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series).
13+
You'll create a general-purpose VM in the Dpsv6 series. For more information about this series of VMs, see the [Microsoft Azure guide for the Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series).
1414

15-
While the steps to create this instance are included here for convenience, you can also see [Deploy a Cobalt 100 virtual machine on Azure Learning Path](/learning-paths/servers-and-cloud-computing/cobalt/).
15+
For more detailed steps to create a VM, see the [Deploy a Cobalt 100 virtual machine on Azure Learning Path](/learning-paths/servers-and-cloud-computing/cobalt/).
1616

17-
### Create an Arm-based virtual machine in the Azure portal
17+
### Use the Azure portal to create a virtual machine
1818

1919
To create an Azure virtual machine using the Azure portal:
2020

2121
1. Launch the Azure portal and navigate to **Virtual Machines**.
2222
2. Select **Create**, and select **Virtual Machine** from the drop-down list.
23-
3. In the **Basic** tab, fill in the instance details such as **Virtual machine name** and **Region**.
23+
3. In the **Basic** tab, provide instance details such as **Virtual machine name** and **Region**.
2424
4. Select **Ubuntu Pro 24.04 LTS** as the image for your virtual machine, and select **Arm64** as the VM architecture.
2525
5. In the **Size** field, select **See all sizes** and select the D-Series v6 family of virtual machines.
26-
6. Select **D4ps_v6** from the list as shown in the diagram below:
26+
6. Select **D4ps_v6** from the list as shown in the following screenshot:
2727

2828
![Azure Portal showing D-Series v6 VM size selection with D4ps_v6 highlighted#center](images/instance.png "Select D4ps_v6 from the D-Series v6 family")
2929

3030
7. For **Authentication type**, select **SSH public key**.
3131

3232
{{% notice Note %}}
33-
Azure generates an SSH key pair for you and lets you save it for future use. This method is fast, secure, and easy for connecting to your virtual machine.
33+
Azure generates an SSH key pair for you that you can save for future use. This method is fast, secure, and easy for connecting to your VM.
3434
{{% /notice %}}
3535

3636
8. Fill in the **Administrator username** for your VM.
@@ -41,7 +41,7 @@ RSA offers better security with keys longer than 3072 bits.
4141
{{% /notice %}}
4242

4343
10. Give your SSH key a key pair name.
44-
11. In the **Inbound port rules**, select **HTTP (80)** and **SSH (22)** as the inbound ports, as shown in the following image:
44+
11. In the **Inbound port rules**, select **HTTP (80)** and **SSH (22)** as the inbound ports, as shown in the following screenshot:
4545

4646
![Azure Portal inbound port configuration showing SSH and HTTP selected. Check that the required access settings are in place before creating the virtual machine.#center](images/instance1.png "Configure inbound port rules for HTTP and SSH access")
4747

@@ -53,11 +53,11 @@ RSA offers better security with keys longer than 3072 bits.
5353

5454
![Azure Portal showing Create button and SSH key download dialog#center](images/instance4.png "Download SSH key and create the virtual machine")
5555

56-
Your virtual machine should be ready and running in a few minutes. You can SSH into the virtual machine using the private key, along with the public IP details.
56+
Your VM should be ready and running in a few minutes. You can SSH into the virtual machine using the private key, along with the public IP details.
5757

5858
![Azure Portal deployment result showing that the virtual machine was created successfully. Look for the successful deployment status and the connection details you will use to access the virtual machine in the next step.#center](images/final-vm.png "Successful VM deployment confirmation")
5959

60-
{{% notice Note %}}To learn more about Arm-based virtual machines in Azure, see "Getting Started with Microsoft Azure" in [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/azure/).{{% /notice %}}
60+
{{% notice Note %}}To learn more about Arm-based virtual machines in Azure, see the "Getting Started with Microsoft Azure" section in the [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/azure/) Learning Path.{{% /notice %}}
6161

6262
### Connect to your virtual machine
6363

@@ -71,6 +71,6 @@ Replace `<your-key-name>` with the name of your SSH key pair and `YOUR_PUBLIC_IP
7171

7272
## What you've accomplished and what's next
7373

74-
You've created an Azure Cobalt 100 Arm64 virtual machine running Ubuntu 24.04 LTS with SSH authentication configured. The virtual machine is now ready for installing PostgreSQL, Keycloak, and the Flask OAuth2 demo application.
74+
You've now created an Azure Cobalt 100-based Arm64 virtual machine running Ubuntu 24.04 LTS with SSH authentication configured. The virtual machine is now ready for installing PostgreSQL, Keycloak, and the Flask OAuth2 demo application.
7575

76-
Next, you'll install Keycloak on the VM, configure PostgreSQL as the backend database, and deploy a demo OAuth2/OpenID Connect application using Flask.
76+
Next, you'll set up firewall rules to allow external traffic for Keycloak and the demo Flask application.

0 commit comments

Comments
 (0)