You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/keycloak-cobalt/_index.md
+3-7Lines changed: 3 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,5 @@
1
1
---
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
7
3
8
4
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.
9
5
@@ -12,14 +8,14 @@ minutes_to_complete: 90
12
8
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.
13
9
14
10
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
16
12
- Configure PostgreSQL as the backend database for Keycloak
17
13
- Configure realms, users, and OAuth2/OpenID Connect clients
18
14
- Integrate a Flask application with Keycloak authentication
title: Understand Keycloak for identity and access management on Azure Cobalt 100-based virtual machines
3
+
description: Learn how Keycloak provides IAM, OAuth2/OpenID Connect, and single sign-on for applications running on Arm-based Azure infrastructure.
3
4
weight: 2
4
5
5
6
layout: "learningpathall"
6
7
---
7
8
8
9
## Why run Keycloak on Azure Cobalt 100
9
10
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.
11
+
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.
11
12
12
13
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.
13
14
14
15
## Azure Cobalt 100 Arm-based processor
15
16
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.
17
+
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.
17
18
18
-
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).
19
-
20
-
## How Keycloak improves authentication and identity management
21
-
22
-
Keycloak is an open-source Identity and Access Management (IAM) platform that simplifies authentication and authorization for applications and services.
19
+
Running at 3.4 GHz, Cobalt 100 allocates a dedicated physical core for each vCPU, ensuring consistent and predictable performance.
23
20
24
-
Keycloak supports modern authentication standards such as:
25
-
26
-
- OAuth2
27
-
- OpenID Connect (OIDC)
28
-
- SAML
21
+
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).
29
22
30
-
Keycloak provides centralized authentication, allowing users to log in once and securely access multiple applications using Single Sign-On (SSO).
23
+
## How Keycloak provides authenticationand identity management
31
24
32
-
Keycloak integrates with web applications, APIs, Kubernetes platforms, microservices, and enterprise identity systems, making it ideal for securing cloud-native workloads.
25
+
Keycloak is an open-source identity and access management (IAM) platform that simplifies authentication and authorization for applications and services.
33
26
34
-
To learn more, see the official [Keycloak documentation](https://www.keycloak.org/documentation).
27
+
Keycloak supports modern authentication standards such as OAuth2, OIDC, and Security Asserion Markup Language (SAML). It integrates with web applications, APIs, Kubernetes platforms, microservices, and enterprise identity systems, making it ideal for securing cloud-native workloads.
35
28
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.
29
+
Keycloak provides several important capabilities for authentication and security management. With single sign-on (SSO) support, you can 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.
37
30
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.
31
+
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.
39
32
40
-
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.
33
+
To learn more about Keycloak, see the official [Keycloak documentation](https://www.keycloak.org/documentation).
41
34
42
35
## What you've learned and what's next
43
36
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.
37
+
You've now learned 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.
38
+
39
+
Next, you'll create a virtual machine on Azure that you'll use to run Keycloak and a Flask OAuth2 demo application.
title: Allow access to Keycloak and Flask application on Azure
2
+
title: Allow access to Keycloak and the Flask application on Azure
3
+
description: Learn how to configure Azure Network Security Group inbound rules for Keycloak, its health endpoint, and a Flask OAuth2 demo application.
3
4
weight: 4
4
5
5
6
### FIXED, DO NOT MODIFY
6
7
layout: learningpathall
7
8
---
8
9
9
-
## Configure external traffic for Keycloak and Flask application
10
+
## Configure external traffic for Keycloak and the Flask application
10
11
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.
12
+
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).
12
13
13
14
{{% notice Note %}}
14
-
For more information about Azure setup, see [Getting started with Microsoft Azure Platform](/learning-paths/servers-and-cloud-computing/csp/azure/).
15
+
For more information about Azure setup, see [Getting started with Microsoft Azure](/learning-paths/servers-and-cloud-computing/csp/azure/).
15
16
{{% /notice %}}
16
17
17
18
### Add inbound firewall rules in Azure
18
19
19
-
To expose the required ports for Keycloak and the Flask application, create firewall rules.
20
+
To expose the required ports for Keycloak and the Flask application, create firewall rules:
20
21
21
22
1. Navigate to the [Azure portal](https://portal.azure.com), go to **Virtual Machines**, and select your virtual machine.
22
23
23
-

24
+

24
25
25
26
2. In the left menu, select **Networking**, then select **Network settings**.
26
27
27
-

28
+

28
29
29
30
3. Navigate to **Create port rule**, and select **Inbound port rule**.
30
31
31
32

32
33
33
34
4. Configure inbound security rules for the following ports:
34
35
35
-
| Port | Purpose |
36
-
|---|---|
37
-
| 8080 | Keycloak Admin Console|
38
-
| 9000 | Keycloak health and management endpoint |
-**Source IP addresses:***(auto-populated with your current public IP)*
45
-
-**Source port ranges:***
46
+
-**Source port ranges:**`* `
46
47
-**Destination:** Any
47
48
-**Protocol:** TCP
48
49
-**Action:** Allow
49
50
50
-
Use these names:
51
-
52
-
| Port | Rule Name |
53
-
|---|---|
54
-
| 8080 | allow-keycloak-8080 |
55
-
| 9000 | allow-keycloak-9000 |
56
-
| 5000 | allow-flask-5000 |
57
-
58
51
{{% notice Note %}}
59
52
Setting **Source** to **My IP address** restricts access to the ports to your current machine only. If your public IP changes or you need to access the services from another machine, update the source IP in the NSG rule.
60
53
{{% /notice %}}
@@ -63,12 +56,13 @@ Setting **Source** to **My IP address** restricts access to the ports to your cu
63
56
64
57
You can now access:
65
58
66
-
- Keycloak Admin Console on port **8080**
67
-
- Keycloak health endpoint on port **9000**
68
-
- Flask OAuth2 demo application on port **5000**
59
+
-The Keycloak admin console on port **8080**
60
+
-The Keycloak health endpoint on port **9000**
61
+
-The Flask OAuth2 demo application on port **5000**
69
62
70
63
## What you've learned and what's next
71
64
72
-
You've now configured the Azure Network Security Group to allow incoming traffic for Keycloak and the Flask OAuth2 demo application.
65
+
You've now configured the Azure network security group to allow incoming traffic for Keycloak and the Flask OAuth2 demo application that you'll build in the following sections.
66
+
67
+
Next, you'll install Keycloak on the VM and configure PostgreSQL as the backend database.
73
68
74
-
Next, you'll deploy Keycloak, configure PostgreSQL integration, and validate OAuth2/OpenID Connect authentication workflows using the Flask application.
title: Create an Azure Cobalt 100 Arm64 virtual machine
2
+
title: Create an Azure Cobalt 100-based Arm64 virtual machine
3
+
description: Learn how to create an Azure Dpsv6 Arm64 virtual machine powered by Azure Cobalt 100 and connect to it with SSH.
3
4
weight: 3
4
5
5
6
### FIXED, DO NOT MODIFY
6
7
layout: learningpathall
7
8
---
8
9
9
-
## Set up the Azure virtual machine
10
+
## Set up an Arm-based Azure virtual machine
10
11
11
-
In this section, you'll launch the Azure portal to create a virtual machine (VM) with the Arm-based Azure Cobalt 100 processor.
12
+
In this section, you'll launch the Azure portal to create a virtual machine (VM) powered by the Arm-based Azure Cobalt 100 processor.
12
13
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).
14
+
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).
14
15
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/).
16
+
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/).
16
17
17
-
### Create an Arm-based virtual machine in the Azure portal
18
+
### Use the Azure portal to create a virtual machine
18
19
19
20
To create an Azure virtual machine using the Azure portal:
20
21
21
22
1. Launch the Azure portal and navigate to **Virtual Machines**.
22
23
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**.
24
+
3. In the **Basics** tab, provide instance details such as **Virtual machine name** and **Region**.
24
25
4. Select **Ubuntu Pro 24.04 LTS** as the image for your virtual machine, and select **Arm64** as the VM architecture.
25
26
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:
27
+
6. Select **D4ps_v6** from the list as shown in the following screenshot:
27
28
28
29

29
30
30
31
7. For **Authentication type**, select **SSH public key**.
31
32
32
33
{{% 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.
34
+
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.
34
35
{{% /notice %}}
35
36
36
37
8. Fill in the **Administrator username** for your VM.
37
-
9. Select **Generate new key pair**, and select **RSA SSH Format** as the SSH Key Type.
38
+
9. Select **Generate new key pair**, and select **RSA SSH Format** as the **SSH key type**.
38
39
39
40
{{% notice Note %}}
40
41
RSA offers better security with keys longer than 3072 bits.
41
42
{{% /notice %}}
42
43
43
44
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:
45
+
11.Under **Inbound port rules**, select **HTTP (80)** and **SSH (22)** as the inbound ports, as shown in the following screenshot:
45
46
46
47

47
48
48
49
12. Select the **Review + Create** tab and review the configuration for your virtual machine. It should look like the following:
49
50
50
51

51
52
52
-
13. When you're happy with your selection, select the **Create** button and then **Download Private key and Create Resource**.
53
+
13. When you're happy with your selection, select the **Create** button and then **Download private key and create resource**.
53
54
54
55

55
56
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.
57
+
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.
57
58
58
59

59
60
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 %}}
61
+
{{% notice Note %}}To learn more about Arm-based virtual machines in Azure, see the Azure section in the [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/azure/) Learning Path.{{% /notice %}}
61
62
62
-
###Connect to your virtual machine
63
+
## Connect to your virtual machine
63
64
64
65
Use the private key file you downloaded and the public IP address shown in the Azure portal to connect to your virtual machine.
65
66
@@ -71,6 +72,6 @@ Replace `<your-key-name>` with the name of your SSH key pair and `YOUR_PUBLIC_IP
71
72
72
73
## What you've accomplished and what's next
73
74
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.
75
+
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 ready for installing PostgreSQL, Keycloak, and the Flask OAuth2 demo application.
75
76
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.
77
+
Next, you'll set up firewall rules to allow external traffic for Keycloak and the demo Flask application.
0 commit comments