2

我正在尝试创建一个我调用的文档,并将我的 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",
         "default":""
      },
      "s3EncryptionEnabled":{
         "type":"String",
         "default":"false"
      },
      "cloudWatchLogGroupName":{
         "type":"String",
         "default":""
      },
      "cloudWatchEncryptionEnabled":{
         "type":"String",
         "default":"false"
      },
      "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"]}'
4

0 回答 0