Я пытаюсь обновить свой след 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, но на этот раз успешно .
Я не уверен, в чем может быть ошибка, и ничто из того, что я исследовал, не помогло мне найти правильное решение. Любая помощь будет принята с благодарностью.