2017-08-24 1 views
0

Durch die Definition von Azure Python-SDK für SecurityRule Klasse:Azure Netzwerk-Sicherheitsgruppe/Sicherheitsregel - address_prefixes und port_ranges

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) 

Mit source_address_prefixes und destination_port_ranges, sollten wir in der Lage, eine Liste von CIDRS oder port_ranges zu konfigurieren, aber ich kann keinen Weg finden, um zu überprüfen, ob die Konfiguration läuft.

Sowohl Portal als auch "get" zeigen keine Präfixe oder Bereiche.

Antwort

1

Die beiden Parameter, die Sie erwähnt haben, wurden gestern in Version 1.4.0 hinzugefügt, es gibt noch kein Beispiel dafür, wie Sie sie verwenden können. Sie können jedoch das gleiche Verhalten mit den früheren Parameter erreichen:

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) 

Sie müssen nur eine - Syntax auf destination_port_range verbunden verwenden. Sie können dies auch mithilfe der CLI 2.0 testen, die dieses SDK verwendet und über NSG-Befehle verfügt.

Eine Übersicht über Netzwerk-Client finden Sie hier: https://docs.microsoft.com/python/api/overview/azure/network

Fühlen Sie sich frei ein Problem auf dem Tracker für Proben zu bitten, zu erstellen: https://github.com/Azure/azure-sdk-for-python/issues

+0

die hinzuzufügen, mit der neuesten SDK, die Parameter sollte jetzt in einem Get-Call erscheinen. 'source/destination_port_ranges' akzeptiert einfach eine Liste der akzeptierten Ports oder Port-Bereiche. Zum Beispiel: '['80', '100-200']'. "*" Kann jedoch nur mit der eigenständigen Eigenschaft und nicht in der Liste verwendet werden. 'source/destination_address_prefixes' akzeptiert eine Liste von CIDR-Adressen, zB:' ['10 .0.0.0/24 ', '11.0.0.0/24'] '. Um '*' oder ein Tag zu verwenden (zum Beispiel 'Internet' oder' VirtualNetwork'), müssen Sie die Singular-Eigenschaft verwenden. Sie können nicht in der Liste verwendet werden. –

+0

Nächste Woche wird CLI 2.0 veröffentlicht, mit dem Sie sehen können, ob diese mit 'nsg rule show' konfiguriert wurden. In einer kommenden Version werden die Befehle 'nsg rule create/update' aktualisiert, damit Sie diese festlegen können. –

+0

https://github.com/Azure/azure-cli/pull/4321 –