Проблема с явным отказом push-уведомлений AWS Mobile APP

Вопрос или проблема

Я пытаюсь использовать push-уведомления в приложении AWS Mobile для некоторых установленных сигналов тревоги, но получаю это сообщение об ошибке:

"Операцию не удалось выполнить

Пользователь: arn:aws:sts::AAAAAAA:assumed-role/AWSReservedSSO_AWSAdministratorAccess_BBBBBB/CCCCCC не имеет прав на выполнение: notifications:CreateNotificationConfiguration для ресурса: arn:aws:notifications:us-east-1:AAAAAAA:configuration/* с явным запретом"*

При этом AAAAAAA – это целевая учетная запись AWS |
BBBBB – это ID администратора доступа |
CCCCC – это адрес электронной почты администратора.

Контекст:

Пользователь CCCCC (т. е. я) имеет полный доступ администратора. У него есть прикрепленная политика AWS AdministratorAccess, которая является

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

Наша среда AWS была настроена третьей стороной с использованием AWS Control Tower Organizations.

Я проверил следующее:

  1. Границы разрешений набора разрешений AWSAdministratorAccess, к которому привязан мой пользователь – ничего не настроено.
  2. Все политики управления службами на явный запрет для любого упоминания “уведомлений” – не найдено.
  3. Все включенные контроли с использованием AWS Control Tower для учетной записи AAAAAAA на любой ссылке явного запрета “уведомлений” – не найдено.

Ближайшая к этому информация, которую я нашел, заключается в том, что, когда я нахожусь в приложении AWS Mobile и выбираю “уведомления”, оно не дает мне выбрать регион, однако сообщение об ошибке подразумевает, что я пытаюсь получить доступ к ресурсу в us-east-1, в то время как моя среда находится в ap-southeast-2, и одним из контролей, включенных в AWS Control Tower, является “[AWS-GR_REGION_DENY] Запретить доступ к AWS на основе запрашиваемого региона AWS”

Детали SCP:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": [
            "ap-southeast-2"
          ]
        },
        "ArnNotLike": {
          "aws:PrincipalARN": [
            "arn:aws:iam::*:role/AWSControlTowerExecution"
          ]
        }
      },
      "Resource": "*",
      "Effect": "Deny",
      "NotAction": [
        "a4b:*",
        "access-analyzer:*",
        "account:*",
        "acm:*",
        "activate:*",
        "artifact:*",
        "aws-marketplace-management:*",
        "aws-marketplace:*",
        "aws-portal:*",
        "billing:*",
        "billingconductor:*",
        "budgets:*",
        "ce:*",
        "chatbot:*",
        "chime:*",
        "cloudfront:*",
        "cloudtrail:LookupEvents",
        "compute-optimizer:*",
        "config:*",
        "consoleapp:*",
        "consolidatedbilling:*",
        "cur:*",
        "datapipeline:GetAccountLimits",
        "devicefarm:*",
        "directconnect:*",
        "ec2:DescribeRegions",
        "ec2:DescribeTransitGateways",
        "ec2:DescribeVpnGateways",
        "ecr-public:*",
        "fms:*",
        "freetier:*",
        "globalaccelerator:*",
        "health:*",
        "iam:*",
        "importexport:*",
        "invoicing:*",
        "iq:*",
        "kms:*",
        "license-manager:ListReceivedLicenses",
        "lightsail:Get*",
        "mobileanalytics:*",
        "networkmanager:*",
        "notifications-contacts:*",
        "notifications:*",
        "organizations:*",
        "payments:*",
        "pricing:*",
        "quicksight:DescribeAccountSubscription",
        "resource-explorer-2:*",
        "route53-recovery-cluster:*",
        "route53-recovery-control-config:*",
        "route53-recovery-readiness:*",
        "route53:*",
        "route53domains:*",
        "s3:CreateMultiRegionAccessPoint",
        "s3:DeleteMultiRegionAccessPoint",
        "s3:DescribeMultiRegionAccessPointOperation",
        "s3:GetAccountPublicAccessBlock",
        "s3:GetBucketLocation",
        "s3:GetBucketPolicyStatus",
        "s3:GetBucketPublicAccessBlock",
        "s3:GetMultiRegionAccessPoint",
        "s3:GetMultiRegionAccessPointPolicy",
        "s3:GetMultiRegionAccessPointPolicyStatus",
        "s3:GetStorageLensConfiguration",
        "s3:GetStorageLensDashboard",
        "s3:ListAllMyBuckets",
        "s3:ListMultiRegionAccessPoints",
        "s3:ListStorageLensConfigurations",
        "s3:PutAccountPublicAccessBlock",
        "s3:PutMultiRegionAccessPointPolicy",
        "savingsplans:*",
        "shield:*",
        "sso:*",
        "sts:*",
        "support:*",
        "supportapp:*",
        "supportplans:*",
        "sustainability:*",
        "tag:GetResources",
        "tax:*",
        "trustedadvisor:*",
        "vendor-insights:ListEntitledSecurityProfiles",
        "waf-regional:*",
        "waf:*",
        "wafv2:*"
      ],
      "Sid": "GRREGIONDENY"
    }
  ]
}

У меня заканчиваются идеи, и я пока не смог найти решение, несмотря на поиск этой проблемы в Google, чтение документации AWS и т. д.

Буду признателен за любую помощь. Спасибо!

Ответ или решение

Проблема с уведомлениями Push в AWS Mobile APP

Ваша проблема с уведомлениями в AWS Mobile APP связана с ошибкой доступа, которая сигнализирует о том, что у пользователя нет прав на выполнение операции notifications:CreateNotificationConfiguration из-за явного запрета. Это сообщение об ошибке говорит о том, что в вашей политике IAM или в политике управления службой (SCP) установлены ограничения, которые препятствуют выполнению данных действий.

Анализ ошибки

Ошибка, которую вы получаете:

"Operation could not be performed
User: arn:aws:sts::AAAAAAA:assumed-role/AWSReservedSSO_AWSAdministratorAccess_BBBBBB/CCCCCC is not authorized to perform: notifications:CreateNotificationConfiguration on resource: arn:aws:notifications:us-east-1:AAAAAAA:configuration/* with an explicit deny"

указывает на следующее:

  1. Проблема с правами доступа: Пользователь с ARN arn:aws:sts::AAAAAAA:assumed-role/AWSReservedSSO_AWSAdministratorAccess_BBBBBB/CCCCCC не имеет разрешений на выполнение операции notifications:CreateNotificationConfiguration.

  2. Явный запрет в SCP: Данная политика имеет ряд условий, согласно которым доступ к регионам, отличным от ap-southeast-2 (где находится ваша учетная запись), будет запрещён. Ваша ошибка указывает на обращение к us-east-1, что входит в противоречие с политикой.

Выявление проблемы

На основании предоставленной информации и сканирования политик, включая наличие разрешений в AdministratorAccess, можно утверждать, что другие факторы, такие как Service Control Policies (SCP), каким-то образом блокируют доступ.

  1. Проверка на наличие явных запретов:

    • Вы указали, что не нашли явных запретов для notifications в SCP. Однако диспетчер уведомлений в AWS может иметь особые требования к регионам, и если запрос производится в us-east-1, он будет отклонён, что подтверждает ваше исследование.
  2. Проверка политик:

    • Убедитесь, что в других местах (например, в IAM Policies) не установлено никаких правил, которые могли бы запретить доступ.
  3. Контекст окружения:

    • Убедитесь, что используете правильный регион. Следите за тем, чтобы все операции с уведомлениями выполнялись в ap-southeast-2, которая соответствует вашей настройке AWS Control Tower.

Решение проблемы

Для решения данной проблемы рекомендую следующие шаги:

  1. Проверка региона: Убедитесь, что все операции по настройке уведомлений происходят в правильном регионе. Если AWS Mobile APP не позволяет выбрать регион, попробуйте использовать AWS Management Console или CLI.

  2. Проверка и изменение SCP: Обратите внимание, что если вы настаиваете на использовании регионов, отличных от ap-southeast-2, вам может понадобиться изменить SCP. Это может потребовать одобрения со стороны вашей команды администраторов или службы поддержки AWS, если их ограничения слишком жесткие.

  3. Создание ресурса через AWS CLI или SDK: Если проблема сохраняется, попробуйте создать уведомление через командную строку (CLI) или через AWS SDK. Это поможет в устранении возможных проблем интерфейса.

  4. Обратитесь в поддержку AWS: Если ни одно из вышеуказанных действий не приводит к результату, настоятельно рекомендуется обратиться в службу поддержки AWS. Они могут предоставить более детальную информацию о том, почему ваш доступ к notifications явно запрещен.

Заключение

Подводя итог, для успешной работы с уведомлениями Push в AWS Mobile APP необходимо внимательно следить за настройками на уровне IAM и SCP. Убедитесь, что все действия выполняются в разрешенном регионе и что политика безопасности позволяет выполнение необходимых операций. Если у вас остались вопросы или возникли дополнительные сложности, не стесняйтесь обращаться за помощью в службу поддержки AWS.

Оцените материал
Добавить комментарий

Капча загружается...