#amazon-web-services #amazon-s3 #amazon-cloudformation
#amazon-web-services #amazon-s3 #amazon-облачная информация
Вопрос:
Я хочу использовать Taskcat для своих развертываний. Все хорошо, кроме (как всегда) разрешений. Я создал корзину для своих шаблонов, на которую ссылаются в файлах конфигурации. Я звоню taskcat test run
, и после загрузки шаблона в мою корзину я получаю сообщение об ошибке, из-за которой stack creation
произошел сбой S3 error: Access Denied
.
Поскольку я могу загрузить шаблон через TaskCat, у меня есть правильное разрешение в моей учетной записи. Нужно ли мне добавлять разрешение для корзины, чтобы Cloudformation могла получить доступ к корзине?
Код ошибки:
_ _ _
| |_ __ _ ___| | _____ __ _| |_
| __/ _` / __| |/ / __/ _` | __|
| || (_| __ < (_| (_| | |_
____,_|___/_|______,_|__|
version 0.9.23
[WARN ] : ---
[WARN ] : Linting detected issues in: mypath/template.yml
[WARN ] : line 14 [2001] [Check if Parameters are Used] Parameter AZone3 not used.
[INFO ] : Will not delete bucket created outside of taskcat task-cat-bucket
[ERROR ] : ClientError An error occurred (ValidationError) when calling the CreateStack operation: S3 error: Access Denied
For more information check http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
Exception ignored in: <function Pool.__del__ at 0x7f9593cec790>
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/pool.py", line 268, in __del__
self._change_notifier.put(None)
File "/usr/lib/python3.8/multiprocessing/queues.py", line 368, in put
self._writer.send_bytes(obj)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 200, in send_bytes
self._send_bytes(m[offset:offset size])
File "/usr/lib/python3.8/multiprocessing/connection.py", line 411, in _send_bytes
self._send(header buf)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 368, in _send
n = write(self._handle, buf)
OSError: [Errno 9] Bad file descriptor
Exception ignored in: <function Pool.__del__ at 0x7f9593cec790>
Traceback (most recent call last):
File "/usr/lib/python3.8/multiprocessing/pool.py", line 268, in __del__
self._change_notifier.put(None)
File "/usr/lib/python3.8/multiprocessing/queues.py", line 368, in put
self._writer.send_bytes(obj)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 200, in send_bytes
self._send_bytes(m[offset:offset size])
File "/usr/lib/python3.8/multiprocessing/connection.py", line 411, in _send_bytes
self._send(header buf)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 368, in _send
n = write(self._handle, buf)
OSError: [Errno 9] Bad file descriptor
Ответ №1:
Когда вы запускаете CloudFormation Stack
через консоль, пользователь, с которым вы вошли в систему, его учетные данные используются для всех операций.
Когда вы говорите, что можете загружать в корзину S3, это не означает, что вы также можете загружать объекты.
Поэтому проверьте свои настроенные учетные данные, если у вас есть необходимые разрешения для операции.