Как включить и настроить журнал потоков для группы безопасности сети

Я не могу включить и настроить журнал потоков для группы безопасности сети, используя учетную запись хранения либо в NetworkWatcherRG, либо в другой существующей группе ресурсов. Мне интересно, что я делаю неправильно из sdk, так как я могу легко сделать это из лазурного графического интерфейса.

Воспроизвести

  • получить наблюдателей за сетями для наблюдателей за сетями в правильном регионе
  • получить параметры потока для существующей группы безопасности сети в регионе
  • обновить параметры потока, чтобы включить ведение журнала и установить хранилище для существующей учетной записи хранения
final PagedList<NetworkWatcher> nws = adapter.getItsAzure().networkWatchers().list();

            NetworkWatcher retval = null;
            for(final NetworkWatcher nw : nws ) {
                if(nw.region().equals(Region.GOV_US_VIRGINIA)) {
                    retval = nw;
                }
            }

            final ResourceGroup rg = adapter.getItsAzure().resourceGroups().getByName(retval.resourceGroupName());
            final StorageAccount sa = adapter.getItsAzure().storageAccounts().define(ResourceNameType.STORAGE_ACCOUNT.randomName("networkwatchersa"))
                .withRegion(Region.GOV_US_VIRGINIA)
                .withExistingResourceGroup(rg)
                .withAccessFromAllNetworks()
                .create();

            final String rgName = "resource-group-38f6628eccb84ec9aa1cd9b3c8f5f815";
            final NetworkSecurityGroup nsg = adapter.getItsAzure().networkSecurityGroups().getByResourceGroup(rgName, "add-network1-nat-securitygroup");

            final FlowLogSettings fls = retval.getFlowLogSettings(nsg.id());

            LOGGER.info("Found fls with enabled {} and storage id {}", fls.enabled(), fls.storageId());

            fls.update()
                .withLogging()
                .withStorageAccount(sa.id())
                .apply();
The client has permission to perform action 'Microsoft.OperationalInsights/workspaces/sharedKeys/action' on scope '/subscriptions/{subscription_id}/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_usgovvirginia', however the linked subscription 'resourcegroups' was not found

Примечание: идентификатор подписки присутствовал в приведенной выше ошибке, он был только что отредактирован для публикации.

Ожидаемое поведение Ожидается возможность включения журналов потоков для nsg в учетной записи хранения или более подробное сообщение об ошибке. В настоящее время я не могу определить, в чем проблема.

Настраивать:

ОС: macOS IDE: Eclipse Версия: 2019-06 (4.12.0) Версия используемой библиотеки: 1.23

Дополнительный контекст. Была предпринята попытка вызова с субъектом-службой как участником и владельцем подписки. Я пытаюсь понять сообщение об ошибке, поскольку вызов sdk кажется прямым. Я подозреваю, что это проблема разрешений или прав собственности.


person Elwyrn    schedule 11.07.2019    source источник


Ответы (1)


Я воспроизвел эту проблему со своей стороны. И, наконец, я разобрался. Просто игнорируйте вводящее в заблуждение сообщение об ошибке, которое вы получили.

Вам необходимо указать TrafficAnalyticsConfigurationProperties для FlowLogSettings, даже если вы не хотите его включать. Итак, сначала вам нужно создать рабочее пространство для аналитики журналов. И вы можете обратиться к следующему коду, чтобы включить и настроить журнал потоков для NSG.

    NetworkWatcher nw = azure.networkWatchers().listByResourceGroup("NetworkWatcherRG").get(1);
    NetworkSecurityGroup nsg = azure.networkSecurityGroups().getByResourceGroup("", "");
    StorageAccount sa = azure.storageAccounts().getByResourceGroup("", "");
    FlowLogSettings settings = nw.getFlowLogSettings(nsg.id());
    TrafficAnalyticsConfigurationProperties networkWatcherFlowAnalyticsConfiguration = new TrafficAnalyticsConfigurationProperties();
    networkWatcherFlowAnalyticsConfiguration.withWorkspaceId("").withWorkspaceRegion(Region.ASIA_SOUTHEAST.toString()).withWorkspaceResourceId("").withEnabled(false);
    settings.inner().flowAnalyticsConfiguration()
            .withNetworkWatcherFlowAnalyticsConfiguration(networkWatcherFlowAnalyticsConfiguration);
    settings.update().withLogging().withRetentionPolicyEnabled().withRetentionPolicyDays(30).withStorageAccount(sa.id()).apply();
person Md Farid Uddin Kiron    schedule 01.08.2019