Невозможно добавить CloudWatch Log Group в CloudTrail через API Boto3 с ошибкой InvalidCloudWatchLogsRoleArnException - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь обновить свой след CloudTrail с помощью группы журналов CloudWatch. Сначала я создаю роль IAM (которая будет использоваться CloudTrail), затем я создаю группу CloudWatch и запускаю вызов API update_trail Boto3.

Ошибка при попытке обновить:

"errorCode": "InvalidCloudWatchLogsRoleArnException"
"errorMessage": "Access denied. Check the trust relationships for your role.

Запрос API, извлеченный из самого CloudTrail, выглядит следующим образом:

{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "<principal_id>:auto-remediate-dev",
        "arn": "<sts_arn>",
        "accountId": "<acc_num>",
        "accessKeyId": "<access_key>",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "<principal_id>",
                "arn": "arn:aws:iam::<acc_num>:role/auto-remediate-dev-AutoRemediate-<region>-lambdaRole",
                "accountId": "<acc_num>",
                "userName": "auto-remediate-dev-AutoRemediate-<region>-lambdaRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2019-05-15T09:13:30Z"
            }
        }
    },
    "eventTime": "2019-05-15T09:58:20Z",
    "eventSource": "cloudtrail.amazonaws.com",
    "eventName": "UpdateTrail",
    "awsRegion": "<region>",
    "sourceIPAddress": "13.238.217.58",
    "userAgent": "Boto3/1.9.42 Python/3.7.3 Linux/4.14.109-80.92.amzn1.x86_64 exec-env/AWS_Lambda_python3.7 Botocore/1.12.42",
    "errorCode": "InvalidCloudWatchLogsRoleArnException",
    "errorMessage": "Access denied. Check the trust relationships for your role.",
    "requestParameters": {
        "name": "MaratTest",
        "cloudWatchLogsLogGroupArn": "arn:aws:logs:<region>:<acc_num>:log-group:/aws/cloudtrail/MaratTest:*",
        "cloudWatchLogsRoleArn": "arn:aws:iam::<acc_num>:role/CloudTrail-CloudWatchLogs-MaratTest"
    },
    "responseElements": null,
    "requestID": "3244c931-3892-4fca-9664-df38cdb3be54",
    "eventID": "0d5a1e82-95be-46b5-a430-91a407bd7b13",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "recipientAccountId": "<acc_num>"
}

Странно то, что когда я использую ту же роль IAM Role и CloudWatch Log Group, но запускаю обновление CloudTrail через консоль, все работает отлично, и тогда CloudTrail перехватывает точно такой же запрос API, но на этот раз успешно .

Я не уверен, в чем может быть ошибка, и ничто из того, что я исследовал, не помогло мне найти правильное решение. Любая помощь будет принята с благодарностью.

...