Skip to content

Commit 5be4477

Browse files
authored
Merge pull request #252753 from MicrosoftDocs/main
9/25 OOB Publish
2 parents aa65c3b + cb79b8e commit 5be4477

23 files changed

+842
-424
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,176 @@
1010
"redirect_url": "/azure/active-directory/develop/enterprise-app-role-management",
1111
"redirect_document_id": false
1212
},
13+
{
14+
"source_path_from_root": "/articles/global-secure-access/concept-global-secure-access-logs-monitoring.md",
15+
"redirect_url": "/entra/global-secure-access/concept-global-secure-access-logs-monitoring",
16+
"redirect_document_id": true
17+
},
18+
{
19+
"source_path_from_root": "/articles/global-secure-access/concept-private-access.md",
20+
"redirect_url": "/entra/global-secure-access/concept-private-access",
21+
"redirect_document_id": true
22+
},
23+
{
24+
"source_path_from_root": "/articles/global-secure-access/concept-remote-network-connectivity.md",
25+
"redirect_url": "/entra/global-secure-access/concept-remote-network-connectivity",
26+
"redirect_document_id": true
27+
},
28+
{
29+
"source_path_from_root": "/articles/global-secure-access/concept-traffic-dashboard.md",
30+
"redirect_url": "/entra/global-secure-access/concept-traffic-dashboard",
31+
"redirect_document_id": true
32+
},
33+
{
34+
"source_path_from_root": "/articles/global-secure-access/concept-traffic-forwarding.md",
35+
"redirect_url": "/entra/global-secure-access/concept-traffic-forwarding",
36+
"redirect_document_id": true
37+
},
38+
{
39+
"source_path_from_root": "/articles/global-secure-access/concept-universal-conditional-access.md",
40+
"redirect_url": "/entra/global-secure-access/concept-universal-conditional-access",
41+
"redirect_document_id": true
42+
},
43+
{
44+
"source_path_from_root": "/articles/global-secure-access/how-to-access-audit-logs.md",
45+
"redirect_url": "/entra/global-secure-access/how-to-access-audit-logs",
46+
"redirect_document_id": true
47+
},
48+
{
49+
"source_path_from_root": "/articles/global-secure-access/how-to-assign-traffic-profile-to-remote-network.md",
50+
"redirect_url": "/entra/global-secure-access/how-to-assign-traffic-profile-to-remote-network",
51+
"redirect_document_id": true
52+
},
53+
{
54+
"source_path_from_root": "/articles/global-secure-access/how-to-compliant-network.md",
55+
"redirect_url": "/entra/global-secure-access/how-to-compliant-network",
56+
"redirect_document_id": true
57+
},
58+
{
59+
"source_path_from_root": "/articles/global-secure-access/how-to-configure-connectors.md",
60+
"redirect_url": "/entra/global-secure-access/how-to-configure-connectors",
61+
"redirect_document_id": true
62+
},
63+
{
64+
"source_path_from_root": "/articles/global-secure-access/how-to-configure-customer-premises-equipment.md",
65+
"redirect_url": "/entra/global-secure-access/how-to-configure-customer-premises-equipment",
66+
"redirect_document_id": true
67+
},
68+
{
69+
"source_path_from_root": "/articles/global-secure-access/how-to-configure-per-app-access.md",
70+
"redirect_url": "/entra/global-secure-access/how-to-configure-per-app-access",
71+
"redirect_document_id": true
72+
},
73+
{
74+
"source_path_from_root": "/articles/global-secure-access/how-to-configure-quick-access.md",
75+
"redirect_url": "/entra/global-secure-access/how-to-configure-quick-access",
76+
"redirect_document_id": true
77+
},
78+
{
79+
"source_path_from_root": "/articles/global-secure-access/how-to-create-remote-network-custom-ike-policy.md",
80+
"redirect_url": "/entra/global-secure-access/how-to-create-remote-network-custom-ike-policy",
81+
"redirect_document_id": true
82+
},
83+
{
84+
"source_path_from_root": "/articles/global-secure-access/how-to-create-remote-networks.md",
85+
"redirect_url": "/entra/global-secure-access/how-to-create-remote-networks",
86+
"redirect_document_id": true
87+
},
88+
{
89+
"source_path_from_root": "/articles/global-secure-access/how-to-get-started-with-global-secure-access.md",
90+
"redirect_url": "/entra/global-secure-access/how-to-get-started-with-global-secure-access",
91+
"redirect_document_id": true
92+
},
93+
{
94+
"source_path_from_root": "/articles/global-secure-access/how-to-install-windows-client.md",
95+
"redirect_url": "/entra/global-secure-access/how-to-install-windows-client",
96+
"redirect_document_id": true
97+
},
98+
{
99+
"source_path_from_root": "/articles/global-secure-access/how-to-list-remote-networks.md",
100+
"redirect_url": "/entra/global-secure-access/how-to-list-remote-networks",
101+
"redirect_document_id": true
102+
},
103+
{
104+
"source_path_from_root": "/articles/global-secure-access/how-to-manage-microsoft-365-profile.md",
105+
"redirect_url": "/entra/global-secure-access/how-to-manage-microsoft-365-profile",
106+
"redirect_document_id": true
107+
},
108+
{
109+
"source_path_from_root": "/articles/global-secure-access/how-to-manage-private-access-profile.md",
110+
"redirect_url": "/entra/global-secure-access/how-to-manage-private-access-profile",
111+
"redirect_document_id": true
112+
},
113+
{
114+
"source_path_from_root": "/articles/global-secure-access/how-to-manage-remote-network-device-links.md",
115+
"redirect_url": "/entra/global-secure-access/how-to-manage-remote-network-device-links",
116+
"redirect_document_id": true
117+
},
118+
{
119+
"source_path_from_root": "/articles/global-secure-access/how-to-manage-remote-networks.md",
120+
"redirect_url": "/entra/global-secure-access/how-to-manage-remote-networks",
121+
"redirect_document_id": true
122+
},
123+
{
124+
"source_path_from_root": "/articles/global-secure-access/how-to-simulate-remote-network.md",
125+
"redirect_url": "/entra/global-secure-access/how-to-simulate-remote-network",
126+
"redirect_document_id": true
127+
},
128+
{
129+
"source_path_from_root": "/articles/global-secure-access/how-to-source-ip-restoration.md",
130+
"redirect_url": "/entra/global-secure-access/how-to-source-ip-restoration",
131+
"redirect_document_id": true
132+
},
133+
{
134+
"source_path_from_root": "/articles/global-secure-access/how-to-target-resource-microsoft-365-profile.md",
135+
"redirect_url": "/entra/global-secure-access/how-to-target-resource-microsoft-365-profile",
136+
"redirect_document_id": true
137+
},
138+
{
139+
"source_path_from_root": "/articles/global-secure-access/how-to-target-resource-private-access-apps.md",
140+
"redirect_url": "/entra/global-secure-access/how-to-target-resource-private-access-apps",
141+
"redirect_document_id": true
142+
},
143+
{
144+
"source_path_from_root": "/articles/global-secure-access/how-to-universal-tenant-restrictions.md",
145+
"redirect_url": "/entra/global-secure-access/how-to-universal-tenant-restrictions",
146+
"redirect_document_id": true
147+
},
148+
{
149+
"source_path_from_root": "/articles/global-secure-access/how-to-view-enriched-logs.md",
150+
"redirect_url": "/entra/global-secure-access/how-to-view-enriched-logs",
151+
"redirect_document_id": true
152+
},
153+
{
154+
"source_path_from_root": "/articles/global-secure-access/how-to-view-traffic-logs.md",
155+
"redirect_url": "/entra/global-secure-access/how-to-view-traffic-logs",
156+
"redirect_document_id": true
157+
},
158+
{
159+
"source_path_from_root": "/articles/global-secure-access/index.yml",
160+
"redirect_url": "/entra/global-secure-access/index",
161+
"redirect_document_id": true
162+
},
163+
{
164+
"source_path_from_root": "/articles/global-secure-access/overview-what-is-global-secure-access.md",
165+
"redirect_url": "/entra/global-secure-access/overview-what-is-global-secure-access",
166+
"redirect_document_id": true
167+
},
168+
{
169+
"source_path_from_root": "/articles/global-secure-access/reference-points-of-presence.md",
170+
"redirect_url": "/entra/global-secure-access/reference-points-of-presence",
171+
"redirect_document_id": true
172+
},
173+
{
174+
"source_path_from_root": "/articles/global-secure-access/reference-remote-network-configurations.md",
175+
"redirect_url": "/entra/global-secure-access/reference-remote-network-configurations",
176+
"redirect_document_id": true
177+
},
178+
{
179+
"source_path_from_root": "/articles/global-secure-access/resource-faq.yml",
180+
"redirect_url": "/entra/global-secure-access/resource-faq",
181+
"redirect_document_id": true
182+
},
13183
{
14184
"source_path_from_root": "/articles/active-directory/governance/tutorial-prepare-azure-ad-user-accounts.md",
15185
"redirect_url": "/azure/active-directory/governance/tutorial-prepare-user-accounts",

articles/aks/limit-egress-traffic.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,12 @@ You need to configure Azure Firewall inbound and outbound rules. The main purpos
147147
148148
Azure automatically routes traffic between Azure subnets, virtual networks, and on-premises networks. If you want to change any of Azure's default routing, you can create a route table.
149149
150+
> [!IMPORTANT]
151+
> Outbound type of UDR requires a route for 0.0.0.0/0 and a next hop destination of NVA in the route table.
152+
> The route table already has a default 0.0.0.0/0 to the Internet. Without a public IP address for Azure to use for Source Network Address Translation (SNAT), simply adding this route won't provide you outbound Internet connectivity. AKS validates that you don't create a 0.0.0.0/0 route pointing to the Internet but instead to a gateway, NVA, etc.
153+
> When using an outbound type of UDR, a load balancer public IP address for **inbound requests** isn't created unless you configure a service of type *loadbalancer*. AKS never creates a public IP address for **outbound requests** if you set an outbound type of UDR.
154+
> For more information, see [Outbound rules for Azure Load Balancer](../load-balancer/outbound-rules.md#scenario6out).
155+
150156
1. Create an empty route table to be associated with a given subnet using the [`az network route-table create`][az-network-route-table-create] command. The route table will define the next hop as the Azure Firewall created above. Each subnet can have zero or one route table associated to it.
151157
152158
```azurecli
4.96 KB
Loading

articles/communication-services/concepts/voice-video-calling/call-recording.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ ms.subservice: calling
2020
Call Recording enables you to record multiple calling scenarios available in Azure Communication Services by providing you with a set of APIs to start, stop, pause and resume recording. Whether it's a PSTN, WebRTC, or SIP call, these APIs can be accessed from your server-side business logic. Also, recordings can be triggered by a user action that tells the server application to start recording.
2121

2222
Depending on your business needs, you can use Call Recording for different Azure Communication Services calling implementations.
23-
For example, you can record 1:1 or 1:N scenarios for audio and video calls enabled by [Calling Client SDK](./calling-sdk-features.md).
23+
For example, you can record 1:1 or 1:N audio and video calls:
2424

2525
![Diagram showing a call that it's being recorded.](../media/call-recording-client.png)
2626

2727
But also, you can use Call Recording to record complex PSTN or VoIP inbound and outbound calling workflows managed by [Call Automation](../call-automation/call-automation.md).
2828
Regardless of how you established the call, Call Recording allows you to produce mixed or unmixed media files that are stored for 48 hours on a built-in temporary storage. You can retrieve the files and take them to the long-term storage solution of your choice. Call Recording supports all Azure Communication Services data regions.
2929

3030

31-
![Diagram showing call recording architecture using calling client sdk.](../media/call-recording-with-call-automation.png)
31+
![Diagram showing call recording architecture.](../media/call-recording-with-call-automation.png)
3232

3333
## Call Recording that supports your business needs
3434
Call Recording supports multiple media outputs and content types to address your business needs and use cases. You might use mixed formats for scenarios such as keeping records, meeting notes, coaching and training, or even compliance and adherence. Or, you can use unmixed audio format to address quality assurance use cases or even more complex scenarios like advanced analytics or AI-based (Artificial Intelligence) sophisticated post-call processes.

articles/confidential-computing/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@
146146
href: harden-the-linux-image-to-remove-sudo-users.md
147147
- name: Harden a Linux image to remove Azure guest agent
148148
href: harden-a-linux-image-to-remove-azure-guest-agent.md
149+
- name: Deploy a virtual machine scale set using hardened image
150+
href: vmss-deployment-from-hardened-linux-image.md
149151
- name: Secure Key Release (SKR) with Azure Key Vault
150152
items:
151153
- name: SKR with Azure Confidential Computing Concept

articles/confidential-computing/index.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ landingContent:
9898
url: harden-the-linux-image-to-remove-sudo-users.md
9999
- text: Harden a Linux image to remove azure guest agent
100100
url: harden-a-linux-image-to-remove-azure-guest-agent.md
101+
- text: Deploy a virtual machine scale set using hardened image
102+
url: vmss-deployment-from-hardened-linux-image.md
101103
- linkListType: reference
102104
links:
103105
- text: AMD confidential VMs FAQ
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
title: Deploy a virtual machine scale set using a hardened Linux image
3+
description: Learn how to use vmss to deploy a scale set using the hardened linux image.
4+
author: samyaktelsang-msft
5+
ms.service: virtual-machines
6+
mms.subservice: confidential-computing
7+
ms.topic: how-to
8+
ms.workload: infrastructure
9+
ms.date: 9/12/2023
10+
ms.author: satelsan
11+
ms.custom: devx-track-azurecli
12+
---
13+
14+
# Deploy a virtual machine scale set using a hardened Linux image
15+
16+
**Applies to:** :heavy_check_mark: Hardened Linux Images
17+
18+
Virtual machine scale set deployments using images from Azure marketplace can be done following the steps described for standard [VMSS deployments](/azure/virtual-machine-scale-sets/flexible-virtual-machine-scale-sets-cli).
19+
20+
However, if you have chosen to create a hardened linux image by removing the Azure guest agents, it's crucial to comprehend what functionalities the VM loses before you decide to remove the Azure Linux Agent, and how it affects vmss deployment.
21+
22+
This "how to" document describes the steps to deploy a virtual machine scale set instance while comprehending the functional limitations of the hardened image on deploying the vmss instance.
23+
## Prerequisites
24+
25+
- Azure subscription - If you don't have an Azure subscription, [create a free Azure account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
26+
- If your free trial accounts don't have access to the VMs used in this tutorial, one option is to use a [pay as you go subscription](https://azure.microsoft.com/pricing/purchase-options/pay-as-you-go/).
27+
- A hardened linux image - you can create one from this [article](harden-a-linux-image-to-remove-azure-guest-agent.md).
28+
29+
### VMSS confidential VM deployment from a hardened Linux image
30+
31+
Steps to deploy a scale set using VMSS and a hardened image are as follows:
32+
33+
1. Follow the steps to harden a Linux image.
34+
35+
[Harden a Linux image to remove Azure guest agent](harden-a-linux-image-to-remove-azure-guest-agent.md).
36+
37+
[Harden a Linux image to remove sudo users](harden-the-linux-image-to-remove-sudo-users.md).
38+
39+
2. Log in to the Azure CLI.
40+
41+
Make sure that you've installed the latest [Azure CLI](/cli/azure/install-azure-cli) and are logged in to an Azure account with [az login](/cli/azure/reference-index).
42+
43+
3. Launch Azure Cloud Shell.
44+
45+
The [Azure Cloud Shell](https://shell.azure.com/cli) is a free interactive shell that you can use to run the steps in this article. It has common Azure tools preinstalled and configured to use with your account.
46+
47+
To open the Cloud Shell, just select Try it from the upper right corner of a code block. You can also open Cloud Shell in a separate browser tab by going to https://shell.azure.com/bash. Select Copy to copy the blocks of code, paste it into the Cloud Shell, and select Enter to run it.
48+
49+
If you prefer to install and use the CLI locally, this quickstart requires Azure CLI version 2.0.30 or later. Run az--version to find the version. If you need to install or upgrade, see Install Azure CLI.
50+
51+
4. Create a resource group.
52+
53+
Create a resource group with the [az group create](/cli/azure/group) command. An Azure resource group is a logical container into which Azure resources are deployed and managed. The following example creates a resource group named myResourceGroup in the eastus location:
54+
55+
56+
```Azure CLI
57+
az group create --name myResourceGroup --location eastus
58+
```
59+
60+
> [!NOTE]
61+
> Confidential VMs are not available in all locations. For currently supported locations, see which [VM products are available by Azure region](https://azure.microsoft.com/global-infrastructure/services/?products=virtual-machines).
62+
63+
5. Create a Virtual Machine Scale Set.
64+
65+
Now create a Virtual Machine Scale Set with az vmss create az cli. The following example creates a scale set called myScaleSet with an instance count of 2.
66+
67+
If you are looking to set an admin username, ensure that it isn't part of the [reserved words](/rest/api/compute/virtualmachines/createorupdate#osprofile) list for vmss.
68+
In this case, the username is auto set to azureuser.
69+
For the admin credentials, you will be able to use the credentials that you set from the hardened image while you create the vm.
70+
71+
> [!NOTE]
72+
> For specalized images, [osprofile properties](/azure/virtual-machines/shared-image-galleries) are handled differently than generalized images.
73+
> Using a [load balancer](/azure/load-balancer/load-balancer-overview) is optional but is encouraged for these reasons.
74+
75+
```azurecli-interactive
76+
az vmss create \
77+
--resource-group myResourceGroup \
78+
--name myScaleSet \
79+
--vm-sku "Standard_DC4as_v5" \
80+
--security-type ConfidentialVM \
81+
--os-disk-security-encryption-type DiskwithVMGuestState \
82+
--os-disk-secure-vm-disk-encryption-set "/subscriptions/.../disk-encryption-sets/<des-name>" \
83+
--image "/subscriptions/.../images/<imageName>/versions/<version>" \
84+
--enable-vtpm true \
85+
--enable-secure-boot true \
86+
--vnet-name <virtual-network-name> \
87+
--subnet <subnet-name> \
88+
--lb "/subscriptions/.../loadBalancers/<lb-name>" \
89+
--specialized true \
90+
--instance-count 2 \
91+
--admin-username "azureuser" \
92+
--admin-password ""
93+
```
94+
95+
6. Access the virtual machine scale set from the portal.
96+
97+
You can access your cvm scale set and use the admin username and password set previously to log in. Please note that if you choose to update the admin credentials, do so directly in the scale set model using the cli.
98+
99+
> [!NOTE]
100+
> If you are looking to deploy cvm scaled scale using the custom hardened image, please note that some features related to auto scaling will be restricted. Will manual scaling rules continue to work as expected, the autoscaling ability will be limited due to the agentless custom image. More details on the restrictions can be found here for the [provisioning agent](/azure/virtual-machines/linux/disable-provisioning). Alternatively, you can navigate to the metrics tab on the azure portal and confirm the same.
101+
> However, you can continue to set up custom rules based on load balancer metrics such as SYN count, SNAT connection count, etc.
102+
103+
## Next Steps
104+
105+
In this article, you learned how to deploy a virtual machine scale set instance with a hardened linux image. For more information about CVM, see [DCasv5 and ECasv5 series confidential VMs](confidential-vm-overview.md).

0 commit comments

Comments
 (0)