cisco.meraki.networks_switch_access_policies 模块 – 网络交换机访问策略的资源模块
注意
此模块是 cisco.meraki 集合 (版本 2.18.3) 的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cisco.meraki
。您需要更多要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:cisco.meraki.networks_switch_access_policies
。
cisco.meraki 2.16.0 中的新增功能
概要
管理资源网络交换机访问策略的创建、更新和删除操作。
为交换机网络创建访问策略。如果您想启用 Meraki 身份验证,请将 radiusServers 设置为空数组。
删除交换机网络的访问策略。
更新交换机网络的访问策略。如果您想启用 Meraki 身份验证,请将 radiusServers 设置为空数组。
注意
此模块具有相应的 操作插件。
要求
执行此模块的主机需要满足以下要求。
meraki >= 2.4.9
python >= 3.5
参数
参数 |
注释 |
---|---|
AccessPolicyNumber 路径参数。访问策略编号。 |
|
策略的访问类型。当 hostMode 为 “Multi-Domain” 时,自动为“混合身份验证”。 |
|
802.1x 设置。 |
|
支持“both”或“inbound”。设置为“inbound”以允许在交换机端口上进行未经授权的出口。设置为“both”以使用授权控制两个方向的流量。默认为 “both”。 |
|
如果启用,Meraki 设备将定期向这些 RADIUS 服务器发送 access-request 消息。 选项
|
|
访客 VLAN 的 ID,允许未经授权的设备访问有限的网络资源。 |
|
选择访问策略的主机模式。 |
|
启用此选项将使交换机同时执行 802.1X 和 MAC 旁路身份验证,以便客户端更快地进行身份验证。仅当 accessPolicyType 为“混合身份验证”时才需要。 选项
|
|
meraki_action_batch_retry_wait_time (整数),操作批量并发错误重试等待时间 默认值: |
|
meraki_api_key (字符串),在仪表板中生成的 API 密钥;也可以设置为环境变量 MERAKI_DASHBOARD_API_KEY |
|
meraki_base_url (字符串),位于所有端点资源之前 默认值: |
|
meraki_be_geo_id (字符串),用于 API 使用情况跟踪的可选合作伙伴标识符;也可以设置为环境变量 BE_GEO_ID 默认值: |
|
meraki_caller (字符串),用于 API 使用情况跟踪的可选标识符;也可以设置为环境变量 MERAKI_PYTHON_SDK_CALLER 默认值: |
|
meraki_certificate_path (字符串),如果位于本地代理后面,则用于 TLS/SSL 证书验证的路径 默认值: |
|
meraki_inherit_logging_config (布尔值),继承您自己的记录器实例 选项
|
|
meraki_log_file_prefix (字符串),日志文件名附加日期和时间戳 默认值: |
|
log_path (字符串),输出日志的路径;默认情况下,如果未指定,则为脚本的工作目录 默认值: |
|
meraki_maximum_retries (整数),遇到 429 或其他服务器端错误时最多重试此次数 默认值: |
|
meraki_nginx_429_retry_wait_time (整数),Nginx 429 重试等待时间 默认值: |
|
meraki_output_log (布尔值),创建输出日志文件? 选项
|
|
meraki_print_console (布尔值),将日志输出打印到控制台? 选项
|
|
meraki_requests_proxy (字符串),如果需要,用于 HTTPS 的代理服务器和端口 默认值: |
|
meraki_retry_4xx_error (布尔值),如果遇到其他 4XX 错误(除了 429)是否重试? 选项
|
|
meraki_retry_4xx_error_wait_time (整数),其他 4XX 错误重试等待时间 默认值: |
|
meraki_simulate (布尔值),模拟 POST/PUT/DELETE 调用以防止更改? 选项
|
|
meraki_single_request_timeout (整数),每个 API 调用的最大秒数 默认值: |
|
meraki_suppress_logging (布尔值),禁用所有日志记录?那么您就靠自己了! 选项
|
|
meraki_use_iterator_for_get_pages (布尔值),list* 方法将返回一个包含每个对象的迭代器,而不是包含所有项的完整列表 选项
|
|
meraki_wait_on_rate_limit (布尔值),如果遇到 429 速率限制错误是否重试? 选项
|
|
访问策略的名称。 |
|
NetworkId 路径参数。网络 ID。 |
|
RADIUS 设置的对象。 |
|
当 RADIUS 服务器拒绝身份验证时的关键身份验证设置。 |
|
当 RADIUS 身份验证失败时,使用数据的客户端将被放置的 VLAN。如果 hostMode 为 Multi-Auth,则将为空。 |
|
启用后,当 RADIUS 服务器不可达时,可以暂停端口跳变。 选项
|
|
当 RADIUS 身份验证失败时,使用语音的客户端将被放置在此 VLAN 上。如果 hostMode 为 Multi-Auth,则为空。 |
|
当 RADIUS 身份验证失败时,客户端将被放置在此 VLAN 上。如果 hostMode 为 Multi-Auth,则为空。 |
|
重新身份验证周期,以秒为单位。如果 hostMode 为 Multi-Auth,则为空。 |
|
启用后,向配置的 RADIUS 计费服务器发送开始、临时更新和停止消息,以跟踪连接的客户端。 选项
|
|
RADIUS 计费服务器列表,要求连接的设备先通过身份验证,然后才能授予网络访问权限。 |
|
RADIUS 计费服务器的公共 IP 地址。 |
|
RADIUS 计费服务器侦听访问请求的 UDP 端口。 |
|
RADIUS 客户端共享密钥。 |
|
用于 RADIUS 重新身份验证和断开连接的身份验证更改。 选项
|
|
可接受的值为 `""`(表示无)或 `"11"`(表示组策略 ACL)。 |
|
RADIUS 服务器列表,要求连接的设备先通过身份验证,然后才能授予网络访问权限。 |
|
RADIUS 服务器的公共 IP 地址。 |
|
RADIUS 服务器侦听访问请求的 UDP 端口。 |
|
RADIUS 客户端共享密钥。 |
|
如果启用,Meraki 设备将定期向这些 RADIUS 服务器发送 access-request 消息。 选项
|
|
启用后,限制客户端在身份验证之前对特定 IP 地址或主机名的访问。 选项
|
|
IP 地址范围,以 CIDR 表示法表示,限制客户端在身份验证之前对特定 IP 地址或主机名的访问。 |
|
支持 CDP/LLDP 的语音客户端将能够使用此 VLAN。当 hostMode 为 “Multi-Domain” 时,自动为 true。 选项
|
注释
注意
使用的 SDK 方法是 switch.Switch.create_network_switch_access_policy、switch.Switch.delete_network_switch_access_policy、switch.Switch.update_network_switch_access_policy。
使用的路径是 post /networks/{networkId}/switch/accessPolicies、delete /networks/{networkId}/switch/accessPolicies/{accessPolicyNumber}、put /networks/{networkId}/switch/accessPolicies/{accessPolicyNumber}。
不支持
check_mode
此插件在控制节点上运行,不使用任何 Ansible 连接插件,而是使用 Cisco DNAC SDK 中的嵌入式连接管理器。
以 dnac_ 开头的参数由 Cisco DNAC Python SDK 用于建立连接。
参见
另请参阅
- Cisco Meraki 文档,了解 switch createNetworkSwitchAccessPolicy
createNetworkSwitchAccessPolicy API 的完整参考。
- Cisco Meraki 文档,了解 switch deleteNetworkSwitchAccessPolicy
deleteNetworkSwitchAccessPolicy API 的完整参考。
- Cisco Meraki 文档,了解 switch updateNetworkSwitchAccessPolicy
updateNetworkSwitchAccessPolicy API 的完整参考。
示例
- name: Create
cisco.meraki.networks_switch_access_policies:
meraki_api_key: "{{meraki_api_key}}"
meraki_base_url: "{{meraki_base_url}}"
meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
meraki_certificate_path: "{{meraki_certificate_path}}"
meraki_requests_proxy: "{{meraki_requests_proxy}}"
meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
meraki_maximum_retries: "{{meraki_maximum_retries}}"
meraki_output_log: "{{meraki_output_log}}"
meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
meraki_log_path: "{{meraki_log_path}}"
meraki_print_console: "{{meraki_print_console}}"
meraki_suppress_logging: "{{meraki_suppress_logging}}"
meraki_simulate: "{{meraki_simulate}}"
meraki_be_geo_id: "{{meraki_be_geo_id}}"
meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
state: present
accessPolicyType: Hybrid authentication
dot1x:
controlDirection: inbound
guestPortBouncing: false
guestVlanId: 100
hostMode: Single-Host
increaseAccessSpeed: false
name: 'Access policy #1'
networkId: string
radius:
criticalAuth:
dataVlanId: 100
suspendPortBounce: true
voiceVlanId: 100
failedAuthVlanId: 100
reAuthenticationInterval: 120
radiusAccountingEnabled: true
radiusAccountingServers:
- host: 1.2.3.4
port: 22
secret: secret
radiusCoaSupportEnabled: false
radiusGroupAttribute: '11'
radiusServers:
- host: 1.2.3.4
port: 22
secret: secret
radiusTestingEnabled: false
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
voiceVlanClients: true
- name: Delete by id
cisco.meraki.networks_switch_access_policies:
meraki_api_key: "{{meraki_api_key}}"
meraki_base_url: "{{meraki_base_url}}"
meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
meraki_certificate_path: "{{meraki_certificate_path}}"
meraki_requests_proxy: "{{meraki_requests_proxy}}"
meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
meraki_maximum_retries: "{{meraki_maximum_retries}}"
meraki_output_log: "{{meraki_output_log}}"
meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
meraki_log_path: "{{meraki_log_path}}"
meraki_print_console: "{{meraki_print_console}}"
meraki_suppress_logging: "{{meraki_suppress_logging}}"
meraki_simulate: "{{meraki_simulate}}"
meraki_be_geo_id: "{{meraki_be_geo_id}}"
meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
state: absent
accessPolicyNumber: string
networkId: string
- name: Update by id
cisco.meraki.networks_switch_access_policies:
meraki_api_key: "{{meraki_api_key}}"
meraki_base_url: "{{meraki_base_url}}"
meraki_single_request_timeout: "{{meraki_single_request_timeout}}"
meraki_certificate_path: "{{meraki_certificate_path}}"
meraki_requests_proxy: "{{meraki_requests_proxy}}"
meraki_wait_on_rate_limit: "{{meraki_wait_on_rate_limit}}"
meraki_nginx_429_retry_wait_time: "{{meraki_nginx_429_retry_wait_time}}"
meraki_action_batch_retry_wait_time: "{{meraki_action_batch_retry_wait_time}}"
meraki_retry_4xx_error: "{{meraki_retry_4xx_error}}"
meraki_retry_4xx_error_wait_time: "{{meraki_retry_4xx_error_wait_time}}"
meraki_maximum_retries: "{{meraki_maximum_retries}}"
meraki_output_log: "{{meraki_output_log}}"
meraki_log_file_prefix: "{{meraki_log_file_prefix}}"
meraki_log_path: "{{meraki_log_path}}"
meraki_print_console: "{{meraki_print_console}}"
meraki_suppress_logging: "{{meraki_suppress_logging}}"
meraki_simulate: "{{meraki_simulate}}"
meraki_be_geo_id: "{{meraki_be_geo_id}}"
meraki_use_iterator_for_get_pages: "{{meraki_use_iterator_for_get_pages}}"
meraki_inherit_logging_config: "{{meraki_inherit_logging_config}}"
state: present
accessPolicyNumber: string
accessPolicyType: Hybrid authentication
dot1x:
controlDirection: inbound
guestPortBouncing: false
guestVlanId: 100
hostMode: Single-Host
increaseAccessSpeed: false
name: 'Access policy #1'
networkId: string
radius:
criticalAuth:
dataVlanId: 100
suspendPortBounce: true
voiceVlanId: 100
failedAuthVlanId: 100
reAuthenticationInterval: 120
radiusAccountingEnabled: true
radiusAccountingServers:
- host: 1.2.3.4
port: 22
secret: secret
radiusCoaSupportEnabled: false
radiusGroupAttribute: '11'
radiusServers:
- host: 1.2.3.4
port: 22
secret: secret
radiusTestingEnabled: false
urlRedirectWalledGardenEnabled: true
urlRedirectWalledGardenRanges:
- 192.168.1.0/24
voiceVlanClients: true
返回值
常见的返回值记录在此处:此处,以下是此模块独有的字段
键 |
描述 |
---|---|
由 Cisco Meraki Python SDK 返回的响应的字典或列表 返回: 始终 示例: |