

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

# 문서 작업
<a name="documents-using"></a>

이 섹션에는 SSM 문서 사용 및 작업 방법에 대한 정보가 포함되어 있습니다.

**Topics**
+ [SSM 문서 버전 비교](comparing-versions.md)
+ [SSM 문서 생성](create-ssm-console.md)
+ [사용자 지정 SSM 문서 삭제 중](deleting-documents.md)
+ [원격 위치에서 문서 실행](documents-running-remote-github-s3.md)
+ [SSM 문서 공유](documents-ssm-sharing.md)
+ [SSM 문서 검색](ssm-documents-searching.md)

# SSM 문서 버전 비교
<a name="comparing-versions"></a>

Systems Manager Documents 콘솔에서 AWS Systems Manager(SSM) 문서 버전 간의 내용 차이를 비교할 수 있습니다. SSM 문서의 버전을 비교할 때 버전 내용 간의 차이가 강조 표시됩니다.

**SSM 문서 내용을 비교하려면(콘솔)**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. 문서 목록에서 내용을 비교하려는 문서를 선택합니다.

1. [**콘텐츠(Content)**] 탭에서 [**버전 비교(Compare versions)**]를 선택하고 콘텐츠를 비교하려는 문서의 버전을 선택합니다.

# SSM 문서 생성
<a name="create-ssm-console"></a>

[SSM 문서 콘텐츠 작성](documents-creating-content.md#writing-ssm-doc-content) 섹션에 설명된 대로 사용자 정의 SSM 문서에 대한 콘텐츠를 생성한 후 Systems Manager 콘솔을 통해 콘텐츠를 사용하는 SSM 문서를 생성할 수 있습니다.

**SSM 문서를 생성하는 방법**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. **명령 또는 세션 생성**을 선택합니다.

1. 문서에 대한 서술 이름을 입력합니다.

1. (선택 사항) **Target type(대상 유형)**에는 문서를 실행할 수 있는 리소스 유형을 지정합니다.

1. **문서 유형** 목록에서 생성할 문서의 유형을 선택합니다.

1. **콘텐츠** 필드에서 괄호를 삭제한 후 앞서 생성한 문서 콘텐츠를 붙여 넣습니다.

1. (선택 사항) **Document tags(문서 태그)** 섹션에서 문서에 적용할 하나 이상의 태그 키 이름/값 페어를 입력합니다.

   태그는 리소스에 할당하는 선택적 메타데이터입니다. 태그를 사용하면 용도, 소유자 또는 환경을 기준으로 하는 등 리소스를 다양한 방식으로 분류할 수 있습니다. 예를 들어 문서에 태그를 지정하여 실행하는 작업 유형, 대상 운영 체제 유형 및 실행 환경을 식별할 수 있습니다. 다음 키 이름/값 페어를 지정할 수 있습니다.
   + `Key=TaskType,Value=MyConfigurationUpdate`
   + `Key=OS,Value=AMAZON_LINUX_2`
   + `Key=Environment,Value=Production`

1. **문서 생성**을 선택하여 문서를 저장합니다.

# 사용자 지정 SSM 문서 삭제 중
<a name="deleting-documents"></a>

사용자 지정 SSM 문서를 더 이상 사용하지 않으려는 경우 AWS Systems Manager 콘솔을 사용하여 삭제할 수 있습니다.

**SSM 문서를 삭제하는 방법**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. 삭제할 문서를 선택합니다.

1. **삭제(Delete)**를 선택합니다. 문서를 삭제할 것인지 묻는 메시지가 나타나면 **삭제(Delete)**를 선택합니다.

명령줄 도구 또는 SDK를 사용여 SSM 문서를 삭제하는 예제는 [AWS SDK 또는 CLI와 함께 `DeleteDocument` 사용](example_ssm_DeleteDocument_section.md) 섹션을 참조하세요.

# 원격 위치에서 문서 실행
<a name="documents-running-remote-github-s3"></a>

`AWS-RunDocument` 사전 정의 AWS Systems Manager(SSM) 문서를 사용하면 원격 위치로부터 SSM 문서를 실행할 수 있습니다. 이 문서는 다음 위치에 저장된 SSM 문서 실행을 지원합니다.
+ 퍼블릭 및 프라이빗 GitHub 리포지토리(GitHub Enterprise는 지원되지 않음)
+ Amazon S3 버킷
+ Systems Manager

AWS Systems Manager의 도구인 State Manager 또는 Automation을 사용하여 원격 문서를 실행할 수도 있지만 다음 절차에서는 Systems Manager 콘솔에서 AWS Systems Manager Run Command를 사용하여 원격 SSM 문서를 실행하는 방법만 설명합니다.

**참고**  
`AWS-RunDocument`는 Automation 런북 등의 다른 유형이 아닌 명령 유형 SSM 문서만 실행하는 데 사용할 수 있습니다. `AWS-RunDocument`는 `aws:downloadContent` 플러그인을 사용합니다. `aws:downloadContent` 플러그인에 대한 자세한 내용은 [`aws:downloadContent`](documents-command-ssm-plugin-reference.md#aws-downloadContent) 섹션을 참조하세요.

**주의**  
`AWS-RunDocument`는 다양한 소스(SSM 문서, GitHub, S3, URL)에서 문서 콘텐츠를 실행할 수 있습니다. 원격 문서를 실행할 때 평가되는 IAM 권한은 원격 문서에 대한 `ssm:GetDocument` 및 `AWS-RunDocument`에 대한 `ssm:SendCommand`입니다. 특정 SSM 문서에 대한 액세스를 거부하는 IAM 정책이 있는 경우 `AWS-RunDocument` 권한이 있는 사용자는 문서 콘텐츠를 파라미터로 전달하여 거부된 문서를 계속 실행할 수 있으며, 이러한 문서에는 동일한 문서별 IAM 제한이 적용되지 않을 수 있습니다.  
문서 실행을 적절하게 제한하려면 다음 방법 중 하나를 사용합니다.  
**승인된 소스 허용 목록**: 중첩된 문서 실행을 사용해야 하는 경우 SSM 문서 소스에 대한 `ssm:GetDocument`를 제어하는 IAM 정책, Amazon S3 소스에 대한 IAM 및 Amazon S3 버킷 정책, 퍼블릭 인터넷 소스에 대한 네트워크 설정(예: VPC 엔드포인트 또는 보안 그룹) 등 각 소스 유형에 대한 적절한 제어를 사용하여 승인된 소스만 액세스하도록 제한합니다.
**AWS-RunDocument에 대한 액세스 제한**: 중첩된 문서 실행을 방지하려면 IAM 정책에서 `aws:runDocument` 플러그인을 사용하는 `AWS-RunDocument` 및 기타 문서에 대한 `ssm:SendCommand`를 거부합니다.
**권한 경계 사용**: IAM 권한 경계를 구현하여 사용자의 최대 권한을 설정하면 실행 방법에 관계없이 승인되지 않은 문서를 실행하지 못하게 할 수 있습니다.
IAM 모범 사례 및 권한 경계에 대한 자세한 내용을 알아보려면 *AWS Identity and Access Management 사용 설명서*의 [IAM 엔터티의 권한 경계](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)를 참조하세요.

**시작하기 전 준비 사항**  
원격 문서를 실행하기 전에 다음 작업을 완료해야 합니다.
+ SSM Command 문서를 생성하여 원격 위치에 저장합니다. 자세한 내용은 [SSM 문서 콘텐츠 생성](documents-creating-content.md) 섹션을 참조하세요.
+ 프라이빗 GitHub 리포지토리에 저장된 원격 문서를 실행하려는 경우 GitHub 보안 액세스 토큰에 대한 Systems Manager `SecureString` 파라미터를 생성해야 합니다. 수동으로 SSH를 통해 토큰을 전달해서는 프라이빗 GitHub 리포지토리에 저장된 원격 문서에 액세스할 수 없습니다. 액세스 토큰은 Systems Manager `SecureString` 파라미터로 전달되어야 합니다. `SecureString` 파라미터 생성에 대한 자세한 내용은 [Systems Manager에서 Parameter Store 파라미터 생성](sysman-paramstore-su-create.md) 섹션을 참조하세요.

## 원격 문서 실행(콘솔)
<a name="documents-running-remote-github-s3-console"></a>

**원격 문서를 실행하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Run Command**를 선택합니다.

1. **Run command**(실행 명령)를 선택합니다.

1. [**문서(Document)**] 목록에서 **`AWS-RunDocument`**를 선택합니다.

1. **Command parameters(명령 파라미터)**의 **소스 유형**에서 옵션을 선택합니다.
   + **GitHub**를 선택하는 경우 다음 형식으로 **소스 정보**의 정보를 지정합니다.

     ```
     {
         "owner": "owner_name",
         "repository": "repository_name",
         "path": "path_to_document",
         "getOptions":"branch:branch_name",
         "tokenInfo": "{{ssm-secure:secure-string-token}}"
     }
     ```

     예제:

     ```
     {
         "owner":"TestUser",
         "repository":"GitHubTestExamples",
         "path":"scripts/python/test-script",
         "getOptions":"branch:exampleBranch",
         "tokenInfo":"{{ssm-secure:my-secure-string-token}}"
     }
     ```
**참고**  
`getOptions`는 마스터가 아닌 분기 또는 리포지토리의 특정 커밋에서 내용을 검색하는 추가 옵션입니다. 마스터 분기에서 최신 커밋을 사용하는 경우 `getOptions`를 생략할 수 있습니다. `branch` 파라미터는 SSM 문서가 `master`가 아닌 분기에 저장된 경우에만 필요합니다.  
리포지토리의 특정 *커밋*에 있는 SSM 문서의 버전을 사용하려면 `branch`대신 `getOptions`에서 `commitID`를 사용합니다. 예:  

     ```
     "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",
     ```
   + **S3**를 선택하는 경우 다음 형식으로 **Source Info(소스 정보)** 정보를 지정합니다.

     ```
     {"path":"URL_to_document_in_S3"}
     ```

     예:

     ```
     {"path":"https://s3.amazonaws.com/amzn-s3-demo-bucket/scripts/ruby/mySSMdoc.json"}
     ```
   + **SSMDocument**를 선택하는 경우 다음 형식으로 **Source Info(소스 정보)** 정보를 지정합니다.

     ```
     {"name": "document_name"}
     ```

     예:

     ```
     {"name": "mySSMdoc"}
     ```

1. [**문서 파라미터(Document Parameters)**] 필드에서 원격 SSM 문서에 대한 파라미터를 입력합니다. 예를 들어 `AWS-RunPowerShell` 문서를 실행하는 경우 다음을 지정할 수 있습니다.

   ```
   {"commands": ["date", "echo \"Hello World\""]}
   ```

   `AWS-ConfigureAWSPack` 문서를 실행하는 경우 다음을 지정할 수 있습니다.

   ```
   {
      "action":"Install",
      "name":"AWSPVDriver"
   }
   ```

1. **대상(Targets)** 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.
**작은 정보**  
예상한 관리형 노드가 목록에 없으면 [관리형 노드 가용성 문제 해결](fleet-manager-troubleshooting-managed-nodes.md)에서 문제 해결 팁을 참조하세요.

1. **Other parameters**(다른 파라미터):
   + **Comment**(설명)에 명령에 대한 정보를 입력합니다.
   + **제한 시간(초)**에서 전체 명령 실행이 실패할 때까지 시스템이 기다리는 시간을 초 단위로 지정합니다.

1. **Rate control**(속도 제어)에서
   + **Concurrency**(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.
**참고**  
관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.
   + **Error threshold**(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

1. (선택 사항) **Output options**(출력 옵션)에서 명령 출력을 파일에 저장하려면 **Write command output to an S3 bucket**(S3 버킷에 명령 출력 쓰기) 상자를 선택합니다. 상자에 버킷 및 접두사(폴더) 이름을 입력합니다.
**참고**  
데이터를 S3 버킷에 쓰는 기능을 부여하는 S3 권한은 이 작업을 수행하는 IAM 사용자의 권한이 아니라 인스턴스에 할당된 인스턴스 프로파일(EC2 인스턴스용) 또는 IAM 서비스 역할(하이브리드 정품 인증 시스템)의 권한입니다. 자세한 내용은 [Systems Manager에 필요한 인스턴스 권한 구성](setup-instance-permissions.md)이나 [하이브리드 환경을 위한 IAM 서비스 역할 생성](hybrid-multicloud-service-role.md)을 참조하세요. 또한 지정된 S3 버킷이 다른 AWS 계정에 있는 경우 관리형 노드와 연결된 인스턴스 프로파일 또는 IAM 서비스 역할은 해당 버킷에 쓸 수 있는 권한이 있어야 합니다.

1. **SNS notifications**(SNS 알림) 섹션에서, 명령 실행 상태에 대한 알림이 전송되도록 하려면 **Enable SNS notifications**(SNS 알림 활성화) 확인란을 선택합니다.

   Run Command에 대한 Amazon SNS 알림 구성에 대한 자세한 내용은 [Amazon SNS 알림을 사용하여 Systems Manager 상태 변경 모니터링](monitoring-sns-notifications.md) 섹션을 참조하세요.

1. **Run**(실행)을 선택합니다.

**참고**  
Run Command를 사용할 때 서버와 인스턴스를 재부팅하여 스크립트를 호출하는 방법은 [명령 실행 시 재부팅 처리](send-commands-reboot.md) 섹션을 참조하세요.

# SSM 문서 공유
<a name="documents-ssm-sharing"></a>

동일한 AWS 리전에서 계정과 비공개적으로 또는 공개적으로 AWS Systems Manager(SSM) 문서를 공유할 수 있습니다. 문서를 사적으로 공유하려면 문서 권한을 수정하여 특정 개인들이 자신의 AWS 계정 ID에 따라 액세스할 수 있도록 허용합니다. SSM 문서를 공개적으로 공유하려면 문서 권한을 수정하여 `All`로 지정합니다. 문서는 공개 및 비공개로 동시에 공유할 수 없습니다.

**주의**  
신뢰할 수 있는 소스에서 공유된 SSM 문서만 사용합니다. 공유 문서를 사용할 때는 그 전에 문서의 내용을 미리 신중하게 검토하여 해당 문서가 자신의 인스턴스 구성을 어떻게 바꾸어놓을지 이해해야 합니다. 공유 문서 모범 사례에 대한 자세한 내용은 [공유 SSM 문서에 대한 모범 사례](#best-practices-shared) 섹션을 참조하세요.

**제한 사항**  
SSM 문서로 작업을 시작할 때 다음과 같은 제한 사항에 유의합니다.
+ 소유자만이 문서를 공유할 수 있습니다.
+ 문서를 삭제하려면 먼저 문서 공유를 중단해야 합니다. 자세한 내용은 [공유 SSM 문서에 대한 권한 수정](#modify-permissions-shared) 섹션을 참조하세요.
+ 최대 1,000개의 AWS 계정와 문서를 공유할 수 있습니다. [지원 Center](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)에 이 제한에 대한 증가를 요청할 수 있습니다. [**제한 유형(Limit type)**]에서 [*EC2 Systems Manager*]를 선택하고 요청 이유를 설명합니다.
+ 최대 5건의 SSM 문서를 공개적으로 공유할 수 있습니다. [지원 Center](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)에 이 제한에 대한 증가를 요청할 수 있습니다. [**제한 유형(Limit type)**]에서 [*EC2 Systems Manager*]를 선택하고 요청 이유를 설명합니다.
+ 동일한 AWS 리전에서만 다른 계정과 문서를 공유할 수 있습니다. 크로스 리전 공유는 지원되지 않습니다.

**중요**  
Systems Manager에서 *Amazon 소유* SSM 문서는 Amazon Web Services 자체에서 생성하고 관리하는 문서입니다. *Amazon 소유* 문서에는 문서 이름에 접두사(예: `AWS-*`)가 포함됩니다. 문서의 소유자는 AWS 내 특정 사용자 계정이 아닌 Amazon으로 간주됩니다. 이 문서는 누구나 사용할 수 있도록 공개되어 있습니다.

Systems Manager Service Quotas에 대한 자세한 내용은 [AWS Systems Manager Service Quotas 사용 설명서](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)를 참조하세요.

**Topics**
+ [공유 SSM 문서에 대한 모범 사례](#best-practices-shared)
+ [SSM 문서의 퍼블릭 공유 차단](#block-public-access)
+ [SSM 문서 공유](#ssm-how-to-share)
+ [공유 SSM 문서에 대한 권한 수정](#modify-permissions-shared)
+ [공유 SSM 문서 사용](#using-shared-documents)

## 공유 SSM 문서에 대한 모범 사례
<a name="best-practices-shared"></a>

문서를 공유하기 전에 또는 공유된 문서를 사용하기 전에 다음 지침을 읽어보십시오.

**민감한 정보의 삭제**  
AWS Systems Manager(SSM) 문서를 주의 깊게 살펴보고 민감한 정보는 모두 삭제합니다. 예를 들어 문서에 AWS 자격 증명이 포함되지 않도록 합니다. 특정 개인들과 문서를 공유하는 경우, 그 사용자들은 문서에 있는 정보를 볼 수 있습니다. 문서를 공개적으로 공유하는 경우에는 모든 사용자가 그 문서에 있는 정보를 볼 수 있습니다.

**문서의 퍼블릭 공유 차단**  
계정에서 공개적으로 공유된 모든 SSM 문서를 검토하고 계속 공유할지 여부를 확인합니다. 모든 사람과의 문서 공유를 중단하려면 이 항목의 [공유 SSM 문서에 대한 권한 수정](#modify-permissions-shared) 섹션에 설명된 대로 문서 권한 설정을 수정해야 합니다. 퍼블릭 공유 차단 설정을 켜도 현재 모든 사람과 공유하고 있는 문서에는 영향을 주지 않습니다. 사용 사례에서 모든 사람과의 문서를 공유해야 하는 경우가 아니면 Systems Manager Documents 콘솔의 **기본 설정** 섹션에서 SSM 문서의 퍼블릭 공유 차단 설정을 켜는 것이 좋습니다. 이 설정을 켜면 SSM 문서에 대한 원치 않는 액세스를 방지할 수 있습니다. 퍼블릭 공유 차단 설정은 AWS 리전마다 다를 수 있는 계정 수준 설정입니다.

**IAM 신뢰 정책을 사용하여 Run Command 작업 제한**  
문서에 대한 액세스 권한을 얻게 될 사용자들에 대해 제한적인 AWS Identity and Access Management(IAM) 정책을 생성합니다. IAM 정책은 사용자가 Amazon Elastic Compute Cloud(Amazon EC2) 콘솔에서 또는 AWS Command Line Interface(AWS CLI)나 AWS Tools for Windows PowerShell로 `ListDocuments`을 호출하여 볼 수 있는 SSM 문서를 결정합니다. 또한 이 정책은 사용자가 SSM 문서에서 수행할 수 있는 작업을 제한합니다. 제한적인 정책을 생성하여 사용자가 특정 문서만 사용하도록 할 수 있습니다. 자세한 내용은 [고객 관리형 정책 예제](security_iam_id-based-policy-examples.md#customer-managed-policies) 섹션을 참조하세요.

**공유 SSM 문서를 사용할 때는 주의해야 합니다.**  
자신에게 공유된 모든 문서, 특히 퍼블릭 문서의 내용을 검토하여 자신의 인스턴스에서 실행될 명령을 이해합니다. 문서가 실행된 후에는 의도적이든 비의도적이든 부정적인 영향을 미칠 수 있습니다. 문서가 외부 네트워크를 참조하는 경우, 그 문서를 사용하기 전에 외부 소스를 검토하십시오.

**문서 해시를 사용해 명령 전송하기**  
문서를 공유하면 시스템이 SHA256 해시를 생성해 그것을 문서에 할당합니다. 또한 시스템은 문서 내용에 대한 스냅샷을 저장합니다. 공유된 문서를 사용해 명령을 전송할 때 명령에 해시를 지정해 다음 조건이 참이 되도록 할 수 있습니다.  
+ 정확한 Systems Manager 문서에서 명령을 실행하고 있습니다.
+ 문서가 공유된 이후 그 내용이 변경되지 않았습니다.
해시가 지정된 문서와 일치하지 않거나 공유된 문서의 내용이 변경된 경우 명령은 `InvalidDocument` 예외를 반환합니다. 해시는 외부 위치에서 온 문서 내용은 확인할 수 없습니다.

**보간 파라미터를 사용하여 보안 강화**  
SSM 문서의 `String` 유형 파라미터의 경우 파라미터와 값 `interpolationType": "ENV_VAR`을 사용하여 파라미터 입력을 잠재적으로 실행 가능한 명령이 아닌 문자열 리터럴로 처리하여 명령 삽입 공격에 대한 보안을 강화합니다. 이 경우 에이전트는 파라미터의 값을 사용하여 `SSM_parameter-name`이라는 환경 변수를 생성합니다. `String` 유형 파라미터가 포함된 기존 SSM 문서는 모두 `"interpolationType": "ENV_VAR"`을 포함하도록 업데이트하는 것이 좋습니다. 자세한 내용은 [SSM 문서 콘텐츠 작성](documents-creating-content.md#writing-ssm-doc-content) 섹션을 참조하세요.

## SSM 문서의 퍼블릭 공유 차단
<a name="block-public-access"></a>

시작하기 전에 AWS 계정에서 공개적으로 공유된 모든 SSM 문서를 검토하고 계속 공유할지 여부를 확인합니다. 모든 사람과의 SSM 문서 공유를 중단하려면 이 항목의 [공유 SSM 문서에 대한 권한 수정](#modify-permissions-shared) 섹션에 설명된 대로 문서 권한 설정을 수정해야 합니다. 퍼블릭 공유 차단 설정을 켜도 현재 모든 사람과 공유하고 있는 SSM 문서에는 영향을 주지 않습니다. 퍼블릭 공유 차단 설정이 활성화되어 있으면 추가적인 SSM 문서는 모든 사람과 공유할 수 없습니다.

사용 사례에서 모든 사람과의 문서를 공유해야 하는 경우가 아니라면 SSM 문서의 퍼블릭 공유 차단 설정을 켜는 것이 좋습니다. 이 설정을 켜면 SSM 문서에 대한 원치 않는 액세스를 방지할 수 있습니다. 퍼블릭 공유 차단 설정은 AWS 리전마다 다를 수 있는 계정 수준 설정입니다. 다음 태스크를 완료하여 현재 공유하지 않는 모든 SSM 문서에 대한 퍼블릭 공유를 차단하세요.

### 퍼블릭 공유 차단(콘솔)
<a name="block-public-access-console"></a>

**SSM 문서의 퍼블릭 공유를 차단하려면**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. [**기본 설정(Preferences)**]을 선택하고 [**퍼블릭 공유 차단(Block public sharing)**] 섹션에서 [**편집(Edit)**]을 선택합니다.

1. [**퍼블릭 공유 차단(Block public sharing)**] 확인란을 선택하고 [**저장(Save)**]을 선택합니다.

### 퍼블릭 공유 차단(명령줄)
<a name="block-public-access-cli"></a>

로컬 컴퓨터에서 AWS Command Line Interface(AWS CLI) 또는 AWS Tools for Windows PowerShell을 열고 다음 명령을 실행하여 SSM 문서의 퍼블릭 공유를 차단합니다.

------
#### [ Linux & macOS ]

```
aws ssm update-service-setting  \
    --setting-id /ssm/documents/console/public-sharing-permission \
    --setting-value Disable \
    --region 'The AWS 리전 you want to block public sharing in'
```

------
#### [ Windows ]

```
aws ssm update-service-setting ^
    --setting-id /ssm/documents/console/public-sharing-permission ^
    --setting-value Disable ^
    --region "The AWS 리전 you want to block public sharing in"
```

------
#### [ PowerShell ]

```
Update-SSMServiceSetting `
    -SettingId /ssm/documents/console/public-sharing-permission `
    -SettingValue Disable `
    –Region The AWS 리전 you want to block public sharing in
```

------

다음 명령을 사용하여 설정 값이 업데이트되었는지 확인합니다.

------
#### [ Linux & macOS ]

```
aws ssm get-service-setting   \
    --setting-id /ssm/documents/console/public-sharing-permission \
    --region The AWS 리전 you blocked public sharing in
```

------
#### [ Windows ]

```
aws ssm get-service-setting  ^
    --setting-id /ssm/documents/console/public-sharing-permission ^
    --region "The AWS 리전 you blocked public sharing in"
```

------
#### [ PowerShell ]

```
Get-SSMServiceSetting `
    -SettingId /ssm/documents/console/public-sharing-permission `
    -Region The AWS 리전 you blocked public sharing in
```

------

### 액세스를 제한하여 IAM과의 퍼블릭 공유 차단
<a name="block-public-access-changes-iam"></a>

사용자가 퍼블릭 공유 차단 설정을 수정하지 못하도록 제한하는 AWS Identity and Access Management(IAM) 정책을 생성할 수 있습니다. 이렇게 하면 사용자가 SSM 문서에 대한 원치 않는 액세스를 허용할 수 없습니다.

다음은 사용자가 퍼블릭 공유 차단 설정을 업데이트하지 못하도록 하는 IAM 정책의 예입니다. 이 예를 사용하려면 예제 Amazon Web Services 계정 ID를 사용자의 계정 ID로 바꿔야 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "ssm:UpdateServiceSetting",
            "Resource": "arn:aws:ssm:*:444455556666:servicesetting/ssm/documents/console/public-sharing-permission"
        }
    ]
}
```

------

## SSM 문서 공유
<a name="ssm-how-to-share"></a>

Systems Manager 콘솔을 사용하여 AWS Systems Manager(SSM) 문서를 공유할 수 있습니다. 콘솔의 문서를 공유하는 경우 문서의 기본 버전만 공유할 수 있습니다. AWS Command Line Interface(AWS CLI), AWS Tools for Windows PowerShell 또는 AWS SDK를 사용하여 `ModifyDocumentPermission` API 작업을 호출하여 프로그래밍 방식으로 SSM 문서를 공유할 수도 있습니다. 문서를 공유하기 전에 먼저 공유하고자 하는 사람들의 AWS 계정 ID가 있어야 합니다. 문서를 공유할 때 이들 계정 ID를 지정해야 합니다.

### 문서 공유(콘솔)
<a name="share-using-console"></a>

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. 문서 목록에서 공유하고자 하는 문서를 선택한 후 **세부 정보 보기(View details)**를 선택합니다. [**권한(Permissions)**] 탭에서 자신이 문서의 소유자인지 확인합니다. 문서 소유자만이 문서를 공유할 수 있습니다.

1. **편집**을 선택합니다.

1. 명령을 공개적으로 공유하려면 **퍼블릭**을 선택한 후, **저장**을 선택합니다. 명령을 사적으로 공유하려면 [**프라이빗(Private)**]을 선택하고 AWS 계정 ID를 입력하고 [**권한 추가(Add permission)**]를 선택한 후 [**저장(Save)**]을 선택합니다.

### 문서 공유(명령줄)
<a name="share-using-cli"></a>

다음 절차를 수행하려면 명령줄 세션에 대해 AWS 리전을 지정해야 합니다.

1. 로컬 컴퓨터에서 AWS CLI 또는 AWS Tools for Windows PowerShell을 열고 다음 명령을 실행하여 자격 증명을 지정합니다.

   다음 명령에서 *region*을 자신의 정보로 바꿉니다. 지원되는 *리전* 값 목록은 **Amazon Web Services 일반 참조의 [Systems Manager 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)에 있는 **리전** 열을 참조하세요.

------
#### [ Linux & macOS ]

   ```
   aws config
   
   AWS Access Key ID: [your key]
   AWS Secret Access Key: [your key]
   Default region name: region
   Default output format [None]:
   ```

------
#### [ Windows ]

   ```
   aws config
   
   AWS Access Key ID: [your key]
   AWS Secret Access Key: [your key]
   Default region name: region
   Default output format [None]:
   ```

------
#### [ PowerShell ]

   ```
   Set-AWSCredentials –AccessKey your key –SecretKey your key
   Set-DefaultAWSRegion -Region region
   ```

------

1. 다음 명령을 실행하여 사용 가능한 모든 SSM 문서를 나열합니다. 목록에는 자신이 생성한 문서와 자신에게 공유된 문서가 포함됩니다.

------
#### [ Linux & macOS ]

   ```
   aws ssm list-documents
   ```

------
#### [ Windows ]

   ```
   aws ssm list-documents
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentList
   ```

------

1. 다음 명령을 사용하여 특정 문서를 얻습니다.

------
#### [ Linux & macOS ]

   ```
   aws ssm get-document \
       --name document name
   ```

------
#### [ Windows ]

   ```
   aws ssm get-document ^
       --name document name
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocument `
       –Name document name
   ```

------

1. 다음 명령을 사용하여 문서에 대한 설명을 봅니다.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-document \
       --name document name
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-document ^
       --name document name
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentDescription `
       –Name document name
   ```

------

1. 다음 명령을 사용하여 문서에 대한 권한을 확인합니다.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-document-permission \
       --name document name \
       --permission-type Share
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-document-permission ^
       --name document name ^
       --permission-type Share
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentPermission `
       –Name document name `
       -PermissionType Share
   ```

------

1. 다음 명령을 사용하여 문서에 대한 권한을 수정한 후 문서를 공유합니다. 권한을 편집하기 위해서는 문서의 소유자이어야 합니다. (선택 사항) 특정 AWS 계정 ID를 사용하여 공유되는 문서의 경우 `--shared-document-version` 파라미터를 사용하여 공유하려는 문서의 버전을 지정할 수 있습니다. 버전을 지정하지 않으면 시스템에서 문서의 `Default` 버전을 공유합니다. `all`을 사용하여 문서를 공개적으로 공유하는 경우 기본적으로 지정된 문서의 모든 버전이 공유됩니다. 다음 예제 명령에서는 특정 사용자의 AWS 계정 ID에 따라 문서를 해당 사용자와 비공개로 공유합니다.

------
#### [ Linux & macOS ]

   ```
   aws ssm modify-document-permission \
       --name document name \
       --permission-type Share \
       --account-ids-to-add AWS 계정 ID
   ```

------
#### [ Windows ]

   ```
   aws ssm modify-document-permission ^
       --name document name ^
       --permission-type Share ^
       --account-ids-to-add AWS 계정 ID
   ```

------
#### [ PowerShell ]

   ```
   Edit-SSMDocumentPermission `
       –Name document name `
       -PermissionType Share `
       -AccountIdsToAdd AWS 계정 ID
   ```

------

1. 다음 명령을 사용하여 문서를 공개적으로 공유합니다.
**참고**  
`all`을 사용하여 문서를 공개적으로 공유하는 경우 기본적으로 지정된 문서의 모든 버전이 공유됩니다.

------
#### [ Linux & macOS ]

   ```
   aws ssm modify-document-permission \
       --name document name \
       --permission-type Share \
       --account-ids-to-add 'all'
   ```

------
#### [ Windows ]

   ```
   aws ssm modify-document-permission ^
       --name document name ^
       --permission-type Share ^
       --account-ids-to-add "all"
   ```

------
#### [ PowerShell ]

   ```
   Edit-SSMDocumentPermission `
       -Name document name `
       -PermissionType Share `
       -AccountIdsToAdd ('all')
   ```

------

## 공유 SSM 문서에 대한 권한 수정
<a name="modify-permissions-shared"></a>

명령을 공유하면 사용자들은 AWS Systems Manager(SSM) 문서에 대한 액세스 권한을 제거하거나 SSM 문서를 삭제할 때까지 그 명령을 보고 사용할 수 있습니다. 그러나 문서가 공유되고 있는 한 삭제는 할 수 없습니다. 먼저 공유를 중단하고 나서 삭제해야 합니다.

### 문서 공유 중지(콘솔)
<a name="unshare-using-console"></a>

**문서 공유 중단**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. 문서 목록에서 공유를 중단하고자 하는 문서를 선택한 후 **세부 정보**를 선택합니다. **권한** 섹션에서 자신이 문서의 소유자인지 확인합니다. 문서 소유자만이 문서 공유를 중단할 수 있습니다.

1. **편집**을 선택합니다.

1. **X**를 선택하여 명령에 대한 액세스 권한이 있어서는 안 되는 AWS 계정 ID를 삭제한 다음 [**저장(Save)**]을 선택합니다.

### 문서 공유 중지(명령줄)
<a name="unshare-using-cli"></a>

로컬 컴퓨터에서 AWS CLI 또는 AWS Tools for Windows PowerShell을 열고 다음 명령을 실행하여 명령 공유를 중지합니다.

------
#### [ Linux & macOS ]

```
aws ssm modify-document-permission \
    --name document name \
    --permission-type Share \
    --account-ids-to-remove 'AWS 계정 ID'
```

------
#### [ Windows ]

```
aws ssm modify-document-permission ^
    --name document name ^
    --permission-type Share ^
    --account-ids-to-remove "AWS 계정 ID"
```

------
#### [ PowerShell ]

```
Edit-SSMDocumentPermission `
    -Name document name `
    -PermissionType Share `
    –AccountIdsToRemove AWS 계정 ID
```

------

## 공유 SSM 문서 사용
<a name="using-shared-documents"></a>

AWS Systems Manager(SSM) 문서를 공유하면 시스템은 Amazon 리소스 이름(ARN)을 생성하고 명령에 할당합니다. Systems Manager 콘솔에서 공유 문서를 선택하고 실행하면 ARN이 보이지 않습니다. 그러나 공유 SSM 문서를 Systems Manager 콘솔이 아닌 다른 방법으로 실행하고자 한다면 `DocumentName` 요청 파라미터에 대한 문서의 전체 ARN을 지정해야 합니다. 이 명령을 실행해 문서를 나열하면 SSM 문서에 대한 전체 ARN이 나타납니다.

**참고**  
AWS 퍼블릭 문서(`AWS-*`로 시작하는 문서)나 자신이 소유한 문서에 대해서는 ARN을 지정할 필요가 없습니다.

### 공유 SSM 문서 사용(명령줄)
<a name="using-shared-documents-cli"></a>

 **퍼블릭 SSM 문서를 모두 나열** 

------
#### [ Linux & macOS ]

```
aws ssm list-documents \
    --filters Key=Owner,Values=Public
```

------
#### [ Windows ]

```
aws ssm list-documents ^
    --filters Key=Owner,Values=Public
```

------
#### [ PowerShell ]

```
$filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
$filter.Key = "Owner"
$filter.Values = "Public"

Get-SSMDocumentList `
    -Filters @($filter)
```

------

 **자신에게 공유된 프라이빗 SSM 문서를 나열** 

------
#### [ Linux & macOS ]

```
aws ssm list-documents \
    --filters Key=Owner,Values=Private
```

------
#### [ Windows ]

```
aws ssm list-documents ^
    --filters Key=Owner,Values=Private
```

------
#### [ PowerShell ]

```
$filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
$filter.Key = "Owner"
$filter.Values = "Private"

Get-SSMDocumentList `
    -Filters @($filter)
```

------

 **사용할 수 있는 모든 SSM 문서를 나열** 

------
#### [ Linux & macOS ]

```
aws ssm list-documents
```

------
#### [ Windows ]

```
aws ssm list-documents
```

------
#### [ PowerShell ]

```
Get-SSMDocumentList
```

------

 **자신에게 공유된 SSM 문서에 대한 정보 확인** 

------
#### [ Linux & macOS ]

```
aws ssm describe-document \
    --name arn:aws:ssm:us-east-2:12345678912:document/documentName
```

------
#### [ Windows ]

```
aws ssm describe-document ^
    --name arn:aws:ssm:us-east-2:12345678912:document/documentName
```

------
#### [ PowerShell ]

```
Get-SSMDocumentDescription `
    –Name arn:aws:ssm:us-east-2:12345678912:document/documentName
```

------

 **공유 SSM 문서 실행** 

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name arn:aws:ssm:us-east-2:12345678912:document/documentName \
    --instance-ids ID
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name arn:aws:ssm:us-east-2:12345678912:document/documentName ^
    --instance-ids ID
```

------
#### [ PowerShell ]

```
Send-SSMCommand `
    –DocumentName arn:aws:ssm:us-east-2:12345678912:document/documentName `
    –InstanceIds ID
```

------

# SSM 문서 검색
<a name="ssm-documents-searching"></a>

자유 텍스트 검색 또는 필터 기반 검색을 사용하여 AWS Systems Manager(SSM) 문서 저장소에서 SSM 문서를 검색할 수 있습니다. 자주 사용하는 SSM 문서를 찾는 데 도움이 되도록 문서를 즐겨찾기에 추가할 수도 있습니다. 다음 섹션에서는 이러한 기능을 사용하는 방법을 설명합니다.

## 자유 텍스트 검색 사용
<a name="ssm-documents-searching-free-text"></a>

Systems Manager [**Documents**] 페이지의 검색 상자에서 자유 텍스트 검색을 지원합니다. 자유 텍스트 검색은 입력한 검색어를 각 SSM 문서의 문서 이름과 비교합니다. 단일 검색어(예: **ansible**)를 입력하면 Systems Manager는 이 용어가 발견된 모든 SSM 문서를 반환합니다. 여러 검색어를 입력하면 Systems Manager는 `OR` 문을 사용하여 검색합니다. 예를 들어 **ansible** 및 **linux**을 지정하면 검색 시 이름에 *두 키워드 중 하나*가 포함된 모든 문서가 반환됩니다.

자유 텍스트 검색어를 입력하고 [**플랫폼 유형(Platform type)**]과 같은 검색 옵션을 선택하면 검색에 `AND` 문이 사용되고 이름에 키워드를 포함하는 지정된 플랫폼 유형의 모든 문서가 반환됩니다.

**참고**  
자유 텍스트 검색에 대한 다음 세부 정보에 유의합니다.  
자유 텍스트 검색은 대/소문자를 구분하지 *않습니다*.
검색어는 최소 3자, 최대 20자여야 합니다.
자유 텍스트 검색은 최대 5개의 검색어를 허용합니다.
검색어 사이에 공백을 입력하면 검색 시 공백이 포함됩니다.
자유 텍스트 검색을 [**문서 유형(Document type)**] 또는 [**플랫폼 유형(Platform type)**]과 같은 다른 검색 옵션과 결합할 수 있습니다.
[**문서 이름 접두사(Document Name Prefix)**] 필터와 자유 텍스트 검색은 상호 배타적이므로 함께 사용할 수 없습니다.

**SSM 문서를 검색하려면**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. 검색 상자에 검색어를 입력하고 Enter 키를 누릅니다.

### AWS CLI를 사용하여 자유 텍스트 문서 검색 수행
<a name="ssm-documents-searching-free-text-cli"></a>

**CLI를 사용하여 자유 텍스트 문서 검색을 수행하려면**

1. 아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)을 설치하고 구성합니다.

   자세한 내용은 [최신 버전의 AWS CLI 설치 또는 업데이트](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

1. 한 용어로 자유 텍스트 문서 검색을 수행하려면 다음 명령을 실행합니다. 이 명령에서 *search\$1term*을 자신의 정보로 바꿉니다.

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="search_term"
   ```

   다음은 그 예입니다.

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="aws-asg" --region us-east-2
   ```

   `AND` 문을 생성하는 여러 용어를 사용하여 검색하려면 다음 명령을 실행합니다. 이 명령에서 *search\$1term\$11*과 *search\$1term\$12*를 자신의 정보로 바꿉니다.

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="search_term_1","search_term_2","search_term_3" --region us-east-2
   ```

   다음은 그 예입니다.

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="aws-asg","aws-ec2","restart" --region us-east-2
   ```

## 필터 사용
<a name="ssm-documents-searching-filters"></a>

검색 상자를 선택하면 Systems Manager [**Documents**] 페이지에 자동으로 다음 필터가 표시됩니다.
+ 문서 이름 접두사
+ 플랫폼 유형
+ 문서 유형
+ 태그 키

![\[SSM Documents 페이지의 필터 옵션\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/images/ssm-documents-filters-1.png)


단일 필터를 사용하여 SSM 문서를 검색할 수 있습니다. 좀 더 구체적인 SSM 문서 집합을 반환하려는 경우 여러 필터를 적용할 수 있습니다. 다음은 [**플랫폼 유형(Platform types)**] 및 [**문서 이름 접두사(Document name prefix)**] 필터를 사용하는 검색의 예입니다.

![\[SSM Documents 페이지에서 여러 필터 옵션 적용\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/images/ssm-documents-filters-2.png)


여러 필터를 적용하는 경우 Systems Manager는 선택한 필터에 따라 다른 검색 문을 생성합니다.
+ *동일한* 필터를 여러 번 적용하는 경우(예: [**문서 이름 접두사(Document name prefix)**]) Systems Manager는 `OR` 문을 사용하여 검색합니다. 예를 들어 [**문서 이름 접두사(Document name prefix)**]=**AWS** 필터 하나와 [**문서 이름 접두사(Document name prefix)**]=**Lambda** 필터를 또 하나 지정하는 경우 검색 시 접두사 "`AWS`"가 있는 모든 문서와 접두사 "`Lambda`"가 있는 모든 문서가 반환됩니다.
+ *여러* 필터를 적용하는 경우(예: **문서 이름 접두사(Document name prefix)** 및 **플랫폼 유형(Platform types)**) Systems Manager는 `AND` 명령문을 사용하여 검색합니다. 예를 들어 **문서 이름 접두사**=**AWS** 필터와 **플랫폼 유형(Platform types)**=**Linux** 필터를 지정하면 검색 시 Linux 플랫폼에 특정한 접두사 "`AWS`"가 있는 모든 문서가 반환됩니다.

**참고**  
필터를 사용하는 검색은 대/소문자를 구분합니다.

## 즐겨찾기에 문서 추가
<a name="favorite-documents"></a>

자주 사용하는 SSM 문서를 찾는 데 도움이 되도록 문서를 즐겨찾기에 추가합니다. 문서 유형, AWS 계정 및 AWS 리전로 최대 20개의 문서를 즐겨찾기에 추가할 수 있습니다. 문서 AWS Management Console에서 즐겨찾기를 선택, 수정 및 확인할 수 있습니다. 다음 절차에서는 즐겨찾기를 선택하고 수정하고 보는 방법을 설명합니다.

**즐겨찾기에 SSM 문서 추가**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. 즐겨찾기에 추가하려는 문서 이름 옆의 별표 아이콘을 선택합니다.

**즐겨찾기에서 SSM 문서 제거**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. 즐겨찾기에서 제거하려는 문서 이름 옆의 별표 아이콘 선택을 취소합니다.

**문서 AWS Management Console에서 즐겨찾기 보기**

1. AWS Systems Manager 콘솔([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/))을 엽니다.

1. 탐색 창에서 **Documents**를 선택합니다.

1. **즐겨찾기** 탭을 선택합니다.