我正在尝试创建一个我调用的文档,并将我的 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"]}'