控制对维护时段的访问权限 (Amazon CLI)
以下过程介绍如何使用 Amazon Command Line Interface (Amazon CLI) 为 Amazon Systems Manager 的功能 Maintenance Windows 创建所需角色和权限。
主题
任务 1:(可选)为维护时段创建自定义服务角色 (Amazon CLI)
如果您转而选择使用 Systems Manager 服务相关角色来让维护时段代表您运行任务,则不需要自定义服务角色。如果您的账户中没有 Systems Manager 服务相关角色,则可以在使用 Systems Manager 控制台创建或更新维护时段任务时创建该角色。有关更多信息,请参阅以下主题:
-
将以下信任策略复制并粘贴到文本文件中。使用以下名称和文件扩展名保存此文件:
mw-role-trust-policy.json
。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
打开 Amazon CLI 并在放置
mw-role-trust-policy.json
的目录中运行以下命令,以创建一个名为my-maintenance-window-role
的维护时段角色。此命令将上一步中创建的策略分配给该角色。系统将返回类似于以下内容的信息。
{ "Role": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" } } ] }, "RoleId": "AROAIIZKPBKS2LEXAMPLE", "CreateDate": "2017-04-04T03:40:17.373Z", "RoleName": "my-maintenance-window-role", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role" } }
注意 记下
RoleName
和Arn
值。您可以在创建使用此自定义角色的维护时段时指定这些值。 -
运行以下命令,将
AmazonSSMMaintenanceWindowRole
托管策略附加到在步骤 2 中创建的角色。
任务 2:为已获允许注册维护时段任务的用户配置权限 (Amazon CLI)
在将任务注册到维护时段时,您可以指定自定义服务角色或 Systems Manager 服务相关角色来运行实际任务操作。这是代表您运行任务时服务要代入的角色。在此之前,要注册任务本身,请将 IAM PassRole 策略分配给 IAM 用户账户或 IAM 组。这将允许 IAM 用户或 IAM 组指定运行任务时应使用的角色,作为将这些任务注册到维护时段的一部分。有关信息,请参阅 IAM 用户指南中的向用户授予将角色传递到 Amazon Service 的权限。
为已获允许注册维护时段任务的用户配置权限 (Amazon CLI)
-
将以下 Amazon Identity and Access Management IAM 策略复制并粘贴到文本编辑器中,然后使用以下名称和文件扩展名保存:
mw-passrole-policy.json
。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/my-maintenance-window-role
" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id
:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id
:role/aws-service-role/ssm.amazonaws.com/" } ] }将
my-maintenance-window-role
替换为您之前创建的自定义维护时段角色的名称。将
account-id
替换为 Amazon Web Services 账户 的 ID。为资源arn:aws:iam::
添加此权限允许组中的用户在创建维护时段任务时在控制台中查看和选择客户角色。为account-id
:role/arn:aws:iam::
添加此权限允许组中的用户在创建维护时段任务时在控制台中选择 Systems Manager 服务相关角色。account-id
:role/aws-service-role/ssm.amazonaws.com/ -
打开 Amazon CLI。
-
根据您是要将权限分配到 IAM 用户还是组,运行以下命令之一。
-
对于 IAM 用户:
对于
user-name
,请指定将向维护时段分配任务的 IAM 用户。对于policy-name
,请指定要用于标识策略的名称,如my-iam-passrole-policy
。对于path-to-document
,请指定步骤 1 中保存文件的路径。例如:file://C:\Temp\mw-passrole-policy.json
-
对于 IAM 组:
对于
group-name
,指定其成员将向维护时段分配任务的 IAM 组。对于policy-name
,请指定要用于标识策略的名称,如my-iam-passrole-policy
。对于path-to-document
,请指定步骤 1 中保存文件的路径。例如:file://C:\Temp\mw-passrole-policy.json
注意 要授予组成员使用 Systems Manager 控制台为维护时段注册任务的访问权限,还必须将
AmazonSSMFullAccess
策略分配给组。运行以下命令将此策略分配给您的组。
-
-
运行以下命令验证策略是否已分配给该组。
任务 3:为未获允许注册维护时段任务的用户配置权限 (Amazon CLI)
-
将以下 IAM 策略复制并粘贴到文本编辑器中,然后使用以下名称和文件扩展名保存:
deny-mw-tasks-policy.json
。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
-
打开 Amazon CLI。
-
根据您是要将权限分配到 IAM 用户还是组,运行以下命令之一。
-
对于 IAM 用户:
对于
user-name
,请指定要阻止其向维护时段分配任务的 IAM 用户。对于policy-name
,请指定要用于标识策略的名称,如my-deny-mw-tasks-policy
。对于path-to-document
,请指定步骤 1 中保存文件的路径。例如:file://C:\Temp\deny-mw-tasks-policy.json
-
对于 IAM 组:
对于
group-name
,请指定要阻止其成员向维护时段分配任务的 IAM 组。对于policy-name
,请指定要用于标识策略的名称,如my-deny-mw-tasks-policy
。对于path-to-document
,请指定步骤 1 中保存文件的路径。例如:file://C:\Temp\deny-mw-tasks-policy.json
-
-
运行以下命令验证策略是否已分配给该组。