Пользователь: ARN не авторизован для выполнения: SNS: Публикация на ресурсе: ARN (ошибка интеграции AWS)
Я пытаюсь отслеживать облачную среду AWS с помощью AquaSec. AquaSec помогает вам подключиться к вашей среде AWS, предоставляя шаблон CloudFormation, который вы развертываете в своей среде AWS. После развертывания вы используете ARN в AquaSec для подключения / интеграции обоих. Любое предупреждение в Aquasec будет отправлено в тему SNS, которая отправит его дальше в конечную точку HTTPS.
Это файл шаблона CloudFormation,
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Aqua CSPM security scanner cross-account role",
"Parameters": {
"ExternalId": {
"Type": "String",
"Description": "The external ID auto-generated from the Aqua Cloud dashboard. Do not change this value.",
"AllowedPattern": "[-a-z0-9]*",
"ConstraintDescription": "Must be lowercase or numbers, no spaces, dashes ok."
}
},
"Resources": {
"AquaCSPMRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::057012691312:role/lambda-cloudsploit-api"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": {
"Ref": "ExternalId"
}
},
"IpAddress": {
"aws:SourceIp": "3.231.74.65/32"
}
}
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::057012691312:role/lambda-cloudsploit-collector"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": {
"Ref": "ExternalId"
}
},
"IpAddress": {
"aws:SourceIp": "3.231.74.65/32"
}
}
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::057012691312:role/lambda-cloudsploit-remediator"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": {
"Ref": "ExternalId"
}
},
"IpAddress": {
"aws:SourceIp": "3.231.74.65/32"
}
}
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::057012691312:role/lambda-cloudsploit-tasks"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": {
"Ref": "ExternalId"
}
},
"IpAddress": {
"aws:SourceIp": "3.231.74.65/32"
}
}
}
]
},
"Policies": [
{
"PolicyName": "aqua-cspm-supplemental-policy",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:DescribeActiveReceiptRuleSet",
"athena:GetWorkGroup",
"logs:DescribeLogGroups",
"logs:DescribeMetricFilters",
"elastictranscoder:ListPipelines",
"elasticfilesystem:DescribeFileSystems",
"servicequotas:ListServiceQuotas",
"ssm:ListAssociations",
"dlm:GetLifecyclePolicies",
"airflow:ListEnvironments",
"glue:GetSecurityConfigurations",
"devops-guru:ListNotificationChannels"
],
"Resource": "*"
}
]
}
}
],
"ManagedPolicyArns": [
"arn:aws:iam::aws:policy/SecurityAudit"
]
}
}
},
"Outputs": {
"AquaCSPMeArn": {
"Description": "The role ARN of the cross-account user. Copy this into Aqua Cloud.",
"Value": {
"Fn::GetAtt": [
"AquaCSPMRole",
"Arn"
]
}
},
"StackVersion": {
"Description": "The Aqua CSPM stack version.",
"Value": "2.0"
}
}
}
Я пытаюсь настроить тему Amazon SNS , использовать ее ARN здесь, в Aquasec, для отправки предупреждений. Как только я создаю тему в соцсети, копирую ее ARN в Aquasec и пробую тестовое уведомление - я продолжаю получать сообщение об ошибке,
{"message": "Пользователь: arn: aws: sts :: 057012691312: предположительная роль /lambda-cloudsploit-api/cloudsploit-api не авторизован для выполнения: SNS: Опубликовать на ресурсе: arn: aws: sns: us- east-1:940386435759:Sample_Aqua_Integration "," code ":" AuthorizationError "," time ":" 2021-04-19T22:15:54.463Z "," requestId ":" bc808944-3430-5683-aed1-d1bc376a70f5 ", «statusCode»: 403, «retryable»: false, «retryDelay»: 50.2772842473471}
Я перепробовал почти все возможные способы - изменил политику темы (различные комбинации поля «Принцип») в теме SNS, попытался дать разрешения в конкретной роли IAM. Кажется, ничего не работает, и я получаю ту же ошибку. Я чувствую, что это должно что-то делать с файлом шаблона (в конфигурации « acceptRole »)?
Есть предложения, как и что изменить / попробовать? Спасибо