Перейти к основному содержимому
Перейти к основному содержимому

Контроль доступа на основе ролей Kinesis

Эта статья демонстрирует, как клиенты ClickPipes могут использовать контроль доступа на основе ролей для аутентификации с Amazon Kinesis и безопасного доступа к своим потокам данных.

Пререквизиты

Для выполнения этого руководства вам понадобится:

  • Активный сервис ClickHouse Cloud
  • Учетная запись AWS

Введение

Перед тем как перейти к настройке безопасного доступа к Kinesis, важно понять механизм. Вот обзор того, как ClickPipes может получать доступ к потокам Amazon Kinesis, предполагая роль в учетной записи AWS клиентов.

Secure Kinesis

Используя этот подход, клиенты могут управлять всем доступом к своим потокам данных Kinesis в одном месте (политика IAM предполагаемой роли), не изменяя индивидуально политику доступа для каждого потока.

Настройка

Получение Arn роли IAM сервиса ClickHouse

    1. Войдите в свою учетную запись ClickHouse Cloud.
    1. Выберите сервис ClickHouse, для которого хотите создать интеграцию.
    1. Выберите вкладку Настройки.
    1. Прокрутите вниз до раздела Информация о сетевой безопасности внизу страницы.
    1. Скопируйте значение ID роли сервиса (IAM), относящееся к сервису, как показано ниже.
Secure S3 ARN

Настройка предполагаемой роли IAM

Вручную создайте роль IAM.

    1. Войдите в свою учетную запись AWS в веб-браузере с пользователем IAM, который имеет разрешение на создание и управление ролями IAM.
    1. Перейдите в консоль службы IAM.
    1. Создайте новую роль IAM с типом доверенной сущности AWS account. Обратите внимание, что имя роли IAM должно начинаться с ClickHouseAccessRole-, чтобы это работало.

Для политики доверия замените {ClickHouse_IAM_ARN} на Arn роли IAM, относящейся к вашему экземпляру ClickHouse. Для политики IAM замените {STREAM_NAME} на имя вашего потока Kinesis.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "{ClickHouse_IAM_ARN}"
      },
      "Action": "sts:AssumeRole"
    },
    {
      "Action": [
        "kinesis:DescribeStream",
        "kinesis:GetShardIterator",
        "kinesis:GetRecords",
        "kinesis:ListShards",
        "kinesis:SubscribeToShard",
        "kinesis:DescribeStreamConsumer",
        "kinesis:RegisterStreamConsumer",
        "kinesis:DeregisterStreamConsumer",
        "kinesis:ListStreamConsumers"
      ],
      "Resource": [
        "arn:aws:kinesis:region:account-id:stream/{STREAM_NAME}/*"
      ],
      "Effect": "Allow"
    },
    {
      "Action": [
        "kinesis:ListStreams"
      ],
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}

</VerticalStepper>

    1. Скопируйте новый IAM Role Arn после создания. Это то, что нужно для доступа к вашему потоку Kinesis.