本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用和禁用会话活动记录
除了在 Systems Manager 控制台中提供有关当前和已完成会话的信息以外,Session Manager 还提供记录 Amazon Web Services 账户中的会话活动的选项。这让您能够执行以下操作:
-
创建和存储会话日志以用于存档目的。
-
生成报告,显示过去 30 天内使用 Session Manager 对托管式节点进行的每个连接的详细信息。
-
生成有关 Amazon Web Services 账户中的会话活动的通知,例如 Amazon Simple Notification Service (Amazon SNS) 通知。
-
作为会话活动的结果,在 Amazon 资源上自动启动另一个操作,例如运行 Amazon Lambda 功能、启动 Amazon CodePipeline 管道或运行 Amazon Systems Manager Run Command 文档。
重要
对于 Session Manager,请注意以下要求和限制:
-
Session Manager 根据您的会话首选项,记录您在会话期间输入的命令及其输出。为了防止敏感数据(如密码)在会话日志中被查看,建议您在会话期间输入敏感数据时使用以下命令。
-
如果你正在使用Windows Server2012 年或更早版本,您的日志中数据的格式可能不是最佳的。我们建议使用Windows Server2012 R2 及更高版本可获得最佳日志格式。
-
如果你正在使用Linux要么macOS托管节点,请确保已安装屏幕实用程序。否则,日志数据可能会被截断。在 Amazon Linux、Amazon Linux 2 和 Ubuntu Server 上,原定设置下会安装 screen 实用程序。手动安装屏幕,具体取决于您的版本Linux,要么运行
sudo yum install screen
要么sudo apt-get install screen
。 日志记录不可用于通过端口转发或 SSH 连接的 Session Manager 会话。这是因为 SSH 会加密所有会话数据,而 Session Manager 仅充当 SSH 连接的隧道。
有关使用亚马逊 S3 或亚马逊所需权限的更多信息 CloudWatch 用于记录会话数据的日志,请参阅创建具有 Amazon S3 Session Manager 和 L CloudWatch ogs 权限的 IAM 角色(控制台)。
有关 Session Manager 的日志记录选项的更多信息,请参阅以下主题。
主题
使用亚马逊流式传输会话数据 CloudWatch 日志(控制台)
您可以将持续的会话数据日志流发送到亚马逊 CloudWatch 日志。基本细节,例如用户在会话中运行的命令、运行命令的用户的 ID 以及会话数据传输到的时间戳 CloudWatch 流式传输会话数据时会包含日志。流式传输会话数据时,日志采用 JSON 格式,以帮助您与现有的日志记录解决方案相集成。交互式命令不支持流式传输会话数据。
注意
要从中流式传输会话数据Windows Server托管节点,你必须有PowerShell已安装 5.1 或更高版本。默认情况下,Windows Server2016 年及以后有必需的PowerShell版本已安装。但是,Windows Server2012 年和 2012 年 R2 没有必需的PowerShell默认安装的版本。如果你还没有更新PowerShell在你的Windows Server2012 或 2012 年 R2 托管节点,你可以使用Run Command。有关更新的信息PowerShell使用Run Command,请参阅PowerShell使用进行更新Run Command。
重要
如果你有PowerShell 转录在您上配置的策略设置Windows Server托管节点,您将无法流式传输会话数据。
使用亚马逊流式传输会话数据 CloudWatch 日志(控制台)
访问 https://console.aws.amazon.com/systems-manager/
,打开 Amazon Systems Manager 控制台。 -
在导航窗格中,请选择 Session Manager。
-
选择 Preferences (首选项) 选项卡,然后选择 Edit (编辑)。
-
选中旁边的复选框启用下CloudWatch 记录。
-
选择 Stream session logs (流式传输会话日志) 选项。
-
(推荐)选中旁边的复选框只允许加密 CloudWatch 日志组。否则,日志数据将使用为日志组指定的服务器端加密密钥加密。如果您不想加密发送到的日志数据 CloudWatch 日志,清除复选框。如果日志组不允许加密,也必须清除此复选框。
-
对于CloudWatch 圆木,以指定现有的 CloudWatch 在你的日志组中记录日志Amazon Web Services 账户要将会话日志上传到,请选择以下选项之一:
-
在文本框中输入已在账户中创建的用于存储会话日志数据的日志组的名称。
-
Browse log groups (浏览日志组):选择已在账户中创建的用于存储会话日志数据的日志组。
-
-
选择保存。
使用 Amazon S3 记录会话数据(控制台)
您可以选择将会话日志数据存储在指定的 Amazon Simple Storage Service (Amazon S3) 存储桶中,以便用于调试和故障排除。默认选项是将日志发送到加密的 Amazon S3 存储桶。系统将使用为存储桶指定的密钥执行加密,可以是 Amazon KMS key或 Amazon S3 服务器端加密 (SSE) 密钥 (AES-256)。
重要
当通过安全套接字 (SSL) 使用虚拟托管类型存储桶时,SSL 通配符证书仅匹配不包含句点的存储桶。要解决此问题,请使用 HTTP 或编写自己的证书验证逻辑。在使用虚拟托管类型存储桶时,建议您不要在存储桶名称中使用句点(“.”)。
Amazon S3 存储桶加密
要将日志发送到 Amazon S3 存储桶并进行加密,必须在存储桶上允许加密。有关 Amazon S3 存储桶加密的更多信息,请参阅 Amazon S3 默认 S3 存储桶加密。
客户托管密钥
如果使用自己管理的 KMS 密钥来加密存储桶,则附加到实例的 IAM 实例配置文件必须具有读取此密钥的显式权限。如果使用 Amazon 托管式密钥,则实例不需要此显式权限。有关为实例配置文件提供使用密钥的权限的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的允许密钥用户使用密钥。
请按照以下步骤配置 Session Manager,以将会话日志存储在 Amazon S3 存储桶中。
注意
您也可以使用 Amazon CLI 指定或更改将会话数据发送到的 Amazon S3 存储桶。有关信息,请参阅 更新 Session Manager 首选项(命令行)。
要使用 Amazon S3 记录会话数据(控制台),请执行以下步骤:
访问 https://console.aws.amazon.com/systems-manager/
,打开 Amazon Systems Manager 控制台。 -
在导航窗格中,请选择 Session Manager。
-
选择 Preferences (首选项) 选项卡,然后选择 Edit (编辑)。
-
选中 S3 logging (S3 日志记录) 下 Enable (启用) 旁边的复选框。
-
(推荐)选中 Allow only encrypted S3 buckets (仅允许加密的 S3 存储桶) 旁边的复选框。开启此选项后,将使用为存储桶指定的服务器端加密密钥对日志数据进行加密。如果不需要加密发送到 Amazon S3 的日志数据,请清除此复选框。如果 S3 存储桶不允许加密,也必须清除此复选框。
-
对于 S3 bucket name (S3 存储桶名称),请选择以下选项之一:
注意
在使用虚拟托管类型存储桶时,建议您不要在存储桶名称中使用句点(“.”)。有关 Amazon S3 存储桶命名约定的更多信息,请参阅 Amazon Simple Storage Service 用户指南中的存储桶限制和局限性。
-
Choose a bucket name from the list (从列表中选择存储桶名称):选择已在账户中创建的用于存储会话日志数据的 Amazon S3 存储桶。
-
Enter a bucket name in the text box (在文本框中输入存储桶名称):输入已在账户中创建的用于存储会话日志数据的 Amazon S3 存储桶名称。
-
-
(可选)对于 S3 key prefix (S3 键前缀),输入现有或新文件夹的名称,以便将日志存储在所选的存储桶中。
-
选择保存。
有关使用 Amazon S3 和 Amazon S3 存储桶的更多信息,请参阅 Amazon Simple Storage Service 用户指南和 Amazon Simple Storage Service 用户指南。
使用亚马逊记录会话数据 CloudWatch 日志(控制台)
在亚马逊 CloudWatch 日志,您可以监控、存储和访问各种日志文件Amazon Web Services。您可以将会话日志数据发送到 CloudWatch 日志组用于调试和故障排除。默认选项是使用您的 KMS 密钥在加密后发送日志数据,但您可以将数据发送到日志组(加密或不加密)。
按照以下步骤进行配置Amazon Systems Manager Session Manager将会话日志数据发送到 CloudWatch 在会话结束时记录日志组。
注意
你也可以使用Amazon CLI指定或更改 CloudWatch 记录会话数据发送到的日志组。有关信息,请参阅 更新 Session Manager 首选项(命令行)。
使用亚马逊记录会话数据 CloudWatch 日志(控制台)
访问 https://console.aws.amazon.com/systems-manager/
,打开 Amazon Systems Manager 控制台。 -
在导航窗格中,请选择 Session Manager。
-
选择 Preferences (首选项) 选项卡,然后选择 Edit (编辑)。
-
选中旁边的复选框启用下CloudWatch 记录。
-
选择 Upload session logs (上传会话日志) 选项。
-
(推荐)选中旁边的复选框只允许加密 CloudWatch 日志组。否则,日志数据将使用为日志组指定的服务器端加密密钥加密。如果您不想加密发送到的日志数据 CloudWatch 日志,清除复选框。如果日志组不允许加密,也必须清除此复选框。
-
对于CloudWatch 圆木,以指定现有的 CloudWatch 在你的日志组中记录日志Amazon Web Services 账户要将会话日志上传到,请选择以下选项之一:
-
Choose a log group from the list (从列表中选择日志组):选择已在账户中创建的日志组来存储会话日志数据。
-
Enter a log group name in the text box (在文本框中输入日志组名称):输入已在您的账户中创建的用于存储会话日志数据的日志组的名称。
-
-
选择保存。
有关使用的更多信息 CloudWatch 日志,请参阅亚马逊 CloudWatch 日志用户指南。
正在禁用Session Manager活动登录 CloudWatch 日志和亚马逊 S3
您可以使用系统管理器控制台或Amazon CLI在您的账户中禁用会话活动登录。
禁用会话活动记录(控制台)
访问 https://console.aws.amazon.com/systems-manager/
,打开 Amazon Systems Manager 控制台。 -
在导航窗格中,请选择 Session Manager。
-
选择 Preferences (首选项) 选项卡,然后选择 Edit (编辑)。
-
要禁用 CloudWatch 正在记录,在CloudWatch 记录部分,清除启用复选框。
-
要禁用 S3 日志记录,请在S3 日志记录部分,清除启用复选框。
-
选择保存。
禁用会话活动记录 (Amazon CLI)
要禁用会话活动记录,请使用Amazon CLI,请按照中的说明进行操作更新 Session Manager 首选项(命令行)。
在你的 JSON 文件中,确保s3BucketName
和cloudWatchLogGroupName
输入不包含任何值。例如:
"inputs": {
"s3BucketName": "",
...
"cloudWatchLogGroupName": "",
...
}
或者,您可以删除所有S3*
和cloudWatch*
从 JSON 文件输入以禁用日志记录。