Session Manager のサンプル IAM ポリシー - AWS Systems Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Session Manager のサンプル IAM ポリシー

このセクションのサンプルを使用して、最も一般的に必要なSession Managerアクセス許可を提供する AWS Identity and Access Management (IAM) ポリシーを作成します。

注記

AWS KMS key ポリシーを使用して、KMS キーへのアクセス AWS アカウント を許可する IAM エンティティ (ユーザーまたはロール) と を制御することもできます。詳細については、「 AWS Key Management Service デベロッパーガイド」の「 AWS KMS リソースへのアクセス管理の概要」と「 でのキーポリシーの使用 AWS KMS」を参照してください。

クイックスタート Session Manager のエンドユーザーポリシー

次の例を使用して、Session Manager の IAM エンドユーザーポリシーを作成します。

ユーザーが Session Manager コンソールと AWS Command Line Interface (AWS CLI) のみ、Amazon Elastic Compute Cloud (Amazon EC2) コンソールのみ、または 3 つすべてからセッションを開始できるようにするポリシーを作成できます。

このポリシーはエンドユーザーに対して特定のマネージドノードへのセッションを開始する権限と、自分のセッションのみを終了する権限を提供します。ポリシーに対して行うカスタマイズの例については、「Session Manager の追加サンプル IAM ポリシー」を参照してください。

次のサンプルポリシーで、各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

次のタブから選択して、提供するセッションアクセスの範囲のサンプルポリシーを表示します。

セッションマネージャー and CLI

ユーザーが Session Manager コンソールと AWS CLI からのみセッションを開始および再開できるようにするには、このサンプルポリシーを使用します。このポリシーでは、Amazon EC2 コンソールからセッションを開始するために必要なすべてのアクセス許可は提供されません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" 
                                    Footnote callout 1
                                ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" 
                                    Footnote callout 2
                                } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeSecurityGroups", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" 
                                    Footnote callout 3
                                ], "Resource": "key-name" } ] }
Amazon EC2

ユーザーが Amazon EC2 コンソールからのみセッションを開始および再開できるようにするには、このサンプルポリシーを使用します。このポリシーでは、Session Manager コンソールおよび AWS CLI からセッションを開始するために必要なすべてのアクセス許可は提供されません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" 
                                    Footnote callout 4
                                ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" 
                                    Footnote callout 1
                                ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
セッションマネージャー, CLI, and Amazon EC2

このサンプルポリシーを使用して、ユーザーが Session Managerコンソール、、 AWS CLIおよび Amazon EC2 コンソールからセッションを開始できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" 
                                    Footnote callout 4
                                ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" 
                                    Footnote callout 1
                                ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" 
                                    Footnote callout 2
                                } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" 
                                    Footnote callout 3
                                ], "Resource": "key-name" } ] }

1 SSM-SessionManagerRunShell は、セッションの設定を保存するために Session Manager によって作成される SSM ドキュメントのデフォルト名です。代わりに、カスタムのセッションドキュメントを作成し、このポリシーで指定できます。SSH を使用してセッションを開始するユーザーAWS-StartSSHSession向けに AWSが提供するドキュメントを指定することもできます。SSH を使用してセッションをサポートするために必要な設定手順については、「(オプション) を介して SSH 接続のアクセス許可を許可および制御するSession Manager」を参照してください。

2 条件要素 ssm:SessionDocumentAccessChecktrue として指定した場合、セッションの確立前に、ユーザーが定義済みのセッションドキュメント (この例では SSM-SessionManagerRunShell) へのアクセスを明示的に許可されていることがチェックされます。詳細については、「」を参照してくださいセッション開始時にセッションドキュメントのアクセス許可チェックを強制する

3kms:GenerateDataKey アクセス許可により、セッションデータの暗号化に使用されるデータ暗号化キーを作成できます。セッションデータに AWS Key Management Service (AWS KMS) 暗号化を使用する場合は、key-name を、使用する KMS キーの Amazon リソースネーム (ARN) を 形式で置き換えますarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE。セッションデータに KMS キー暗号化を使用しない場合は、ポリシーから次のコンテンツを削除します。

, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" }

セッションデータの暗号化 AWS KMS に を使用する方法については、「」を参照してくださいセッションデータの KMS キー暗号化を有効にする (コンソール)

4 ユーザーが Amazon EC2 コンソールからセッションを開始しようとする際、最初に SSM Agent を更新するためのコマンドを送信する必要がある場合は、SendCommand のアクセス許可が必要です。

クイックスタート Session Manager の管理者ポリシー

次の例を使用して、Session Manager の IAM 管理者ポリシーを作成します。

このポリシーは、Key=Finance,Value=WebServers でタグ付けされたマネージドノードに対してセッションを開始する権限、および作成、更新、削除する許可、自分のセッションのみを終了する許可を管理者に提供します。ポリシーに対して行うカスタマイズの例については、「Session Manager の追加サンプル IAM ポリシー」を参照してください。

管理者がコンソールと のみ、Amazon EC2 Session Managerコンソールのみ AWS CLI、または 3 つすべてからこれらのタスクを実行できるようにするポリシーを作成できます。

次のサンプルポリシーで、各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

次のタブから選択して、サポートするアクセスシナリオのサンプルポリシーを表示します。

セッションマネージャー and CLI

管理者が Session Manager コンソールと AWS CLI からのみセッション関連のタスクを実行できるようにするには、このサンプルポリシーを使用します。このポリシーでは、Amazon EC2 コンソールからセッション関連のタスクを実行するために必要なすべてのアクセス許可は提供されません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/Finance": [ "WebServers" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Amazon EC2

管理者が Amazon EC2 コンソールからのみセッション関連のタスクを実行できるようにするには、このサンプルポリシーを使用します。このポリシーでは、Session Manager コンソールおよび AWS CLI からセッション関連のタスクを実行するために必要なすべてのアクセス許可は提供されません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" 
                                    Footnote callout 1
                                ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
セッションマネージャー, CLI, and Amazon EC2

管理者が Session Manager コンソール、 AWS CLI、Amazon EC2 コンソールからセッション関連のタスクを実行できるようにするには、このサンプルポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" 
                                    Footnote callout 1
                                ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }

1 ユーザーが Amazon EC2 コンソールからセッションを開始しようとする際、最初に SSM Agent を更新するためのコマンドを送信する必要がある場合は、SendCommand のアクセス許可が必要です。