的預設 IAM 政策快速入門Session Manager - AWS Systems Manager

的預設 IAM 政策快速入門Session Manager

使用本節中的範例可協助您建立 AWS Identity and Access Management (IAM) 政策,此政策可提供最常需要的 Session Manager 存取許可。

注意

您也可以使用 AWS KMS key 政策,來控制哪些 IAM 使用者、IAM 角色和 AWS 帳戶 獲得 KMS 金輪的存取權。如需相關資訊,請參閱《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) 主控台,或是從以上三者啟動工作階段。

這些政策提供最終使用者對特定執行個體啟動工作階段的能力,也能夠結束自己的工作階段。請參閱Session Manager 的其他 IAM 政策範例取得有關您想在政策進行自訂的範例

注意

在以下所有範例政策中,將 instance-id 取代為您想授予存取權的執行個體 ID,格式如下 i-02573cafcfEXAMPLE。將 regionaccount-id 取代為您的 AWS 區域 和 AWS 帳戶 ID,例如 us-east-2111122223333

從以下標籤進行選擇,來針對您要提供的工作階段存取範圍檢視範例政策。

工作階段管理員 and CLI

使用此範例政策,來讓使用者只能從 Session Manager 主控台與 AWS CLI 啟動和繼續工作階段。這個政策不提供從 Amazon EC2 主控台啟動工作階段所需要的所有許可。

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

使用此範例政策,來讓使用者只能從 Amazon EC2 主控台啟動和繼續工作階段。這個政策不提供從 Session Manager 主控台和 AWS CLI 啟動工作階段所需要的所有許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:region:987654321098:instance/i-02573cafcfEXAMPLE" ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
工作階段管理員, CLI, and Amazon EC2

使用此範例政策,來讓使用者只能從 Session Manager 主控台、AWS CLI 和 Amazon EC2 主控台啟動和繼續工作階段。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:region:987654321098:instance/i-02573cafcfEXAMPLE", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "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:username}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" } ] }

1 SSM-SessionManagerRunShell 是 SSM 文件的預設名稱,Session Manager 會建立該 SSM 文件來存放您的工作階段組態偏好設定。您可以建立自訂工作階段文件,並改在這個政策中進行指定。您也可以為使用 SSH 開始工作階段的使用者指定 AWS 提供的文件 AWS-StartSSHSession。如需有關使用 SSH 支援工作階段所需的設定步驟相關資訊,請參閱 (選用) 透過 Session Manager 啟用和控制 SSH 連線的許可

2 如果您將條件元素 ssm:SessionDocumentAccessCheck 指定為 true,系統在建立工作階段之前,會先檢查使用者是否有所定義工作階段文件 (在此範例中為 SSM-SessionManagerRunShell) 的明確存取權。如需更多詳細資訊,請參閱 強制執行 AWS CLI 的工作階段文件許可檢查

3 kms: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 政策範例取得有關您想在政策進行自訂的範例

您可以建立政策,來讓管理員只能從 Session Manager 主控台與 AWS CLI、從 Amazon EC2 主控台,或是從以上三者執行這些任務。

注意

regionaccount-id 取代為您的 AWS 區域 和 AWS 帳戶 ID,例如 us-east-2111122223333

從以下標籤進行選擇,來針對您要支援的存取案例檢視範例政策。

工作階段管理員 and CLI

使用此範例政策,來讓管理員只能從 Session Manager 主控台與 AWS CLI 執行與工作階段相關的任務。這個政策不提供從 Amazon EC2 主控台執行與工作階段相關的任務所需要的所有許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:us-west-2:987654321098: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:username}-*" ] } ] }
Amazon EC2

使用此範例政策,來讓管理員只能從 Amazon EC2 主控台執行與工作階段相關的任務。這個政策不提供從 Session Manager 主控台與 AWS CLI 執行與工作階段相關的任務所需要的所有許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:us-west-2:987654321098: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:username}-*" ] } ] }
工作階段管理員, CLI, and Amazon EC2

使用此範例政策,來讓管理員能從 Session Manager 主控台、AWS CLI 與 Amazon EC2 主控台執行與工作階段相關的任務。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:us-west-2:987654321098: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:username}-*" ] } ] }

1 如果有使用者嘗試從 Amazon EC2 主控台啟動工作階段,但必須先傳送命令來更新 SSM Agent 的話,就需要 SendCommand 的許可。