Удаление общего секретного ключа для пользователей - PullRequest
0 голосов
/ 10 июля 2019

Есть ли способ избежать совместного использования секретного ключа при использовании доступа по ssh-ключу к нескольким пользователям для доступа к инстансам EC2.Может ли это быть достигнуто любым способом.Полезны ли для этого ресурсы IAM?

Ниже приведен код terraform, который я реализовал:

provider "aws" {
  access_key = ""
  secret_key = ""
  region     = "eu-north-1"
}
resource "aws_instance" "new" {
  # ...instance configuration...
  ami                         = "ami-4bd45f35"
    availability_zone           = "eu-north-1b"
    ebs_optimized               = true
    instance_type               = "t3.medium"
    monitoring                  = false
    key_name                    = "new"
    subnet_id                   = "subnet-5af3f122"
    vpc_security_group_ids      = ["sg-0a4f03bc2ee1fda8b"]
    associate_public_ip_address = true
    private_ip                  = "172.16.1.101"
    source_dest_check           = true

    root_block_device {
        volume_type           = "gp2"
        volume_size           = 8
        delete_on_termination = true
    }
}
resource "aws_iam_user" "lb" {
  name = "loadbalancer"
  path = "/system/"

  tags = {
    tag-key = "tag-value"
  }
}

resource "aws_iam_access_key" "lb" {
  user = "${aws_iam_user.lb.name}"
}

resource "aws_iam_user_policy" "lb_ro" {
  name = "test"
  user = "${aws_iam_user.lb.name}"

  policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "ec2:Describe*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
EOF
}

1 Ответ

0 голосов
/ 10 июля 2019

Я бы предложил использовать EC2 Instance Connect , чтобы упростить доступ к вашим экземплярам.

Цитируется из документа:

С помощью EC2 Instance Connect вы можете контролировать доступ SSH к своим экземплярам с помощью политик AWS Identity and Access Management (IAM), а также проверять запросы на подключение с помощьюСобытия AWS CloudTrail.Кроме того, вы можете использовать имеющиеся у вас SSH-ключи или еще больше улучшить свое состояние безопасности, генерируя одноразовые SSH-ключи при каждом подключении авторизованного пользователя.Instance Connect работает с любым клиентом SSH, или вы можете легко подключиться к своим экземплярам с помощью нового интерфейса SSH на основе браузера в консоли EC2.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html

...