Программно изучить доверительные отношения - PullRequest
0 голосов
/ 02 апреля 2019

Есть ли способ получить документ политики безопасности, используя boto3?Я пытаюсь проверить роли, которые разрешают стороннему доступу к моей среде AWS.

Я искал API-интерфейсы boto3, чтобы найти подходящий вызов функции, и пробовал iam.client.get_role_policy, а также iam.client.get_account_authorization_details.

Однако я не могу точно определить, какие параметры передать, основываясь на информации о политике, которая мне нужна для конкретной роли, поэтому я не уверен, что эти функции вернут информацию, которую я ищу.

По сути, для каждой роли IAM в моем аккаунте я пытаюсь найти следующую информацию:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{acctID}:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": {externalID}
        }
      }
    }
  ]
}

Я считаю, что если "sts:ExternalId": {externalID} является частью доверительных отношений, тополитика дает доступ третьей стороне.

Если есть лучший способ сделать это, я хотел бы знать.У меня нет большого опыта работы с ролями / политиками IAM.

1 Ответ

0 голосов
/ 02 апреля 2019

Вы должны использовать API GetRole для получения доверия, т.е. принять политику роли.

...