AWS Systems Manager
ユーザーガイド

クイックスタート Session Manager のデフォルト IAM ポリシー

次のサンプルを使用して、一般的に Session Manager のアクセスに最も必要とされるアクセス権限を提供する、IAM ポリシーを作成します。

注記

AWS KMS キーポリシーを使用してどの IAM ユーザー、IAM ロール、AWS アカウントに CMK へのアクセス権を付与するかを制御することもできます。詳細については、AWS Key Management Service Developer Guide の「AWS KMSリソースへのアクセス管理の概要」および「AWS KMS でのキーポリシーの使用」を参照してください。

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

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

instance-id を、i-02573cafcfEXAMPLE の形式で、アクセス許可を付与するインスタンスの ID に置き換えます。お客様の AWS リージョンと AWS アカウント ID で regionaccount-id を置き換えます (us-east-2111122223333 など)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*:instance/instance-id" ] }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetDocument" ], "Resource": [ "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" } ] }

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

2 条件要素 ssm:SessionDocumentAccessChecktrue として指定する場合、システムは、セッションが開始できるように、設定ドキュメント SSM-SessionManagerRunShell への明示的なアクセスがユーザーに付与されていることを確認します。詳細については、「デフォルトの CLI シナリオにドキュメントのアクセス許可チェックを適用する」を参照してください。

「kms:GenerateDataKey」について

kms:GenerateDataKey アクセス権限により、セッションデータの暗号化に使用されるデータ暗号化キーを作成できます。セッションデータに AWS Key Management Service (AWS KMS) 暗号化を使用する場合は、key-namearn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE 形式で、使用するカスタマーマスターキー (CMK) のARN に置き換えてください。

セッションデータに AWS KMS キー暗号化を使用しない場合は、ポリシーから次のコンテンツを削除します。

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

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

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

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

注記

タグと値のペア Key=Finance,Value=WebServers を、インスタンスに適用されたタグで更新します。お客様の AWS リージョンと AWS アカウント ID で regionaccount-id を置き換えます (us-east-2111122223333 など)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*: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" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }