Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В Azure Operator Nexus списки управления доступом (ACL) для действий Permit и Deny на уровне сетевых соединений (NNI) помогают защитить доступ через Secure Shell (SSH) в управленческой виртуальной частной сети (VPN). Перед созданием ресурсов NNI вы создаете входящие и исходящие списки управления доступом (Access Control Lists, ACLs), а затем ссылаетесь на эти списки в полезных данных NNI. Перед подготовкой сетевой структуры необходимо создать ссылки на ingress и исходящие списки управления доступом.
Ниже приведены общие шаги по созданию ACL в NNI:
- Создайте ACL для входящего и исходящего трафика NNI.
- Обновите ссылку на ресурс Azure Resource Manager в системе управления NNI.
- Создайте NNI и подготовьте сетевую структуру.
Руководство по использованию параметров
| Параметр | Description | Пример или диапазон |
|---|---|---|
defaultAction |
Действие, выполняемое по умолчанию. Если это не определено, трафик разрешен. | "defaultAction": "Permit" |
resource-group |
Группа ресурсов сетевой структуры. | nfresourcegroup |
resource-name |
Имя ACL. | example-ingressACL |
vlanGroups |
Список групп виртуальной локальной сети (VLAN). | |
vlans |
Список VLAN, которые необходимо настроить. | |
match-configurations |
Имя конфигурации сопоставления. |
example_acl. Пробелы и амперсанд (&) не поддерживаются. |
matchConditions |
Условия, необходимые для сопоставления. | |
ttlValues |
Время жизни (TTL). | 0-255 |
dscpMarking |
Отметки кодовой точки дифференцированных услуг (DSCP), которые необходимо сопоставить. | 0-63 |
portCondition |
Условие порта, которое необходимо сопоставить. | |
portType |
Тип порта, который необходимо сопоставить. | Пример: SourcePort. Допустимые значения: DestinationPort, SourcePort. |
protocolTypes |
Протоколы, которые необходимо сопоставить. |
[tcp, udp, range[1-2, 1, 2]]. Если это номер протокола, он должен находиться в диапазоне 1-255. |
vlanMatchCondition |
Условие соответствия виртуальной локальной сети, которое необходимо сопоставить. | |
layer4Protocol |
Протокол уровня 4. | Должно быть либо TCP, либо UDP. |
ipCondition |
Условие IP, которое необходимо сопоставить. | |
actions |
Действие на основе соответствующего условия. | Пример: permit. |
configuration-type |
Тип конфигурации, который может быть встроенным или файловым. В настоящее время Azure Operator Nexus поддерживает только inline. | Пример: inline. |
Кроме того, следует учитывать следующие ограничения:
- Встроенные порты и встроенные виртуальные ЛС — это статический способ определения портов или виртуальных ЛС с помощью
azcli. -
portGroupNamesиvlanGroupNamesявляются динамическими способами определения портов и виртуальных ЛС. - Встроенные порты и
portGroupNamesвместе не допускаются. - Встроенные виртуальные локальные сети и
vlanGroupNamesвместе не допускаются. -
ipGroupNamesиipPrefixValuesвместе не допускаются. - Исходящие списки управления доступом не поддерживают опции IP, длину IP, фрагмент, EtherType, маркировку DSCP или значения TTL.
- ACLы входящего трафика (Ingress) не поддерживают параметры EtherType.
Создание ACL для входящего трафика
Чтобы создать ACL для входящего трафика, можно использовать следующую команду Azure CLI. Эта команда создает ACL входящего трафика с указанными конфигурациями и предоставляет ожидаемый результат в виде выходных данных. Настройте параметры по мере необходимости для вашего варианта использования.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4ingressACL"
--configuration-type "Inline"
--default-action "Permit"
--dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]"
--match-configurations "[{matchConfigurationName:'example-match',sequenceNumber:123,ipAddressType:IPv4,matchConditions:[{etherTypes:['0x1'],fragments:['0xff00-0xffff'],ipLengths:['4094-9214'],ttlValues:[23],dscpMarkings:[32],portCondition:{flags:[established],portType:SourcePort,layer4Protocol:TCP,ports:['1-20']},protocolTypes:[TCP],vlanMatchCondition:{vlans:['20-30'],innerVlans:[30]},ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.20.20.20/12']}}],actions:[{type:Count,counterName:'example-counter'}]}]"
Ожидаемые выходные данные
{
"properties": {
"lastSyncedTime": "2023-06-17T08:56:23.203Z",
"configurationState": "Succeeded",
"provisioningState": "Accepted",
"administrativeState": "Enabled",
"annotation": "annotation",
"configurationType": "File",
"aclsUrl": "https://ACL-Storage-URL",
"matchConfigurations": [{
"matchConfigurationName": "example-match",
"sequenceNumber": 123,
"ipAddressType": "IPv4",
"matchConditions": [{
"etherTypes": ["0x1"],
"fragments": ["0xff00-0xffff"],
"ipLengths": ["4094-9214"],
"ttlValues": [23],
"dscpMarkings": [32],
"portCondition": {
"flags": ["established"],
"portType": "SourcePort",
"l4Protocol": "TCP",
"ports": ["1-20"],
"portGroupNames": ["example-portGroup"]
},
"protocolTypes": ["TCP"],
"vlanMatchCondition": {
"vlans": ["20-30"],
"innerVlans": [30],
"vlanGroupNames": ["example-vlanGroup"]
},
"ipCondition": {
"type": "SourceIP",
"prefixType": "Prefix",
"ipPrefixValues": ["10.20.20.20/12"],
"ipGroupNames": ["example-ipGroup"]
}
}]
}],
"actions": [{
"type": "Count",
"counterName": "example-counter"
}]
},
"tags": {
"keyID": "KeyValue"
},
"location": "eastUs",
"id": "/subscriptions/xxxxxx/resourceGroups/resourcegroupname/providers/Microsoft.ManagedNetworkFabric/accessControlLists/acl",
"name": "example-Ipv4ingressACL",
"type": "microsoft.managednetworkfabric/accessControlLists",
"systemData": {
"createdBy": "[email protected]",
"createdByType": "User",
"createdAt": "2023-06-09T04:51:41.251Z",
"lastModifiedBy": "UserId",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-06-09T04:51:41.251Z"
}
}
Создание ACL исходящего трафика
Чтобы создать ACL исходящего трафика, можно использовать следующую команду Azure CLI. Эта команда создает egress ACL с указанными конфигурациями и предоставляет ожидаемый результат. Настройте параметры по мере необходимости для вашего варианта использования.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4egressACL"
--configuration-type "File"
--acls-url "https://ACL-Storage-URL"
--default-action "Permit"
--dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]"
Ожидаемые выходные данные
{
"properties": {
"lastSyncedTime": "2023-06-17T08:56:23.203Z",
"configurationState": "Succeeded",
"provisioningState": "Accepted",
"administrativeState": "Enabled",
"annotation": "annotation",
"configurationType": "File",
"aclsUrl": "https://ACL-Storage-URL",
"dynamicMatchConfigurations": [{
"ipGroups": [{
"name": "example-ipGroup",
"ipAddressType": "IPv4",
"ipPrefixes": ["10.20.3.1/20"]
}],
"vlanGroups": [{
"name": "example-vlanGroup",
"vlans": ["20-30"]
}],
"portGroups": [{
"name": "example-portGroup",
"ports": ["100-200"]
}]
}]
},
"tags": {
"keyID": "KeyValue"
},
"location": "eastUs",
"id": "/subscriptions/xxxxxx/resourceGroups/resourcegroupname/providers/Microsoft.ManagedNetworkFabric/accessControlLists/acl",
"name": "example-Ipv4egressACL",
"type": "microsoft.managednetworkfabric/accessControlLists",
"systemData": {
"createdBy": "[email protected]",
"createdByType": "User",
"createdAt": "2023-06-09T04:51:41.251Z",
"lastModifiedBy": "UserId",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-06-09T04:51:41.251Z"
}
}
Обновление ссылки на Resource Manager
Этот шаг позволяет создавать списки управления доступом (входящий трафик и исходящий трафик, если указана ссылка) во время создания ресурса NNI. После создания NNI и перед подготовкой сетевой структуры вы можете повторно настроить параметры в NNI.
-
ingressAclId: идентификатор для входного ACL. -
egressAclId: идентификатор ссылки для ACL исходящего трафика.
Чтобы получить идентификатор ресурса Resource Manager, перейдите в группу ресурсов подписки, которую вы используете.
Следующая команда обновляет ссылку Диспетчера ресурсов для ресурса NNI, связывая ее с предоставленными входными и выходными списками управления доступом. Настройте параметры по мере необходимости для вашего варианта использования.
az networkfabric nni create
--resource-group "example-rg"
--fabric "example-fabric"
--resource-name "example-nniwithACL"
--nni-type "CE"
--is-management-type "True"
--use-option-b "True"
--layer2-configuration "{interfaces:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-interface'],mtu:1500}"
--option-b-layer3-configuration "{peerASN:28,vlanId:501,primaryIpv4Prefix:'10.18.0.124/30',secondaryIpv4Prefix:'10.18.0.128/30',primaryIpv6Prefix:'10:2:0:124::400/127',secondaryIpv6Prefix:'10:2:0:124::402/127'}"
--ingress-acl-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accesscontrollists/example-Ipv4ingressACL"
--egress-acl-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accesscontrollists/example-Ipv4egressACL"
Отображение деталей ACL
Чтобы отобразить сведения о указанном ACL, используйте следующую команду:
az networkfabric acl show --resource-group "example-rg" --resource-name "example-acl"
Список ACL
Чтобы перечислить все ACL в указанной группе ресурсов, используйте следующую команду:
az networkfabric acl list --resource-group "ResourceGroupName"
Создание списков управления доступом в внешней сети ISD
Используйте следующую информацию для создания входящих и исходящих списков доступа для внешней сети домена изоляции (ISD). Затем обновите ссылку на ресурсы Resource Manager для внешней сети.
Создание ACL исходящего трафика для внешней сети ISD
Чтобы создать ACL исходящего трафика для указанной внешней сети ISD с предоставленной конфигурацией, используйте следующую команду. Настройте параметры по мере необходимости для вашего варианта использования.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4egressACL"
--annotation "annotation"
--configuration-type "Inline"
--default-action "Deny"
--match-configurations "[{matchConfigurationName:'L3ISD_EXT_OPTA_EGRESS_ACL_IPV4_CE_PE',sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"
Ожидаемые выходные данные
После успешного выполнения команда возвращает сведения о созданном ACL в следующем формате. Эти выходные данные содержат сведения о конфигурации и состоянии.
{
"administrativeState": "Disabled",
"annotation": "annotation",
"configurationState": "Succeeded",
"configurationType": "Inline",
"defaultAction": "Deny",
"id": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-Ipv4egressACL",
"location": "eastus2euap",
"matchConfigurations": [
{
"actions": [
{
"type": "Count"
}
],
"ipAddressType": "IPv4",
"matchConditions": [
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "SourceIP"
}
},
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "DestinationIP"
}
}
],
"matchConfigurationName": "L3ISD_EXT_OPTA_EGRESS_ACL_IPV4_CE_PE",
"sequenceNumber": 1110
}
],
"name": "example-Ipv4egressACL",
"provisioningState": "Succeeded",
"resourceGroup": "example-rg",
"systemData": {
"createdAt": "2023-09-11T10:20:20.2617941Z",
"createdBy": "[email protected]",
"createdByType": "User",
"lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
"lastModifiedBy": "[email protected]",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/accesscontrollists"
}
Создание ACL входящего трафика для внешней сети ISD
Чтобы создать входной ACL для указанной внешней сети ISD с данной конфигурацией, используйте следующую команду. Настройте параметры по мере необходимости для вашего варианта использования.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4ingressACL"
--annotation "annotation"
--configuration-type "Inline"
--default-action "Deny"
--match-configurations "[{matchConfigurationName:'L3ISD_EXT_OPTA_INGRESS_ACL_IPV4_CE_PE',sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"
Ожидаемые выходные данные
После успешного выполнения команда возвращает сведения о созданном ACL в следующем формате. Эти выходные данные содержат сведения о конфигурации и состоянии.
{
"administrativeState": "Disabled",
"annotation": "annotation",
"configurationState": "Succeeded",
"configurationType": "Inline",
"defaultAction": "Deny",
"id": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-Ipv4ingressACL",
"location": "eastus2euap",
"matchConfigurations": [
{
"actions": [
{
"type": "Count"
}
],
"ipAddressType": "IPv4",
"matchConditions": [
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "SourceIP"
}
},
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "DestinationIP"
}
}
],
"matchConfigurationName": "L3ISD_EXT_OPTA_INGRESS_ACL_IPV4_CE_PE",
"sequenceNumber": 1110
}
],
"name": "example-Ipv4ingressACL",
"provisioningState": "Succeeded",
"resourceGroup": "example-rg",
"systemData": {
"createdAt": "2023-09-11T10:20:20.2617941Z",
"createdBy": "[email protected]",
"createdByType": "User",
"lastModifiedAt": "2023-09-11T10:27:27.2317467Z",
"lastModifiedBy": "[email protected]",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/accesscontrollists"
}