Maintenance Windows のセットアップ
AWS アカウント 内のユーザーが AWS Systems Manager の一機能である Maintenance Windows を使用してメンテナンスウィンドウタスクを作成およびスケジュールできるようにするには、必要なアクセス許可を付与する必要があります。ユーザーにこれらのアクセス権限を付与するには、管理者は以下の 2 つのタスクを実行する必要があります。
タスク 1: ノードのアクセス許可を設定する
次のいずれかを実行して、AWS Identity and Access Management (IAM) アクセス許可で Maintenance Windows サービスを提供するには、ノードでメンテナンスウィンドウタスクを実行する必要があります。
-
メンテナンスウィンドウタスク用にカスタムサービスロールを作成する
-
Systems Manager のサービスにリンクされたロールを作成する
メンテナンスウィンドウタスクを作成するときに、これらのロールのいずれかを設定の一部として指定します。これにより、Systems Manager は、ユーザーに代わってメンテナンスウィンドウでタスクを実行できます。
Systems Manager に対するサービスにリンクされたロールがアカウント内に既に作成されていることがあります。現在、サービスにリンクされたロールは、Systems Manager Inventory および Systems Manager Explorer の許可も提供します。詳細については、「ロールを使用して、インベントリの収集、メンテナンスウィンドウタスクの実行、および OpsData の表示を行います: AWSServiceRoleForAmazonSSM」を参照してください。
カスタムサービスロールまたは Systems Manager のサービスにリンクされたロールをメンテナンスウィンドウタスクで使用するかどうかを決定するには、「サービスにリンクされたロール、またはカスタムサービスロールを使用してメンテナンスウィンドウタスクを実行しますか?」を参照してください。
タスク 2: メンテナンスウィンドウタスクの登録を許可されたユーザーのアクセス許可を設定する
メンテナンスウィンドウにタスクを割り当てる AWS アカウント のユーザーに iam:PassRole
アクセス許可を付与します。これにより、メンテナンスウィンドウサービスにロールを渡すことができます。この明示的な IAM アクセス許可がないと、カスタムサービスロールを使用してメンテナンスウィンドウタスクを実行するときに、ユーザーはメンテナンスウィンドウにタスクを割り当てることができません。
タスク 3: メンテナンスウィンドウタスクの登録を許可されていないユーザーのアクセス許可を設定する
メンテナンスウィンドウでタスクを登録したくない AWS アカウント 内のユーザーに対する ssm:RegisterTaskWithMaintenanceWindow
アクセス許可を拒否します。これにより、メンテナンスウィンドウタスク登録要求で、サービスにリンクされたロールを使用してメンテナンスウィンドウタスクを登録できなくなります。
始める前に
セクションのタスクを完了するには、次のリソースのいずれかまたは両方が必要です。
-
IAM ユーザーまたはグループにアクセス許可を割り当てます。これらのユーザーまたはグループには、メンテナンスウィンドウを操作するための一般的なアクセス許可が既に付与されている必要があります。これは、ユーザーまたはグループに IAM ポリシー
AmazonSSMFullAccess
を割り当てるか、メンテナンスウィンドウのタスクを対象とする Systems Manager のアクセス許可の小さいセットを提供する IAM ポリシーを作成して割り当てることによって実行できます。詳細については、「ユーザーグループを作成する」および「ユーザーを作成してアクセス許可を割り当てる」を参照してください。 -
(オプション) Run Command タスクを実行するメンテナンスウィンドウでは、Amazon Simple Notification Service (Amazon SNS) ステータス通知を送信するように選択できます。SNS 通知の送信に使用する IAM ロールの作成に関する情報など、Systems Manager の Amazon SNS 通知設定の詳細については、「Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング」を参照してください。
サービスにリンクされたロール、またはカスタムサービスロールを使用してメンテナンスウィンドウタスクを実行しますか?
ターゲットノードのメンテナンスタスクを実行するには、Maintenance Windows サービスが、ノードのタスクにアクセスし実行するためのアクセス権限を持っている必要があります。Systems Manager サービスにリンクされたロール、またはカスタムサービスロールをタスク設定の一部として指定することにより、このアクセス許可を利用できます。
選択するロールのタイプは、次の要素によって異なります。
カスタムサービスロール: 次の場合にメンテナンスウィンドウタスクのカスタムサービスロールを使用します。
-
Amazon SNS を使用して、メンテナンスウィンドウに登録された Run Command タスクのステータス変更に関する通知を送信する場合。詳細については、以下のトピックを参照してください。
-
サービスにリンクされたロールの場合よりも、制限されたアクセス権限セットを使用することを希望する場合。このサービスにリンクされたロールでは、非常に限定されたリソースレベルの制約をサポートしています。例えば、ノードの制限されたセットで実行するメンテナンスウィンドウタスクを許可する、またはターゲットノードで特定の Systems Manager ドキュメント (SSM ドキュメント)のみの実行を許可する場合を考えます。これらの場合は、カスタムサービスロールに厳格なアクセス許可を指定します。
-
サービスにリンクされたロールの場合よりも、制限または拡張されたアクセス許可セットを使用する必要がある場合。オートメーションランブックの一部のアクションには、拡張されたアクセス許可が必要です。
たとえば、一部のオートメーションアクションは AWS CloudFormation スタックと連携します。そのため、
cloudformation:CreateStack
、cloudformation:DescribeStack
、およびcloudformation:DeleteStack
のアクセス許可が必要です。別の例: オートメーションランブック
AWS-CopySnapshot
では、Amazon Elastic Block Store (Amazon EBS) スナップショットを作成するためのアクセス許可が必要です。そのため、サービスロールにはアクセス許可ec2:CreateSnapshot
が必要です。このアクセス許可は、Systems Manager のサービスにリンクされたロールには含まれていません。オートメーションランブックで必要なロールのアクセス許可については、Systems Manager Automation ランブックのリファレンス のドキュメントの説明をご覧ください。
Systems Manager のサービスにリンクされたロール: それ以外の場合では、Systems Manager のサービスにリンクされたロールを使用することをお勧めします。
Systems Manager のサービスにリンクされたロールの詳細については、「 のサービスにリンクされたロールの使用Systems Manager」を参照してください。
トピック