aws ssm 会话 - 如何在启动会话时将“runAsDefaultuser”设置为交互式参数

问题描述

我正在尝试创建一个调用的文档,并将我的 IAM 用户指定为要连接的用户。该文档将是具有参数“runAsDefaultuser”的共享文档。它将认为不存在的用户。这将迫使我提供一个论点,例如, --parameters '{"runAsDefaultUser": ["joeschmo"]}'。

我的最终目标是允许用户通过 SSM 通过 CLI 以他们的 IAM 用户身份登录。我试过在 IAM 用户帐户中使用标签。这仅在 AWS Session Manager 页面中通过 Web UI 使用 SSM 会话时有效。不适用于 SSM CLI。 SSM 文档覆盖了这一点。

我无法将其设置为参数。它只会接受它作为硬编码值。与“runAsEnabled”相同。

当我尝试使用“aws ssm update-document 或 create-document 命令将其设置为参数时出现此错误

An error occurred (InvalidDocumentContent) when calling the UpdateDocument operation: DefaultUser: {{runAsDefaultUser}} is invalid

我使用此页面作为参考。 https://docs.aws.amazon.com/systems-manager/latest/userguide/getting-started-create-preferences-cli.html

这是我正在使用的示例文档。

{
   "schemaVersion":"1.0","description":"Session Document Parameter Example JSON Template","sessionType":"Standard_Stream","parameters":{
      "s3BucketName":{
         "type":"String","default":""
      },"s3KeyPrefix":{
         "type":"String","s3EncryptionEnabled":{
         "type":"String","default":"false"
      },"cloudWatchLogGroupName":{
         "type":"String","cloudWatchEncryptionEnabled":{
         "type":"String","runAsDefaultUser":{
         "type":"String","default":"nobody"
      }
   },"inputs":{
      "s3BucketName":"{{s3BucketName}}","s3KeyPrefix":"{{s3KeyPrefix}}","s3EncryptionEnabled":"{{s3EncryptionEnabled}}","cloudWatchLogGroupName":"{{cloudWatchLogGroupName}}","cloudWatchEncryptionEnabled":"{{cloudWatchEncryptionEnabled}}","kmsKeyId":"","runAsEnabled": true
      "runAsDefaultUser":"{{runAsDefaultUser}}","shellProfile": {
        "windows": "","linux": "bash"
      }
   }
}

我想使用的命令:

aws ssm start-session --target i-ThisIsObvIoUslyMadeUp \
--document-name Custom-SessionManagerRunShell \
--parameters '{"runAsDefaultUser": ["joeschmo"]}'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)