AWS会话管理器,强制要求SSH密钥。

0

【以下的问题经过翻译处理】 你好,

我已经成功配置了AWS会话管理器,以便使用SSH密钥通过会话管理通道进行连接,具体方法见此文档-> https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html

但是现在我需要强制用户提供SSH密钥,因为即使我可以使用SSH密钥身份验证进入EC2实例,我仍然能够通过使用 aws ssm start-session 命令而不提供SSH密钥进行连接。

我认为可以添加某种策略来解决这个问题,类似于以下内容:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::accountid:user/test-user"
            },
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:StartSession/RequireSSH": "True" (此处参数由我设定) 
                }
            }
        }
    ]
}

但我不确定 "ssm:StartSession/RequireSSH": "True" 的位置应该填什么。

谢谢帮忙。

Joann

1 回答
0

【以下的回答经过翻译处理】 对我有用的是:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ssm:StartSession",
            "Resource": [
                "arn:aws:ec2:eu-north-1:<accountid>:instance/*",
                "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
            ],
            "Condition": {
                "BoolIfExists": {
                    "ssm:SessionDocumentAccessCheck": "true"
                }
            }
        }
    ]
}

我在此处找到了解决方案:https://docs.aws.amazon.com/systems-manager/latest/userguide/getting-started-sessiondocumentaccesscheck.html

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则