Azure网络安全组/安全规则 - address_prefixes和port_ranges

时间:2017-08-24 02:44:28

标签: azure azure-virtual-network azure-sdk-python

通过Azure python SDK for SecurityRule类的定义:

SecurityRule(protocol, source_address_prefix, destination_address_prefix, access, direction, id=None, description=None, source_port_range=None, destination_port_range=None, source_address_prefixes=None, destination_address_prefixes=None, source_port_ranges=None, destination_port_ranges=None, priority=None, provisioning_state=None, name=None, etag=None)

使用source_address_prefixesdestination_port_ranges,我们应该能够配置CIDRS或port_ranges列表,但我找不到检查配置是否在的方法。

portal和“get”都不显示前缀或范围。

1 个答案:

答案 0 :(得分:1)

您提到的两个参数是在昨天发布的1.4.0中添加的,目前还没有关于如何使用它们的示例。 但是,您可以使用以前的参数实现相同的行为:

async_security_rule = network_client.security_rules.create_or_update(
    self.group_name,
    security_group_name,
    new_security_rule_name,
    {
            'access':azure.mgmt.network.models.SecurityRuleAccess.allow,
            'description':'New Test security rule',
            'destination_address_prefix':'*',
            'destination_port_range':'123-3500',
            'direction':azure.mgmt.network.models.SecurityRuleDirection.outbound,
            'priority':400,
            'protocol':azure.mgmt.network.models.SecurityRuleProtocol.tcp,
            'source_address_prefix':'*',
            'source_port_range':'655',
    }
)
security_rule = async_security_rule.result()

security_rule = self.network_client.security_rules.get(
    self.group_name,
    security_group_name,
    security_rule.name
)
self.assertEqual(security_rule.name, new_security_rule_name)

您只需在-上使用destination_port_range加入语法。您还可以使用使用此SDK并具有NSG命令的CLI 2.0进行测试。

此处提供了网络客户端的概述: https://docs.microsoft.com/python/api/overview/azure/network

随意在跟踪器上创建问题以询问样本: https://github.com/Azure/azure-sdk-for-python/issues