Политика AWS IOT - ограничена указанным ClientID

Я создал следующую политику ниже, которая предназначена для ограничения соединений ClientID, разрешенных для клиентов MQTT. Предполагается, что он ограничивается одним жестко заданным ClientID «test» и одним CLientID, который является именем AWS Thing. Использование имени AWS Thing работает, но мой жестко запрограммированный «тестовый» ClientId не работает?

      {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": "*",
      "Condition": {
        "Bool": {
          "iot:Connection.Thing.IsAttached": [
            "true"
          ]
        },
        "ForAnyValue:StringEquals": {
          "iot:ClientId": [
            "test",
            "${iot:Connection.Thing.ThingName}"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iot:Publish",
      "Resource": "arn:aws:iot:us-east-1:xxx:topic/$aws/things/${iot:Connection.Thing.ThingName}/*"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": "arn:aws:iot:us-east-1:xxx:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/*"
    },
    {
      "Effect": "Allow",
      "Action": "iot:Receive",
      "Resource": "arn:aws:iot:us-east-1:xxx:topic/$aws/things/${iot:Connection.Thing.ThingName}/*"
    }
  ]
}

1 ответ

Поскольку у вас есть "iot:Connection.Thing.IsAttached": ["true"] набор, я считаю Вещь с именем test должен быть зарегистрирован в Реестре вещей с привязанным к нему принципалом.

Другие вопросы по тегам