当前位置: 首页 > 知识库问答 >
问题:

SQL Server不允许防火墙更新-创建防火墙规则实例时出错

左丘智渊
2023-03-14

你好,社区,我正在通过Azure CLI运行以下Ansible Playbook。我也从Ubuntu18.04.4LTS中得到了类似的结果。

我还提出了一个github问题:https://github.com/azure/ansible/issues/21

我使用Azure CLI是什么意思?

->创建一个新的yml文件。复制下面的脚本。

->运行下面的剧本。使用此命令Ansible-Playbook nameofyourfile.yml

->以下脚本失败

- hosts: localhost
  connection: local
  vars:
    resource_group: ansibleResourceGroupName
    webapp_name: ansibleWebAppName
    plan_name: ansibleWebPlanName
    location: westeurope
    server_name: AnisbleDemoSqlServer
    database_name: AnsibleDemoSqlDatabase
  tasks:
    - name: Create a resource group
      azure_rm_resourcegroup:
        name: "{{ resource_group }}"
        location: "{{ location }}"

    - name: Create App Service on Linux with dotnetcore
      azure_rm_webapp:
        resource_group: "{{ resource_group }}"
        name: "{{ webapp_name }}"
        plan:
          resource_group: "{{ resource_group }}"
          name: "{{ plan_name }}"
          is_linux: true
          sku: S1
          number_of_workers: 1
        frameworks:
          - name: "dotnetcore"
            version: "3.1"

    - name: Create (or update) SQL Server
      azure_rm_sqlserver:
        resource_group: "{{ resource_group }}"
        name: "{{ server_name }}"
        location: "{{ location }}"
        admin_username: panoskarajohn
        admin_password: Testpasswordxyz12!

    - name: Create (or update) SQL Database
      azure_rm_sqldatabase:
        resource_group: "{{ resource_group }}"
        server_name: "{{ server_name }}"
        name: "{{ database_name }}"
        location: "{{ location }}"

    - name: Create (or update) Firewall Rule
      azure_rm_sqlfirewallrule:
        resource_group: "{{ resource_group }}"
        server_name: "{{ server_name }}"
        name: firewallruleAllowAll
        start_ip_address: 0.0.0.0.
        end_ip_address: 255.255.255.255

而且,即使有我可以更改的选择,保存按钮也没有响应。整个防火墙页面似乎没有响应。

有关更多信息,请参见图像。

当我通过azure portal创建一个新的sql server时,一切似乎都在运行。

ansible 2.9.6配置文件=无配置模块搜索路径=[u'/home/pkaragiannis/.ansible/plugins/modules,u'/usr/share/ansible/plugins/modules]ansible python模块位置=/usr/local/lib/python2.7/dist-packages/ansible可执行位置=/usr/local/bin/ansible python版本=2.7.17(默认值,2019年11月7日,10:07:09)[GCC 7.4.0]

Ubuntu VM的Ansible输出

播放[localhost]*****************************************************************************************************************************************************************

任务[收集事实]

任务[创建资源组]

任务[用dotnetcore在Linux上创建应用程序服务

任务[创建(或更新)SQL Server

任务[创建(或更新)SQLhtml" target="_blank">数据库]

任务[创建(或更新)防火墙规则]*******************************************************************************致命:[localhost]:失败!=>{“changed”:false,“msg”:“创建防火墙规则实例时出错:400客户端错误:错误的URL请求:https://management.azure.com/subscriptions/*******-*****-******/resourceGroupName/providers/microsoft.sql/servers/anisbledemosqlserver/firewallrule/firewallruleAllowall?api-version=2014-04-01”}

播放回顾

共有1个答案

吕皓
2023-03-14

当您要创建SQL server及其防火墙规则时,我看到您使用服务主体进行身份验证。因此,首先,服务主体应该具有订阅或将使用的资源组的贡献者角色。

使用服务主体登录,然后使用Azure CLI命令创建SQL server和防火墙规则:

az sql server create -l westus -g mygroup -n myserver -u myadminuser -p myadminpassword
az sql server firewall-rule create -g mygroup -s myserver -n myrule --start-ip-address 1.2.3.4 --end-ip-address 5.6.7.8

对于Ansible,它应该也可以工作,我在代码中没有看到任何问题。只需用服务主体正确地设置它的凭据。

- hosts: localhost
  connection: local
  tasks:
    - name: Create (or update) SQL Server
      azure_rm_sqlserver:
        resource_group: mygroup
        name: mysqlname
        location: eastus
        admin_username: username
        admin_password: password

    - name: Create (or update) Firewall Rule
      azure_rm_sqlfirewallrule:
        resource_group: mygroup
        server_name: mysqlname
        name: FirewallRule1
        start_ip_address: 10.0.17.62
        end_ip_address: 10.0.17.62
 类似资料:
  • 我们有一个相当严格的网络分段策略。我正在使用云代工实例来部署应用程序。防火墙规则已经设置为从云代工实例中到达kafka集群。我相信防火墙规则也已经设置为到达动物园管理员实例。我需要实际确认一下。 我的问题似乎是我可以向kafka生成消息,但我的消费者似乎没有取件。它似乎在“轮询”时挂起。 对于我的防火墙规则,是否有一些隐藏的主机或端口需要处理,而不仅仅是标准主机和kafka和zookeeper节点

  • 基本概念 netfilter Linux 内核包含一个强大的网络过滤子系统 netfilter。netfilter 子系统允许内核模块对遍历系统的每个网络数据包进行检查。这表示在任何传入、传出或转发的网络数据包到达用户空间中的组件之前,都可以通过编程方式检查、修改、丢弃或拒绝。netfilter 是 RHEL 7 计算机上构建防火墙的主要构建块。 尽管系统管理员理论上可以编写自己的内核模块以与 n

  • 我有一个服务器写在JavaServerSocket。 我有一个客户端,它位于一个公司防火墙之上,除了公共端口之外,它阻止了所有东西。 我已在SMTP端口(#25)上启动服务器。 有防火墙的用户连接到它,到目前为止一切正常。 然后服务器处理ServerSocket.accept()。据我所知,它在一个随机端口上创建一个套接字(每次端口号都不同)。因为防火墙而失败。 我的问题是-如何制作ServerS

  • iptables 命令 防火墙分为硬件防火墙和软件防火墙 防火墙策略一般分为两种:开放和屏蔽 iptables 是 Linux 上常用的防火墙软件 iptables 一共有四张表和五条链 iptables (选项)[表名] (选项)[链名规则] (选项)[动作] 表: Raw 负责连接跟踪 Mangle 负责包处理 Nat 负责地址转换 Filter 负责包过滤 链名规则: PREROUTING

  • Contributed by Joseph J. Barbish. Converted to SGML and updated by Brad Davis. 31.1. 入门 防火墙的存在, 使得过滤出入系统的数据流成为可能。防火墙可以使用一组或多组 “规则 (rules)”,来检查出入您的网络连接的数据包, 并决定允许或阻止它们通过。这些规则通常可以检查数据包的某个或某些特征,这些特征包括, 但