的 IAM政策範例 Session Manager - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

的 IAM政策範例 Session Manager

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

注意

您也可以使用 AWS KMS key 政策來控制哪些IAM實體 (使用者或角色) AWS 帳戶 ,並取得KMS金鑰的存取權。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南 中的管理 AWS KMS 資源存取使用金鑰政策 AWS KMS概觀。

Quickstart 的最終使用者政策 Session Manager

使用下列範例建立 IAM 的最終使用者政策 Session Manager.

您可以建立政策,允許使用者僅從 啟動工作階段 Session Manager 主控台和 AWS Command Line Interface (AWS CLI),僅來自 Amazon Elastic Compute Cloud (AmazonEC2) 主控台,或來自所有三個主控台。

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

在下列範例政策中,取代每個 example resource placeholder 使用您自己的資訊。

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

Session Manager and Fleet Manager

使用此範例政策,讓使用者只能從 開始和繼續工作階段 Session Manager 以及 Fleet Manager 主控台。

{ "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 to explain a line in a JSON policy ] }, { "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:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 2 to explain a line in a JSON policy ], "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 3 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
AWS CLI

使用此範例政策,讓使用者能夠從 開始和繼續工作階段 AWS CLI。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 3 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ] }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 2 to explain a line in a JSON policy ], "Resource": "key-name" } ] }

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

2 kms:GenerateDataKey許可可建立資料加密金鑰,用於加密工作階段資料。如果您要使用 AWS Key Management Service (AWS KMS) 加密作為工作階段資料,請取代 key-name 使用您想要使用的KMS金鑰的 Amazon Resource Name (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 金鑰加密 (主控台)

3 的 許可 SendCommand 對於使用者嘗試從 Amazon EC2主控台啟動工作階段,但 SSM Agent 必須更新為 的最低必要版本 Session Manager 。Run Command 用於將命令傳送至執行個體以更新代理程式。

的 Quickstart 管理員政策 Session Manager

使用下列範例建立 的IAM管理員政策 Session Manager.

這些政策提供管理員能夠啟動工作階段到被 Key=Finance,Value=WebServers 所標記的受管節點的能力,建立、更新和刪除偏好設定的許可,以及僅結束自己工作階段的許可。請參閱的其他範例IAM政策 Session Manager取得有關您想在政策進行自訂的範例

您可以建立政策,允許管理員僅從 執行這些任務 Session Manager 主控台和 AWS CLI,僅來自 Amazon EC2主控台,或來自所有三個主控台。

在下列範例政策中,取代每個 example resource placeholder 使用您自己的資訊。

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

Session Manager 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", "ssm:StartSession" ], "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 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Session Manager, 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 to explain a line in a JSON policy ], "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", "ssm:StartSession" ], "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 的許可 SendCommand 對於使用者嘗試從 Amazon EC2主控台啟動工作階段,但必須傳送命令以進行更新的情況, 是必要的 SSM Agent 。