Azure Bastion

azureBastion hostazure-bastion

Managed RDP and SSH jump host reached over TLS without public VM IPs.

Provider
azure
Category
Security
Properties · 5 set by this component
propertytypevaluesrequiredkind defaultthis component
instanceCount · component propertyinteger—no2inherited
justInTimeAccessboolean—nofalse▸ false
managedboolean—nofalse▸ true
mfaRequiredboolean—no—inherited
protocolsenumssh | rdp | bothno—▸ both
publicIpboolean—no—▸ true
sessionRecordingboolean—no—▸ false
shareableLink · component propertyboolean—nofalseinherited
sku · component propertyenumdeveloper | basic | standard | premiumno—inherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "bastion", component: "azure-bastion" }
Other Bastion host products · 17
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Azure Bastion: managed RDP/SSH jump host reached over TLS on port 443 ("What is Azure Bastion?").
# Basic, Standard and Premium deploy into AzureBastionSubnet with a public IP and two instances;
# session recording and private-only deployment are Premium-only, so both are off out of the box.
schemaVersion: "1"
type: "component"
id: "azure-bastion"
kind: "bastion-host"
provider: "azure"
docs: "https://learn.microsoft.com/en-us/azure/bastion/bastion-overview"
defaults:
  managed: true
  protocols: "both"
  publicIp: true
  sessionRecording: false
  justInTimeAccess: false
properties:
  sku:
    type: "enum"
    values: ["developer", "basic", "standard", "premium"]
  instanceCount:
    type: "integer"
    default: 2
  shareableLink:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/components/azure-bastion.md