SSM 문서 공유 - AWS Systems Manager

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SSM 문서 공유

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

주의

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

제한 사항

SSM 문서로 작업을 시작할 때 다음과 같은 제한 사항에 유의합니다.

  • 소유자만이 문서를 공유할 수 있습니다.

  • 문서를 삭제하려면 먼저 문서 공유를 중단해야 합니다. 자세한 설명은 공유 SSM 문서에 대한 권한 수정 섹션을 참조하세요.

  • 최대 1000개의 문서를 공유할 수 있습니다. AWS 계정AWS Support Center에 이 제한에 대한 증가를 요청할 수 있습니다. [제한 유형(Limit type)]에서 [EC2 Systems Manager]를 선택하고 요청 이유를 설명합니다.

  • 최대 5건의 SSM 문서를 공개적으로 공유할 수 있습니다. AWS Support Center에 이 제한에 대한 증가를 요청할 수 있습니다. [제한 유형(Limit type)]에서 [EC2 Systems Manager]를 선택하고 요청 이유를 설명합니다.

  • 문서는 동일한 AWS 리전 계정으로만 다른 계정과 공유할 수 있습니다. 크로스 리전 공유는 지원되지 않습니다.

Systems Manager Service Quotas에 대한 자세한 내용은 AWS Systems Manager Service Quotas 사용 설명서를 참조하세요.

공유 SSM 문서에 대한 모범 사례

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

민감한 정보의 삭제

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

문서의 퍼블릭 공유 차단

사용 사례에서 퍼블릭 공유를 설정해야 하는 경우가 아니면 Systems Manager Documents 콘솔의 [기본 설정(Preferences)] 섹션에서 Systems Manager Documents의 퍼블릭 공유 차단 설정을 켜는 것이 좋습니다.

IAM 신뢰 정책을 사용하여 Run Command 작업 제한

문서에 액세스할 수 있는 사용자를 위한 제한적 AWS Identity and Access Management (IAM) 정책을 생성하십시오. IAM 정책은 사용자가 Amazon Elastic Compute Cloud (Amazon EC2) 콘솔에서 또는 () 또는 를 사용하여 ListDocuments 호출하여 볼 수 있는 SSM 문서를 결정합니다. AWS Command Line Interface AWS CLI AWS Tools for Windows PowerShell또한 이 정책은 사용자가 SSM 문서에서 수행할 수 있는 작업을 제한합니다. 제한적인 정책을 생성하여 사용자가 특정 문서만 사용하도록 할 수 있습니다. 자세한 설명은 고객 관리형 정책 예 섹션을 참조하세요.

공유 SSM 문서를 사용할 때는 주의해야 합니다.

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

문서 해시를 사용해 명령 전송하기

문서를 공유하면 시스템이 SHA256 해시를 생성해 그것을 문서에 할당합니다. 또한 시스템은 문서 내용에 대한 스냅샷을 저장합니다. 공유된 문서를 사용해 명령을 전송할 때 명령에 해시를 지정해 다음 조건이 참이 되도록 할 수 있습니다.

  • 정확한 Systems Manager 문서에서 명령을 실행하고 있습니다.

  • 문서가 공유된 이후 그 내용이 변경되지 않았습니다.

해시가 지정된 문서와 일치하지 않거나 공유된 문서의 내용이 변경된 경우 명령은 InvalidDocument 예외를 반환합니다. 해시는 외부 위치에서 온 문서 내용은 확인할 수 없습니다.

SSM 문서의 퍼블릭 공유 차단

사용 사례에서 공개 공유를 켜야 하는 경우가 아니라면 AWS Systems Manager (SSM) 문서에 대해 공개 공유 차단 설정을 켜는 것이 좋습니다. 이 설정을 켜면 SSM 문서에 대한 원치 않는 액세스를 방지할 수 있습니다. 공개 공유 차단 설정은 계정 수준 설정이며 각 AWS 리전설정마다 다를 수 있습니다. SSM 문서의 퍼블릭 공유를 차단하려면 다음 태스크를 수행합니다.

퍼블릭 공유 차단(콘솔)

SSM 문서의 퍼블릭 공유를 차단하려면
  1. https://console.aws.amazon.com/systems-manager/ 에서 AWS Systems Manager 콘솔을 엽니다.

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

    -또는-

    AWS Systems Manager 홈 페이지가 먼저 열리면 메뉴 아이콘 ( 
    The menu icon
  ) 을 선택하여 탐색 창을 연 다음 탐색 창에서 [Documents] 를 선택합니다.

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

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

퍼블릭 공유 차단(명령줄)

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과의 퍼블릭 공유 차단

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

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

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

SSM 문서 공유

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

문서 공유(콘솔)

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

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

    -또는-

    AWS Systems Manager 홈 페이지가 먼저 열리면 메뉴 아이콘 ( 
    The menu icon
  ) 을 선택하여 탐색 창을 연 다음 탐색 창에서 [Documents] 를 선택합니다.

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

  4. 편집을 선택합니다.

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

문서 공유(명령줄)

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

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

    다음 명령에서 region을 자신의 정보로 바꿉니다. 지원되는 리전 값 목록은 Amazon Web Services 일반 참조의 Systems Manager 서비스 엔드포인트에 있는 리전 열을 참조하세요.

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

    Linux & macOS
    aws ssm list-documents
    Windows
    aws ssm list-documents
    PowerShell
    Get-SSMDocumentList
  3. 다음 명령을 사용하여 특정 문서를 얻습니다.

    Linux & macOS
    aws ssm get-document \ --name document name
    Windows
    aws ssm get-document ^ --name document name
    PowerShell
    Get-SSMDocument ` –Name document name
  4. 다음 명령을 사용하여 문서에 대한 설명을 봅니다.

    Linux & macOS
    aws ssm describe-document \ --name document name
    Windows
    aws ssm describe-document ^ --name document name
    PowerShell
    Get-SSMDocumentDescription ` –Name document name
  5. 다음 명령을 사용하여 문서에 대한 권한을 확인합니다.

    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
  6. 다음 명령을 사용하여 문서에 대한 권한을 수정한 후 문서를 공유합니다. 권한을 편집하기 위해서는 문서의 소유자이어야 합니다. 선택적으로 --shared-document-version 파라미터를 사용하여 공유하려는 문서 버전을 지정할 수 있습니다. 버전을 지정하지 않으면 시스템에서 문서의 Default 버전을 공유합니다. 예제 명령에서는 해당자의 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
  7. 다음 명령을 사용하여 문서를 공개적으로 공유합니다.

    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 문서에 대한 권한 수정

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

문서 공유 중지(콘솔)

문서 공유 중단
  1. https://console.aws.amazon.com/systems-manager/ 에서 AWS Systems Manager 콘솔을 엽니다.

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

    -또는-

    AWS Systems Manager 홈 페이지가 먼저 열리면 메뉴 아이콘 ( 
    The menu icon
  ) 을 선택하여 탐색 창을 연 다음 탐색 창에서 [Documents] 를 선택합니다.

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

  4. 편집을 선택합니다.

  5. 명령에 더 이상 액세스할 수 없어야 하는 AWS 계정 ID를 삭제하려면 X를 선택한 다음 [Save] 를 선택합니다.

문서 공유 중지(명령줄)

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

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 문서 사용

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

참고

AWS 공개 문서 (로 시작하는 문서AWS-*) 또는 소유한 문서에는 ARN을 지정할 필요가 없습니다.

공유 SSM 문서 사용(명령줄)

퍼블릭 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