<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ASA REST-API]]></title><description><![CDATA[<p dir="auto">Привет всем. У меня Cisco ASA 5515X с установленным агентом REST-API asa# sh run | i rest<br />
rest-api image disk0:/asa-restapi-132325-lfbff-k8.SPA<br />
rest-api agent С помощью ASDM я могу успешно создать копию ACE в ACL, то есть я могу создать в ACL две абсолютно одинаковые ACE. Когда я пытаюсь создать копию существующего ACE в том же ACL с помощью REST API, я получаю следующую ошибку: stdClass Object ( [messages] =&gt; Array ( [0] =&gt; stdClass Object ( [level] =&gt; Error [code] =&gt; DUPLICATE [context] =&gt; objectId [details] =&gt; 1178952304 ) ) ) Итак, есть ли способ создать два одинаковых ACE в одном ACL с помощью REST API?</p>
]]></description><link>https://sla247.ru/forum/topic/2239/asa-rest-api</link><generator>RSS for Node</generator><lastBuildDate>Thu, 14 May 2026 22:28:44 GMT</lastBuildDate><atom:link href="https://sla247.ru/forum/topic/2239.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Mar 2026 12:02:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ASA REST-API on Mon, 02 Mar 2026 12:02:30 GMT]]></title><description><![CDATA[<p dir="auto">![before.PNG] ![a.PNG] ![after.PNG] Я провел быстрое тестирование, и у меня все работает нормально. Использую запрос PATCH для обмена позициями, как показано на рисунке.</p>
<p dir="auto"><img src="/forum/uploads/files/cisco/34470e7d0c714d308f77fba36e2924bf998763ec.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/9dec72566f8bba4c230ccd8f09b9e6535e614dc3.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/1abe10d67ada1cf10943b1efb06ca086e563e81d.png" alt="" class=" img-fluid img-markdown" /></p>
]]></description><link>https://sla247.ru/forum/post/15837</link><guid isPermaLink="true">https://sla247.ru/forum/post/15837</guid><dc:creator><![CDATA[ngkin2010]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:30 GMT</pubDate></item><item><title><![CDATA[Reply to ASA REST-API on Mon, 02 Mar 2026 12:02:29 GMT]]></title><description><![CDATA[<p dir="auto">Не могли бы вы опубликовать свои данные JSON POST? Например, какой JSON вы отправили в REST API для перемещения позиции ACE?</p>
]]></description><link>https://sla247.ru/forum/post/15836</link><guid isPermaLink="true">https://sla247.ru/forum/post/15836</guid><dc:creator><![CDATA[ngkin2010]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to ASA REST-API on Mon, 02 Mar 2026 12:02:28 GMT]]></title><description><![CDATA[<p dir="auto">Вот пример существующей структуры ACE JSON: { "kind":"object#ExtendedACE", "selfLink":"<br />
<a href="https://x.x.x.x/api/access/in/TP/rules/556116732" rel="nofollow ugc">https://x.x.x.x/api/access/in/TP/rules/556116732</a><br />
", "permit":true, "sourceAddress":{ "kind":"objectRef#NetworkObj", «refLink»: «<br />
<a href="https://x.x.x.x/api/objects/networkobjects/MA_TP" rel="nofollow ugc">https://x.x.x.x/api/objects/networkobjects/MA_TP</a><br />
», "objectId":"MA_TP" }, «destinationAddress»:{ "kind":"objectRef#NetworkObjGroup", «refLink»: «<br />
<a href="https://x.x.x.x/api/objects/networkobjectgroups/ma-vnc" rel="nofollow ugc">https://x.x.x.x/api/objects/networkobjectgroups/ma-vnc</a><br />
», "objectId":"ma-vnc" }, «sourceService»:{ "kind":"NetworkProtocol", "value":"ip" }, "destinationService":{ "kind":"objectRef#TcpUdpServiceObj", «refLink»: «<br />
<a href="https://x.x.x.x/api/objects/networkservices/tcp-1024-65535" rel="nofollow ugc">https://x.x.x.x/api/objects/networkservices/tcp-1024-65535</a><br />
», «objectId»: «tcp-1024-65535» }, «active»:true, "remarks":[], «ruleLogging»:{ "logStatus":"По умолчанию", «logInterval»:300 }, «position»:2, «isAccessRule»: true, "objectId":"556116732" } Теперь я пытаюсь PATCH этот ACE, чтобы перенумеровать его. И здесь я получаю следующее: ![Error when PATCH]<br />
Ошибка при PATCH <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/ngkin2010" aria-label="Profile: ngkin2010">@<bdi>ngkin2010</bdi></a><br />
Можете ли вы воспроизвести эту ошибку?</p>
<p dir="auto"><img src="/forum/uploads/files/cisco/6207c32821de47f6b7b2dfcc4a84ed20e845523b.png" alt="" class=" img-fluid img-markdown" /></p>
]]></description><link>https://sla247.ru/forum/post/15835</link><guid isPermaLink="true">https://sla247.ru/forum/post/15835</guid><dc:creator><![CDATA[Denis Orlov]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:28 GMT</pubDate></item><item><title><![CDATA[Reply to ASA REST-API on Mon, 02 Mar 2026 12:02:27 GMT]]></title><description><![CDATA[<p dir="auto">Да, сейчас я пытаюсь создать дубликат ACE с помощью CLI и получаю следующее сообщение: «ПРЕДУПРЕЖДЕНИЕ: &lt;anyconnect_test_api_acl&gt; обнаружен дубликат элемента» Таким образом, с помощью CLI я также не могу создать копию существующего ACE в том же ACL. Теперь я попробую объяснить, почему это так важно для меня. Я разрабатываю веб-приложение для нашей команды безопасности, чтобы наши специалисты по безопасности могли управлять ACL без глубоких знаний о том, как это делать в ASA CLI. Команда безопасности попросила меня разработать функцию, которая позволила бы им переупорядочивать ACE в ACL с помощью веб-интерфейса. Итак, в документации Cisco ASA REST-API есть метод «PATCH» для «/api/objects/extendedacls/{aclName}/aces», и в примерах документации говорится, что я могу изменить «позицию» существующего ACE в ACL. Мы начали использовать этот метод для переупорядочения ACE, но столкнулись со следующей проблемой: если ACE имеет разные исходные и конечные службы (здесь я должен отметить, что при создании ACE я всегда определяю только конечную службу), то при попытке использовать метод «PATCH» для изменения позиции ACE я получаю следующую ошибку: string(155) "{"messages":[{"level":"Error","code":"ACCESS-SRC-DST-SERVICE-SAME-TYPE","details":"Destination Service and Source Service should have the same protocol"}]}" Почему Cisco<br />
ввела такое ограничение на API? И есть ли какой-нибудь обходной путь? P.S. Почему это сообщение было помечено как спам? Я написал о вещах, которые хочу понять. И я не пишу неправду.</p>
]]></description><link>https://sla247.ru/forum/post/15834</link><guid isPermaLink="true">https://sla247.ru/forum/post/15834</guid><dc:creator><![CDATA[Denis Orlov]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:27 GMT</pubDate></item><item><title><![CDATA[Reply to ASA REST-API on Mon, 02 Mar 2026 12:02:26 GMT]]></title><description><![CDATA[<blockquote>
<blockquote>
<blockquote>
<p dir="auto">С помощью ASDM я могу успешно создать копию ACE в ACL, то есть я могу создать в ACL два абсолютно одинаковых ACE. Здравствуйте, вы уверены, что смогли создать дубликат ACE? Поскольку это не должно быть разрешено в командной строке. Я предполагаю, что ASDM делал это путем создания разных групп объектов; например: группа объектов сеть DM_INLINE_NETWORK_1 сеть 8.8.8.8 255.255.255.255 группа объектов сеть DM_INLINE_NETWORK_2 сеть 8.8.8.8 255.255.255.255 список доступа ACL разрешить ip расширенный хост 192.168.0.2 группа объектов DM_INLINE_NETWORK_1 список доступа ACL разрешить ip расширенный хост 192.168.0.2 группа объектов DM_INLINE_NETWORK_2 Вы можете следовать той же логике, чтобы сделать это через REST API.</p>
</blockquote>
</blockquote>
</blockquote>
]]></description><link>https://sla247.ru/forum/post/15833</link><guid isPermaLink="true">https://sla247.ru/forum/post/15833</guid><dc:creator><![CDATA[ngkin2010]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:26 GMT</pubDate></item><item><title><![CDATA[Reply to ASA REST-API on Mon, 02 Mar 2026 12:02:25 GMT]]></title><description><![CDATA[<p dir="auto">Да, вы абсолютно правы. Также необходимо отметить следующее: 1) Если я создаю такой ACE (как в моем примере) с помощью ASDM, то ACE создается с «IP» в качестве SourceService. 2) Но если я создаю тот же ACE с помощью API, то ACE создается с «TCP» в качестве SourceService ![:grinning_face_with_big_eyes:] Таким образом, вы можете столкнуться с этой ошибкой только в том случае, если вы создали ACE в ASDM или CLI, а затем пытаетесь исправить его с помощью API. Если вы создали ACE с помощью API, все будет в порядке, потому что с помощью API ASA модифицирует sourceService соответствующим образом.</p>
<p dir="auto"><img src="/forum/uploads/files/cisco/1620c05174f7976ae183d9d4b1e61054504500a6.png" alt="" class=" img-fluid img-markdown" /></p>
]]></description><link>https://sla247.ru/forum/post/15832</link><guid isPermaLink="true">https://sla247.ru/forum/post/15832</guid><dc:creator><![CDATA[Denis Orlov]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:25 GMT</pubDate></item><item><title><![CDATA[Reply to ASA REST-API on Mon, 02 Mar 2026 12:02:24 GMT]]></title><description><![CDATA[<p dir="auto">Я пытаюсь воспроизвести вашу ошибку с помощью следующего ACE (в формате командной строки). ![cli.PNG] и проверяю результат GET, чтобы увидеть, похож ли он на ваш. ![before.PNG] Он похож! Поэтому я продолжаю воспроизводить вашу проблему: ![error.PNG] Теперь я понял вашу проблему. Похоже, это<br />
БАГ<br />
. Потому что, если вы используете «<br />
расширенные группы объектов» (обертывание служб в группу объектов), sourceService будет установлен на «<br />
ip<br />
», а destination — на<br />
objectRef#TcpUdpServiceObj<br />
. Несоответствие протоколов вызвало сообщение об ошибке. Таким образом, если ваша группа объектов (например, tcp-1024-65535) содержит только службу TCP, вы можете использовать следующий метод в качестве обходного пути. Вы также указываете значение протокола в первый раз. ![after.PNG] Тогда все будет работать. ![after2.PNG] Если ваш объект содержит несколько протоколов (например, UDP + TCP), вы все равно<br />
можете<br />
установить PATCH, как показано ниже, даже если он содержит как TCP, так и UDP. {<br />
"position": 2,<br />
"sourceService": {<br />
"value": "tcp"<br />
}<br />
} Рекомендуется открыть заявку TAC, чтобы сообщить об этой ошибке для ее исправления.</p>
<p dir="auto"><img src="/forum/uploads/files/cisco/2fd42e938dab782b3d79749ed88471352f67fe8e.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/02290917e8939f514d17c025b07b56ea22d55755.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/73d433528321024be08e4ae4c61e68fbf408aace.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/7ba4c79d2de50ec70403276621689b7201a03d31.png" alt="" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/forum/uploads/files/cisco/0c5cb1e3e5d4ba874a0fd08e6cc846f768582009.png" alt="" class=" img-fluid img-markdown" /></p>
]]></description><link>https://sla247.ru/forum/post/15831</link><guid isPermaLink="true">https://sla247.ru/forum/post/15831</guid><dc:creator><![CDATA[ngkin2010]]></dc:creator><pubDate>Mon, 02 Mar 2026 12:02:24 GMT</pubDate></item></channel></rss>