Сбой аутентификации AWS с использованием HTTPS-запроса
Я развернул CSR 1000v на экземпляре EC2 в AWS.
Это мой код Python для аутентификации, чтобы использовать RESTCONF, который уже включен в маршрутизаторе.
import requests
import pprint
from aws_requests_auth.aws_auth import AWSRequestsAuth
def get_json(interface):
authaws = AWSRequestsAuth(aws_access_key='AWS_ACCESS_KEY',
aws_secret_access_key='AWS_SECRET_ACCESS_KEY',
aws_host='ec2-xx-xx-xx-xx.us-west-2.compute.amazonaws.com',
aws_region='us-west-2',
aws_service='compute')
source = 'https://ec2-xx-xx-xx-xx.us-west-2.compute.amazonaws.com/restconf/data/'
module = 'ietf-interfaces:'
container = 'interfaces'
leaf = '/interface=' + interface
options = ''
url = source + module + container + leaf + options
headers = {'Content-type': 'application/yang-data+json', 'Accept': 'application/yang-data+json'}
r = requests.get(url, auth=authaws, headers=headers, verify=False)
return r.json()
if __name__ == '__main__':
interface = 'GigabitEthernet1'
pprint.pprint(get_json(interface))
Вот что я получил после казни.
server@zsz:~/shared_files$ python get_one_interface.py
/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py:847: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecureRequestWarning)
{u'errors': {u'error': [{u'error-tag': u'access-denied',
u'error-type': u'protocol'}]}}
Очевидно, что аутентификация не может быть сделана. За aws_access_key
а также aws_secret_access_key
Я получил это с консоли IAM. Я даже генерировал новые, но все равно не работает.
1 ответ
Мне удалось найти решение.
В роутере:
(config)#user any-user-name privilege 15 secret supersecretpassword
Тогда это сработало! Спасибо всем, кто пытался помочь:)