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 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南