【问题标题】:How to enable and configure flow log for network security group如何启用和配置网络安全组的流日志
【发布时间】:2019-11-21 06:40:01
【问题描述】:

我无法使用 NetworkWatcherRG 或其他现有资源组中的存储帐户为网络安全组启用和配置流日志。我想知道我在 sdk 上做错了什么,因为我可以从 azure gui 轻松做到这一点。

复制

  • 检索网络观察者 用于正确区域的网络观察者
  • 检索区域中现有网络安全组的流设置
  • 更新流设置以启用日志记录并将存储设置为现有存储帐户
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

注意:订阅 ID 出现在上述错误中,它刚刚被编辑以发布

预期行为 希望能够为存储帐户中的 nsg 启用流日志,或者更详细的错误消息,我目前无法确定问题所在

设置:

操作系统:macOS IDE:Eclipse 版本:2019-06 (4.12.0) 使用的库版本:1.23

附加上下文 已尝试将服务主体作为订阅中的参与者和所有者进行调用。我试图理解错误消息,因为 sdk 调用似乎很简单。我怀疑这是权限或所有权问题。

【问题讨论】:

    标签: java azure azure-java-sdk


    【解决方案1】:

    我已经从我这边复制了这个问题。最后我已经解决了。忽略您收到的误导性错误消息。

    您需要向 FlowLogSettings 提供 TrafficAnalyticsConfigurationProperties,即使您不想打开它。 因此,您需要先创建一个日志分析工作区。 您可以参考以下代码为 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-08
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2021-04-17
      • 1970-01-01
      • 2018-07-30
      相关资源
      最近更新 更多