Skip to content

Commit dd04895

Browse files
authored
Merge pull request #274999 from MicrosoftDocs/release-preview-bastion
Release preview bastion
2 parents 644ea9c + 054fdf9 commit dd04895

31 files changed

+437
-98
lines changed

articles/bastion/TOC.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
href: work-remotely-support.md
2626
- name: Bastion FAQ
2727
href: bastion-faq.md
28+
- name: Design architecture
29+
href: design-architecture.md
2830
- name: Bastion configuration settings
2931
href: configuration-settings.md
3032
- name: VM connections and features
@@ -49,6 +51,8 @@
4951
href: create-host-cli.md
5052
- name: Developer SKU
5153
href: quickstart-developer-sku.md
54+
- name: Deploy private-only Bastion
55+
href: private-only-deployment.md
5256
- name: Configure Bastion settings
5357
items:
5458
- name: View or upgrade SKU
@@ -65,6 +69,8 @@
6569
href: shareable-link.md
6670
- name: Configure Kerberos authentication
6771
href: kerberos-authentication-portal.md
72+
- name: Configure session recording
73+
href: session-recording.md
6874
- name: Connect to a virtual machine
6975
items:
7076
- name: Windows VM

articles/bastion/bastion-connect-vm-rdp-windows.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn how to use Azure Bastion to connect to Windows VM using RDP.
55
author: cherylmc
66
ms.service: bastion
77
ms.topic: how-to
8-
ms.date: 08/03/2023
8+
ms.date: 04/05/2024
99
ms.author: cherylmc
1010

1111
---
@@ -23,7 +23,7 @@ Before you begin, verify that you've met the following criteria:
2323
* A VNet with the Bastion host already installed.
2424

2525
* Make sure that you have set up an Azure Bastion host for the virtual network in which the VM is located. Once the Bastion service is provisioned and deployed in your virtual network, you can use it to connect to any VM in the virtual network.
26-
* To set up an Azure Bastion host, see [Create a bastion host](tutorial-create-host-portal.md#createhost). If you plan to configure custom port values, be sure to select the Standard SKU when configuring Bastion.
26+
* To set up an Azure Bastion host, see [Create a bastion host](tutorial-create-host-portal.md#createhost). If you plan to configure custom port values, be sure to select the Standard SKU or higher when configuring Bastion.
2727

2828
* A Windows virtual machine in the virtual network.
2929

@@ -42,7 +42,7 @@ To connect to the Windows VM, you must have the following ports open on your Win
4242
* Inbound port: Custom value (you'll then need to specify this custom port when you connect to the VM via Azure Bastion)
4343

4444
> [!NOTE]
45-
> If you want to specify a custom port value, Azure Bastion must be configured using the Standard SKU. The Basic SKU does not allow you to specify custom ports.
45+
> If you want to specify a custom port value, Azure Bastion must be configured using the Standard SKU or higher. The Basic SKU does not allow you to specify custom ports.
4646
4747
### Rights on target VM
4848

articles/bastion/bastion-connect-vm-ssh-windows.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn how to use Azure Bastion to connect to Windows VM using SSH.
55
author: cherylmc
66
ms.service: bastion
77
ms.topic: how-to
8-
ms.date: 10/13/2023
8+
ms.date: 04/05/2024
99
ms.author: cherylmc
1010
---
1111

@@ -16,7 +16,7 @@ This article shows you how to securely and seamlessly create an SSH connection t
1616
Azure Bastion provides secure connectivity to all of the VMs in the virtual network in which it's provisioned. Using Azure Bastion protects your virtual machines from exposing RDP/SSH ports to the outside world, while still providing secure access using RDP/SSH. For more information, see the [What is Azure Bastion?](bastion-overview.md).
1717

1818
> [!NOTE]
19-
> If you want to create an SSH connection to a Windows VM, Azure Bastion must be configured using the Standard SKU.
19+
> If you want to create an SSH connection to a Windows VM, Azure Bastion must be configured using the Standard SKU or higher.
2020
>
2121
2222
When connecting to a Windows virtual machine using SSH, you can use both username/password and SSH keys for authentication.
@@ -30,7 +30,7 @@ Make sure that you have set up an Azure Bastion host for the virtual network in
3030
To SSH to a Windows virtual machine, you must also ensure that:
3131
* Your Windows virtual machine is running Windows Server 2019 or later.
3232
* You have OpenSSH Server installed and running on your Windows virtual machine. To learn how to do this, see [Install OpenSSH](/windows-server/administration/openssh/openssh_install_firstuse).
33-
* Azure Bastion has been configured to use the Standard SKU.
33+
* Azure Bastion has been configured to use the Standard SKU or higher.
3434

3535
### Required roles
3636

@@ -60,7 +60,7 @@ Currently, Azure Bastion only supports connecting to Windows VMs via SSH using *
6060

6161
:::image type="content" source="./media/bastion-connect-vm-ssh-windows/connect.png" alt-text="Screenshot shows the overview for a virtual machine in Azure portal with Connect selected." lightbox="./media/bastion-connect-vm-ssh-windows/connect.png":::
6262

63-
1. On the **Bastion** connection page, click the **Connection Settings** arrow to expand all the available settings. Notice that if you're using the Bastion **Standard** SKU, you have more available settings.
63+
1. On the **Bastion** connection page, click the **Connection Settings** arrow to expand all the available settings. Notice that if you're using the Bastion **Standard** SKU or higher, you have more available settings.
6464

6565
:::image type="content" source="./media/bastion-connect-vm-ssh-windows/connection-settings.png" alt-text="Screenshot shows connection settings.":::
6666

@@ -80,7 +80,7 @@ Use the following steps to authenticate using username and password.
8080
1. To authenticate using a username and password, configure the following settings:
8181

8282
* **Protocol**: Select SSH.
83-
* **Port**: Input the port number. Custom port connections are available for the Standard SKU only.
83+
* **Port**: Input the port number. Custom port connections are available for the Standard SKU or higher.
8484
* **Authentication type**: Select **Password** from the dropdown.
8585
* **Username**: Enter the username.
8686
* **Password**: Enter the **Password**.
@@ -98,7 +98,7 @@ Use the following steps to authenticate using an SSH private key from a local fi
9898
1. To authenticate using a private key from a local file, configure the following settings:
9999

100100
* **Protocol**: Select SSH.
101-
* **Port**: Input the port number. Custom port connections are available for the Standard SKU only.
101+
* **Port**: Input the port number. Custom port connections are available for the Standard SKU or higher.
102102
* **Authentication type**: Select **SSH Private Key from Local File** from the dropdown.
103103
* **Local File**: Select the local file.
104104
* **SSH Passphrase**: Enter the SSH passphrase if necessary.
@@ -116,7 +116,7 @@ Use the following steps to authenticate using a password from Azure Key Vault.
116116
1. To authenticate using a password from Azure Key Vault, configure the following settings:
117117

118118
* **Protocol**: Select SSH.
119-
* **Port**: Input the port number. Custom port connections are available for the Standard SKU only.
119+
* **Port**: Input the port number. Custom port connections are available for the Standard SKU or higher.
120120
* **Authentication type**: Select **Password from Azure Key Vault** from the dropdown.
121121
* **Username**: Enter the username.
122122
* **Subscription**: Select the subscription.
@@ -144,7 +144,7 @@ Use the following steps to authenticate using a private key stored in Azure Key
144144
1. To authenticate using a private key stored in Azure Key Vault, configure the following settings:
145145

146146
* **Protocol**: Select SSH.
147-
* **Port**: Input the port number. Custom port connections are available for the Standard SKU only.
147+
* **Port**: Input the port number. Custom port connections are available for the Standard SKU or higher.
148148
* **Authentication type**: Select **SSH Private Key from Azure Key Vault** from the dropdown.
149149
* **Username**: Enter the username.
150150
* **Subscription**: Select the subscription.

articles/bastion/bastion-create-host-powershell.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,23 @@ description: Learn how to deploy Azure Bastion using PowerShell.
55
author: cherylmc
66
ms.service: bastion
77
ms.topic: how-to
8-
ms.date: 10/05/2023
8+
ms.date: 04/05/2024
99
ms.author: cherylmc
1010
ms.custom: devx-track-azurepowershell
1111
# Customer intent: As someone with a networking background, I want to deploy Bastion and connect to a VM.
1212
---
1313

1414
# Deploy Bastion using Azure PowerShell
1515

16-
This article shows you how to deploy Azure Bastion with the Standard SKU using PowerShell. Azure Bastion is a PaaS service that's maintained for you, not a bastion host that you install on your VM and maintain yourself. An Azure Bastion deployment is per virtual network, not per subscription/account or virtual machine. For more information about Azure Bastion, see [What is Azure Bastion?](bastion-overview.md)
16+
This article shows you how to deploy Azure Bastion using PowerShell. Azure Bastion is a PaaS service that's maintained for you, not a bastion host that you install on your VM and maintain yourself. An Azure Bastion deployment is per virtual network, not per subscription/account or virtual machine. For more information about Azure Bastion, see [What is Azure Bastion?](bastion-overview.md)
1717

1818
Once you deploy Bastion to your virtual network, you can connect to your VMs via private IP address. This seamless RDP/SSH experience is available to all the VMs in the same virtual network. If your VM has a public IP address that you don't need for anything else, you can remove it.
1919

2020
:::image type="content" source="./media/create-host/host-architecture.png" alt-text="Diagram showing Azure Bastion architecture." lightbox="./media/create-host/host-architecture.png":::
2121

22-
In this article, you create a virtual network (if you don't already have one), deploy Azure Bastion using PowerShell, and connect to a VM. You can also deploy Bastion by using the following other methods:
22+
In this article, you create a virtual network (if you don't already have one), deploy Azure Bastion using PowerShell, and connect to a VM. The examples show Bastion deployed using the Standard SKU tier, but you can use a different Bastion SKU, depending on the features you'd like to use. For more information, see [Bastion SKUs](configuration-settings.md#skus).
23+
24+
You can also deploy Bastion by using the following other methods:
2325

2426
* [Azure portal](./tutorial-create-host-portal.md)
2527
* [Azure CLI](create-host-cli.md)
@@ -42,7 +44,7 @@ Verify that you have an Azure subscription. If you don't already have an Azure s
4244

4345
You can use the following example values when creating this configuration, or you can substitute your own.
4446

45-
** Example VNet and VM values:**
47+
**Example VNet and VM values:**
4648

4749
|**Name** | **Value** |
4850
| --- | --- |
@@ -60,7 +62,7 @@ You can use the following example values when creating this configuration, or yo
6062
| Name | VNet1-bastion |
6163
| Subnet Name | FrontEnd |
6264
| Subnet Name | AzureBastionSubnet|
63-
| AzureBastionSubnet addresses | A subnet within your VNet address space with a subnet mask /26 or larger.<br> For example, 10.1.1.0/26. |
65+
| AzureBastionSubnet addresses | A subnet within your virtual network address space with a subnet mask /26 or larger.<br> For example, 10.1.1.0/26. |
6466
| Tier/SKU | Standard |
6567
| Public IP address | Create new |
6668
| Public IP address name | VNet1-ip |
@@ -75,7 +77,7 @@ This section helps you create a virtual network, subnets, and deploy Azure Basti
7577
> [!INCLUDE [Pricing](../../includes/bastion-pricing.md)]
7678
>
7779
78-
1. Create a resource group, a virtual network, and a front end subnet to which you'll deploy the VMs that you'll connect to via Bastion. If you're running PowerShell locally, open your PowerShell console with elevated privileges and connect to Azure using the `Connect-AzAccount` command.
80+
1. Create a resource group, a virtual network, and a front end subnet to which you deploy the VMs that you'll connect to via Bastion. If you're running PowerShell locally, open your PowerShell console with elevated privileges and connect to Azure using the `Connect-AzAccount` command.
7981

8082
```azurepowershell-interactive
8183
New-AzResourceGroup -Name TestRG1 -Location EastUS `
@@ -114,7 +116,7 @@ This section helps you create a virtual network, subnets, and deploy Azure Basti
114116
-AllocationMethod Static -Sku Standard
115117
```
116118

117-
1. Create a new Azure Bastion resource in the AzureBastionSubnet using the [New-AzBastion](/powershell/module/az.network/new-azbastion) command. The following example uses the **Basic SKU**. However, you can also deploy Bastion using the Standard SKU by changing the -Sku value to "Standard". The Standard SKU lets you configure more Bastion features and connect to VMs using more connection types. You can also deploy Bastion automatically using the [Developer SKU](quickstart-developer-sku.md). For more information, see [Bastion SKUs](configuration-settings.md#skus).
119+
1. Create a new Azure Bastion resource in the AzureBastionSubnet using the [New-AzBastion](/powershell/module/az.network/new-azbastion) command. The following example uses the **Basic SKU**. However, you can also deploy Bastion using a different SKU by changing the -Sku value. The SKU you select determines the Bastion features and connect to VMs using more connection types. For more information, see [Bastion SKUs](configuration-settings.md#skus).
118120

119121
```azurepowershell-interactive
120122
New-AzBastion -ResourceGroupName "TestRG1" -Name "VNet1-bastion" `
@@ -162,4 +164,4 @@ Azure Bastion doesn't use the public IP address to connect to the client VM. If
162164
## Next steps
163165

164166
* To use Network Security Groups with the Azure Bastion subnet, see [Work with NSGs](bastion-nsg.md).
165-
* To understand VNet peering, see [VNet peering and Azure Bastion](vnet-peering.md).
167+
* To understand VNet peering, see [Virtual Network peering and Azure Bastion](vnet-peering.md).

articles/bastion/bastion-nsg.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about using network security groups with Azure Bastion.
44
author: cherylmc
55
ms.service: bastion
66
ms.topic: conceptual
7-
ms.date: 06/23/2023
7+
ms.date: 04/05/2024
88
ms.author: cherylmc
99
---
1010
# Working with NSG access and Azure Bastion
@@ -56,7 +56,7 @@ Azure Bastion is deployed specifically to ***AzureBastionSubnet***.
5656
### Target VM Subnet
5757
This is the subnet that contains the target virtual machine that you want to RDP/SSH to.
5858

59-
* **Ingress Traffic from Azure Bastion:** Azure Bastion will reach to the target VM over private IP. RDP/SSH ports (ports 3389/22 respectively, or custom port values if you are using the custom port feature as a part of Standard SKU) need to be opened on the target VM side over private IP. As a best practice, you can add the Azure Bastion Subnet IP address range in this rule to allow only Bastion to be able to open these ports on the target VMs in your target VM subnet.
59+
* **Ingress Traffic from Azure Bastion:** Azure Bastion will reach to the target VM over private IP. RDP/SSH ports (ports 3389/22 respectively, or custom port values if you're using the custom port feature as a part of Standard or Premium SKU) need to be opened on the target VM side over private IP. As a best practice, you can add the Azure Bastion Subnet IP address range in this rule to allow only Bastion to be able to open these ports on the target VMs in your target VM subnet.
6060

6161

6262
## Next steps

articles/bastion/bastion-overview.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,30 +39,29 @@ Azure Bastion offers multiple deployment architectures, depending on the selecte
3939

4040
RDP and SSH are some of the fundamental means through which you can connect to your workloads running in Azure. Exposing RDP/SSH ports over the Internet isn't desired and is seen as a significant threat surface. This is often due to protocol vulnerabilities. To contain this threat surface, you can deploy bastion hosts (also known as jump-servers) at the public side of your perimeter network. Bastion host servers are designed and configured to withstand attacks. Bastion servers also provide RDP and SSH connectivity to the workloads sitting behind the bastion, as well as further inside the network.
4141

42-
**Diagram: Bastion - Basic SKU and higher**
42+
The SKU you select when you deploy Bastion determines the architecture and the available features. You can upgrade to a higher SKU to support more features, but you can't downgrade a SKU after deploying. Certain architectures, such as Private-only and Developer SKU, must be configured at the time of deployment. For more information about each architecture, see [Bastion design and architecture](design-architecture.md).
4343

44-
:::image type="content" source="./media/bastion-overview/architecture.png" alt-text="Diagram showing Azure Bastion architecture." lightbox="./media/bastion-overview/architecture.png":::
44+
The following diagrams show the available architectures for Azure Bastion.
45+
46+
**Basic SKU and higher**
4547

46-
* The Bastion host is deployed in the virtual network that contains the AzureBastionSubnet subnet that has a minimum /26 prefix.
47-
* The user connects to the Azure portal using any HTML5 browser.
48-
* The user selects the virtual machine to connect to.
49-
* With a single click, the RDP/SSH session opens in the browser.
50-
* For some configurations, the user can connect to the virtual machine via the native operating system client.
51-
* No public IP is required on the Azure VM.
48+
:::image type="content" source="./media/bastion-overview/architecture.png" alt-text="Diagram showing Azure Bastion architecture." lightbox="./media/bastion-overview/architecture.png":::
5249

53-
**Diagram: Bastion - Developer SKU**
50+
**Developer SKU**
5451

5552
:::image type="content" source="./media/quickstart-developer-sku/bastion-shared-pool.png" alt-text="Diagram that shows the Azure Bastion developer SKU architecture." lightbox="./media/quickstart-developer-sku/bastion-shared-pool.png":::
5653

57-
[!INCLUDE [Developer SKU](../../includes/bastion-developer-sku-description.md)]
54+
**Private-only deployment (Preview)**
55+
56+
:::image type="content" source="./media/private-only-deployment/private-only-architecture.png" alt-text="Diagram showing Azure Bastion private-only architecture." lightbox="./media/private-only-deployment/private-only-architecture.png":::
5857

5958
## Availability zones
6059

6160
[!INCLUDE [Availability Zones description and supported regions](../../includes/bastion-availability-zones-description.md)]
6261

6362
## <a name="host-scaling"></a>Host scaling
6463

65-
Azure Bastion supports manual host scaling. You can configure the number of host **instances** (scale units) in order to manage the number of concurrent RDP/SSH connections that Azure Bastion can support. Increasing the number of host instances lets Azure Bastion manage more concurrent sessions. Decreasing the number of instances decreases the number of concurrent supported sessions. Azure Bastion supports up to 50 host instances. This feature is available for the Azure Bastion Standard SKU only.
64+
Azure Bastion supports manual host scaling. You can configure the number of host **instances** (scale units) in order to manage the number of concurrent RDP/SSH connections that Azure Bastion can support. Increasing the number of host instances lets Azure Bastion manage more concurrent sessions. Decreasing the number of instances decreases the number of concurrent supported sessions. Azure Bastion supports up to 50 host instances. This feature is available for Standard SKU and higher.
6665

6766
For more information, see the [Configuration settings](configuration-settings.md#instance) article.
6867

articles/bastion/bastion-vm-copy-paste.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ Before you proceed, make sure you have the following items.
2424

2525
## <a name="configure"></a> Configure the bastion host
2626

27-
By default, Azure Bastion is automatically enabled to allow copy and paste for all sessions connected through the bastion resource. You don't need to configure anything extra. This applies to both the Basic and the Standard SKU tier. If you want to disable this feature, you can disable it for web-based clients on the configuration page of your Bastion resource.
27+
By default, Azure Bastion is automatically enabled to allow copy and paste for all sessions connected through the bastion resource. You don't need to configure anything extra. You can disable this feature for web-based clients on the configuration page of your Bastion resource if your Bastion deployment uses the Standard SKU or higher.
2828

2929
1. To view or change your configuration, in the portal, go to your Bastion resource.
3030
1. Go to the **Configuration** page.
3131
* To enable, select the **Copy and paste** checkbox if it isn't already selected.
32-
* To disable, clear the checkbox. Disable is only available with the Standard SKU. You can upgrade the SKU if necessary.
32+
* To disable, clear the checkbox. Disable is only available with the Standard SKU or higher. You can upgrade the SKU if necessary.
3333
1. **Apply** changes. The bastion host updates.
3434

3535
## <a name="to"></a> Copy and paste

0 commit comments

Comments
 (0)