

• AWS Systems Manager CloudWatch 대시보드는 2026년 4월 30일 이후에는 더 이상 사용할 수 없습니다. 고객은 Amazon CloudWatch 콘솔을 계속 사용하여 현재와 마찬가지로 Amazon CloudWatch 대시보드를 보고, 생성하고, 관리할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 대시보드 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)를 참조하세요.

# Session Manager에 대한 샘플 IAM 정책
<a name="getting-started-restrict-access-quickstart"></a>

이 섹션에 나오는 샘플은 Session Manager 액세스에 가장 일반적으로 필요한 권한을 제공하는 AWS Identity and Access Management(IAM) 정책을 생성하는 데 유용합니다.

**참고**  
또한 AWS KMS key 정책을 사용하면 KMS 키에 대한 액세스 권한이 부여될 IAM 엔터티(사용자 또는 역할) 및 AWS 계정를 제어할 수 있습니다. 자세한 내용은 *AWS Key Management Service Developer Guide*의 [Overview of Managing Access to Your AWS KMS Resources](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html) 및 [Using Key Policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)를 참조하세요.

**Topics**
+ [Session Manager에 대한 빠른 시작 최종 사용자 정책](#restrict-access-quickstart-end-user)
+ [Session Manager에 대한 빠른 시작 관리자 정책](#restrict-access-quickstart-admin)

## Session Manager에 대한 빠른 시작 최종 사용자 정책
<a name="restrict-access-quickstart-end-user"></a>

다음 예를 사용하여 Session Manager에 대한 IAM 최종 사용자 정책을 생성합니다.

사용자가 Session Manager 콘솔과 AWS Command Line Interface(AWS CLI)에서만, Amazon Elastic Compute Cloud(Amazon EC2) 콘솔에서만 또는 세 가지 모두에서 세션을 시작할 수 있도록 허용하는 정책을 생성할 수 있습니다.

이러한 정책은 최종 사용자에게 특정 관리형 노드에 대한 세션을 시작할 수 있는 권한과 자신의 세션만 종료할 수 있는 권한을 제공합니다. 정책에 대해 수행하려는 사용자 지정에 대한 예는 [Session Manager에 대한 추가 IAM 정책 샘플](getting-started-restrict-access-examples.md) 섹션을 참조하세요.

다음 샘플 정책에서 각 {{리소스 자리 표시자 예}}를 자신의 정보로 바꿉니다.

다음 탭에서 선택하여 제공할 세션 액세스 범위에 대한 샘플 정책을 확인합니다.

------
#### [ 세션 관리자 and Fleet Manager ]

사용자에게 Session Manager 콘솔과 Fleet Manager에서만 세션을 시작하고 재개할 수 있는 권한을 제공하려면 이 샘플 정책을 사용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:instance/{{i-02573cafcfEXAMPLE}}",
                "arn:aws:ssm:{{us-east-1}}:{{111122223333}}:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "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"
            ],
            "Resource": "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{key-name}}"
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

사용자에게 Amazon EC2 콘솔에서만 세션을 시작하고 재개할 수 있는 권한을 제공하려면 이 샘플 정책을 사용합니다. 이 정책은 Session Manager 콘솔과 AWS CLI에서 세션을 시작하는 데 필요한 모든 권한을 제공하지 않습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:instance/{{i-02573cafcfEXAMPLE}}",
                "arn:aws:ssm:{{us-east-1}}:{{111122223333}}:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

------
#### [ AWS CLI ]

사용자에게 AWS CLI에서만 세션을 시작하고 재개할 수 있는 권한을 제공하려면 이 샘플 정책을 사용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:instance/{{i-02573cafcfEXAMPLE}}",
                "arn:aws:ssm:{{us-east-1}}:{{111122223333}}:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{key-name}}"
        }
    ]
}
```

------

------

**참고**  
`SSM-SessionManagerRunShell`은 Session Manager에서 세션 구성 설정을 저장할 목적으로 생성되는 SSM 문서의 기본 이름입니다. 그 밖에 사용자 정의 Session 문서를 생성한 후 정책에서 지정할 수도 있습니다. 또한 AWS에서 제공하는 문서인 `AWS-StartSSHSession`을 SSH로 세션을 시작하는 사용자에게 지정하는 방법도 있습니다. SSH로 세션을 지원하는 데 필요한 구성 단계에 대한 자세한 내용은 [(선택 사항) Session Manager를 통한 SSH 연결에 대한 권한 허용 및 제어](session-manager-getting-started-enable-ssh-connections.md)를 참조하세요.  
`kms:GenerateDataKey` 권한을 사용하면 세션 데이터를 암호화하는 데 사용할 데이터 암호화 키를 만들 수 있습니다. 세션 데이터에 AWS Key Management Service(AWS KMS) 암호화를 사용하는 경우 {{key-name}}을 `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE` 형식으로 사용하려는 KMS 키의 Amazon 리소스 이름(ARN)으로 바꿉니다. 세션 데이터에 KMS 키 암호화를 사용하지 않으려면 정책에서 다음 콘텐츠를 제거합니다.  

```
{
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "{{key-name}}"
        }
```
세션 데이터 암호화에 AWS KMS 사용에 대한 내용은 [세션 데이터의 KMS 키 암호화를 설정하려면(콘솔)](session-preferences-enable-encryption.md) 섹션을 참조하세요.  
사용자가 Amazon EC2 콘솔에서 세션을 시작하려고 시도하는 경우 [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html)에 대한 권한이 필요하지만, 먼저 Session Manager에 필요한 최소 버전으로 SSM Agent를 업데이트해야 합니다. Run Command를 사용하여 에이전트를 업데이트하라는 명령을 인스턴스에 전달합니다.

## Session Manager에 대한 빠른 시작 관리자 정책
<a name="restrict-access-quickstart-admin"></a>

다음 예를 사용하여 Session Manager에 대한 IAM 관리자 정책을 생성합니다.

이러한 정책은 관리자에게 `Key=Finance,Value=WebServers`로 태그가 지정된 관리형 노드에 대한 세션을 시작하는 권한, 기본 설정을 생성, 업데이트 및 삭제하는 권한, 자신의 세션만 종료할 수 있는 권한을 제공합니다. 정책에 대해 수행하려는 사용자 지정에 대한 예는 [Session Manager에 대한 추가 IAM 정책 샘플](getting-started-restrict-access-examples.md) 섹션을 참조하세요.

관리자가 Session Manager 콘솔과 AWS CLI에서만, Amazon EC2 콘솔에서만 또는 세 가지 모두에서 이러한 태스크를 수행할 수 있도록 허용하는 정책을 생성할 수 있습니다.

다음 샘플 정책에서 각 {{리소스 자리 표시자 예}}를 자신의 정보로 바꿉니다.

지원하려는 액세스 시나리오에 대한 샘플 정책을 보려면 다음 탭에서 선택하세요.

------
#### [ 세션 관리자 and CLI ]

관리자에게 Session Manager 콘솔과 AWS CLI에서만 세션 관련 태스크를 수행할 수 있는 권한을 제공하려면 이 샘플 정책을 사용합니다. 이 정책은 Amazon EC2 콘솔에서 세션 관련 태스크를 수행하는 데 필요한 모든 권한을 제공하지 않습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:*:{{111122223333}}:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "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:{{us-east-1}}:{{111122223333}}:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

관리자에게 Amazon EC2 콘솔에서만 세션 관련 태스크를 수행할 수 있는 권한을 제공하려면 이 샘플 정책을 사용합니다. 이 정책은 Session Manager 콘솔 및 AWS CLI에서 세션 관련 작업을 수행하는 데 필요한 모든 권한을 제공하지 않습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/{{tag-key}}": [
                        "{{tag-value}}"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:{{us-east-1}}:{{111122223333}}:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "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 콘솔에서 세션 관련 태스크를 수행할 수 있는 권한을 제공하려면 이 샘플 정책을 사용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/{{tag-key}}": [
                        "{{tag-value}}"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "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:{{us-east-1}}:{{111122223333}}:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------

**참고**  
사용자가 Amazon EC2 콘솔에서 세션을 시작하려고 하는 경우 [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html)에 대한 권한이 필요하지만 먼저 SSM Agent를 업데이트하도록 명령을 보내야 합니다.