Я пытаюсь изменить существующий том в экземпляре EC2 с помощью SSM. Я прикрепил роль с политикой, которая позволяет изменять тома на инстансах EC2. Разрешение, которое я выбрал в политике, называется ModifyVolume. Когда я пытаюсь запустить свой скрипт, он выдает следующее сообщение:
Произошла ошибка (UnauthorizedOperation) при вызове операции ModifyVolume: у вас нет прав для выполнения этой операции.
Я уверен, что политика, которую я использую, дает мне это разрешение, поэтому мне интересно, почему она не работает?
Это мой документ SSM:
---
schemaVersion: "2.2"
assumeRole: "{{AutomationAssumeRole}}"
description: "Resizes the specified EBS volume to the target size"
parameters:
AutomationAssumeRole:
type: "String"
description: "The ARN of the role that allows Automation to perform the actions on your behalf."
default: "arn:aws:iam::accountnumber:role/SSMUpdateVolume"
VolumeId:
type: "String"
description: "(Required) EBS volume ID"
Size:
type: "String"
description: "(Required) Target size for the selected volume in GB"
mainSteps:
- action: "aws:runShellScript"
name: "ModifyVolumeSize"
inputs:
runCommand:
- "export AWS_DEFAULT_REGION=eu-central-1"
- "aws ec2 modify-volume --size {{Size}} --volume-id {{VolumeId}}"
Это роль, которая мне нужна ниже:
Я заметил, что это работает, когда я назначаю разрешение непосредственно роли, которая назначается самому экземпляру. Однако я хочу разрешить это разрешение только временно, когда я использую документ SSM. Таким образом, это означает, что документ SSM не применяет это разрешение, а использует разрешение на самом экземпляре, где это разрешение ModifyVolume отсутствует. Как я могу это исправить?
Я предполагаю, что это может быть связано с тем, что я использую команду aws: runShellScript, поэтому она вообще не применяет роль и просто вызывает сценарии в экземпляре? Не в этом ли причина? И если это так, что мне нужно сделать, чтобы это сработало?
assumeRole: "{{AutomationAssumeRole}"
- person John Rotenstein   schedule 17.07.2020assumeRole
относится к параметру. Возможно, это не сработает, поскольку параметры определяются отдельно. Можете ли вы попробовать жестко закодировать ARN роли IAM вassumeRole
(например,assumeRole: arn:aws:iam::accountnumber:role/SSMUpdateVolume
и посмотреть, работает ли это? - person John Rotenstein   schedule 19.07.2020arn:aws:iam::accountnumber:role/SSMUpdateVolume
и назначили ейModify Volume
разрешения. Это верно? - person John Rotenstein   schedule 20.07.2020