

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

# AMS의 직접 변경 모드
<a name="direct-change-mode-section"></a>

**Topics**
+ [직접 변경 모드 시작하기](dcm-get-started.md)
+ [보안 및 규정 준수](dcm-security-n-compliance.md)
+ [직접 변경 모드에서 변경 관리](dcm-change-mgmt.md)
+ [Direct Change 모드를 사용하여 스택 생성](dcm-creating-stacks.md)
+ [직접 변경 모드 사용 사례](dcm-use-cases.md)

AWS Managed Services(AMS) Direct Change 모드(DCM)는 AMS Advanced Plus 및 Premium 계정에 대한 기본 AWS 액세스를 제공하여 AWS 리소스를 프로비저닝하고 업데이트함으로써 AMS Advanced 변경 관리를 확장합니다. DCM을 사용하면 네이티브 AWS API(콘솔 또는 CLI/SDK) 또는 AMS Advanced 변경 관리 요청(RFCs)을 사용할 수 있으며, 두 경우 모두 모니터링, 패치, 백업, 인시던트 대응 관리를 포함하여 리소스 및 변경 사항이 AMS에서 완전히 지원됩니다. DCM을 통해 프로비저닝된 리소스는 AMS 서비스 지식 관리 시스템(SKMS)에 등록되고, AMS 관리형 Active Directory 도메인(해당하는 경우)에 조인되며, AMS 관리 에이전트를 실행합니다. 기존 도구(예: CloudFormation, AWS SDK 및 CDK)를 사용하여 AMS 관리형 CloudFormation 스택을 개발하고 배포합니다.

**참고**  
직접 변경 모드는 AMS 변경 관리 RFCs 제거하지 않습니다. DCM을 사용하여 AMS RFCs 대한 전체 액세스 권한을 가집니다.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/Qu1aKIUPT28?si=KrOqr8pniwfh7Nob/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/Qu1aKIUPT28?si=KrOqr8pniwfh7Nob)


# 직접 변경 모드 시작하기
<a name="dcm-get-started"></a>

먼저 사전 조건을 확인한 다음 적격 AMS Advanced 계정에서 변경 요청(RFC)을 제출합니다.

1. DCM과 함께 사용하려는 계정이 요구 사항을 충족하는지 확인합니다.
   + 계정은 AMS Advanced Plus 또는 Premium입니다.
   + 계정에 Service Catalog가 활성화되어 있지 않습니다. 현재 DCM과 Service Catalog 모두에 동시에 계정을 온보딩하는 것은 지원하지 않습니다. 이미 Service Catalog에 온보딩되어 있지만 DCM에 관심이 있는 경우 클라우드 서비스 제공 관리자(CSDM)와 요구 사항에 대해 논의하세요. Service Catalog에서 DCM으로 전환하기로 결정한 경우 Service Catalog를 오프보드하여 이를 수행하려면 아래 변경 요청에 요청을 포함하세요. AMS의 Service Catalog에 대한 자세한 내용은 [AMS 및 Service Catalog](https://docs.aws.amazon.com/managedservices/latest/userguide/ams-service-catalog.html)를 참조하세요.

1. 관리 \$1 관리형 계정 \$1 직접 변경 모드 \$1 변경 유형 활성화(ct-3rd4781c2nnhp)를 사용하여 변경 요청(RFC)을 제출합니다. 예제 연습은 [직접 변경 모드 \$1 활성화](https://docs.aws.amazon.com/managedservices/latest/ctref/management-managed-direct-change-mode-enable.html)를 참조하세요.

   CT가 처리되면 미리 정의된 IAM 역할 `AWSManagedServicesCloudFormationAdminRole` 및 `AWSManagedServicesUpdateRole`가 지정된 계정에 프로비저닝됩니다.

1. 내부 페더레이션 프로세스를 사용하여 DCM 액세스가 필요한 사용자에게 적절한 역할을 할당합니다.

**참고**  
원하는 수의 SAMLIdentityProviders, AWS Services 및 IAM 엔터티(역할, 사용자 등)를 지정하여 역할을 수임할 수 있습니다. `SAMLIdentityProviderARNs`, `IAMEntityARNs`또는 중 하나 이상을 제공해야 합니다`AWSServicePrincipals`. 자세한 내용은 회사의 IAM 부서 또는 AMS 클라우드 아키텍트(CA)에 문의하세요.

## 직접 변경 모드 IAM 역할 및 정책
<a name="dcm-gs-iam-roles-and-policies"></a>

계정에서 직접 변경 모드가 활성화되면 다음과 같은 새 IAM 엔터티가 배포됩니다.

`AWSManagedServicesCloudFormationAdminRole`:이 역할은 CloudFormation 콘솔에 대한 액세스 권한을 부여하고, CloudFormation 스택을 생성 및 업데이트하고, 드리프트 보고서를 보고, CloudFormation ChangeSets를 생성 및 실행합니다. 이 역할에 대한 액세스는 SAML 공급자를 통해 관리됩니다.

역할에`AWSManagedServicesCloudFormationAdminRole` 배포되고 연결된 관리형 정책은 다음과 같습니다.
+ AMS 고급 다중 계정 랜딩 존(MALZ) 애플리케이션 계정
  + AWSManagedServices\$1CloudFormationAdminPolicy1
  + AWSManagedServices\$1CloudFormationAdminPolicy2
    + 이 정책은에 부여된 권한을 나타냅니다`AWSManagedServicesCloudFormationAdminRole`. 사용자와 파트너는이 정책을 사용하여 계정의 기존 역할에 대한 액세스 권한을 부여하고 해당 역할이 계정의 CloudFormation 스택을 시작하고 업데이트하도록 허용합니다. 다른 IAM 엔터티가 CloudFormation 스택을 시작하도록 허용하려면 추가 AMS 서비스 제어 정책(SCP) 업데이트가 필요할 수 있습니다.
+ AMS 고급 단일 계정 랜딩 존(SALZ) 계정
  + AWSManagedServices\$1CloudFormationAdminPolicy1
  + AWSManagedServices\$1CloudFormationAdminPolicy2
  + cdk-legacy-mode-s3-access[인라인 정책]
  + AWS ReadOnlyAccess 정책

`AWSManagedServicesUpdateRole`:이 역할은 다운스트림 AWS 서비스 APIs에 대한 제한된 액세스 권한을 부여합니다. 역할은 변경 및 비변환 API 작업을 제공하는 관리형 정책과 함께 배포되지만, 일반적으로 IAM, KMS,GuardDuty, VPC, AMS 인프라 리소스 및 구성 등과 같은 특정 서비스에 대해 변경 작업(예: Create/Delete/PUT)을 제한합니다.이 역할에 대한 액세스는 SAML 공급자를 통해 관리됩니다.

역할에`AWSManagedServicesUpdateRole` 배포되고 연결된 관리형 정책은 다음과 같습니다.
+ AMS Advanced 다중 계정 랜딩 존 애플리케이션 계정
  + AWSManagedServicesUpdateBasePolicy 
  + AWSManagedServicesUpdateDenyPolicy 
  + AWSManagedServicesUpdateDenyProvisioningPolicy 
  + AWSManagedServicesUpdateEC2AndRDSPolicy 
  + AWSManagedServicesUpdateDenyActionsOnAMSInfraPolicy
+ AMS Advanced 단일 계정 랜딩 존 계정
  + AWSManagedServicesUpdateBasePolicy 
  + AWSManagedServicesUpdateDenyProvisioningPolicy 
  + AWSManagedServicesUpdateEC2AndRDSPolicy 
  + AWSManagedServicesUpdateDenyActionsOnAMSInfraPolicy1 
  + AWSManagedServicesUpdateDenyActionsOnAMSInfraPolicy2

이 외에도 관리형 정책`AWSManagedServicesUpdateRole` 역할에는 AWS 관리형 정책이 `ViewOnlyAccess` 연결되어 있습니다.

# 보안 및 규정 준수
<a name="dcm-security-n-compliance"></a>

보안 및 규정 준수는 AMS Advanced와 고객 간의 공동 책임입니다. AMS 고급 직접 변경 모드는이 공동 책임을 변경하지 않습니다.

## 직접 변경 모드의 보안
<a name="dcm-security"></a>

AMS Advanced는 규범적 랜딩 존, 변경 관리 시스템 및 액세스 관리를 통해 추가 가치를 제공합니다. 직접 변경 모드를 사용하는 경우이 책임 모델은 변경되지 않습니다. 그러나 추가 위험을 알고 있어야 합니다.

직접 변경 모드 "업데이트" 역할( 참조[직접 변경 모드 IAM 역할 및 정책](dcm-get-started.md#dcm-gs-iam-roles-and-policies))은 계정 내에서 AMS 지원 서비스의 인프라 리소스를 변경할 수 있도록 엔터티가 액세스할 수 있는 승격된 권한을 제공합니다. 권한이 높아지면 리소스, 서비스 및 작업에 따라 다양한 위험이 존재합니다. 특히 감독, 실수 또는 내부 프로세스 및 제어 프레임워크 준수 부족으로 인해 잘못된 변경이 이루어지는 상황에서는 더욱 그렇습니다.

AMS 기술 표준에 따라 다음과 같은 위험이 식별되었으며 권장 사항은 다음과 같습니다. AMS 기술 표준에 대한 자세한 내용은를 통해 확인할 수 있습니다 AWS Artifact. 에 액세스하려면 CSDM에 AWS Artifact문의하여 지침을 받거나 [시작하기로 AWS Artifact](https://aws.amazon.com/artifact/getting-started) 이동합니다.

**AMS-STD-001: 태그 지정**

<a name="AMS-STD-001"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/managedservices/latest/onboardingguide/dcm-security-n-compliance.html)

**AMS-STD-002: Identity and Access Management(IAM)**


| 표준 | 깨졌나요? | 위험 | 권장 사항 | 
| --- | --- | --- | --- | 
| 4.7 변경 관리 프로세스(RFC)를 우회하는 작업은 인스턴스 시작 또는 중지, S3 버킷 또는 RDS 인스턴스 생성 등과 같이 허용되지 않아야 합니다. 개발자 모드 계정 및 셀프 서비스 프로비저닝 모드 서비스(SSPS)는 작업이 할당된 역할의 경계 내에서 수행되는 한 면제됩니다. | 예. 셀프 서비스 작업의 목적을 통해 AMS RFC 시스템을 우회하는 작업을 수행할 수 있습니다. | 보안 액세스 모델은 AMS의 핵심 기술 패싯이며 콘솔 또는 프로그래밍 방식의 액세스를 위한 IAM 사용자는이 액세스 제어를 우회합니다. IAM 사용자 액세스는 AMS 변경 관리에서 모니터링되지 않습니다. 액세스는 CloudTrail에만 로깅됩니다. | IAM 사용자는 시간 제한을 두고 최소 권한과 need-to-know 따라 권한을 부여받아야 합니다. | 

**AMS-STD-003: 네트워크 보안**

<a name="AMS-STD-003"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/managedservices/latest/onboardingguide/dcm-security-n-compliance.html)

**AMS-STD-007: 로깅**

<a name="AMS-STD-007"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/managedservices/latest/onboardingguide/dcm-security-n-compliance.html)

이에 따라 내부 권한 부여 및 인증 팀과 협력하여 Direct Change 모드 역할에 대한 권한을 제어합니다.

## 직접 변경 모드의 규정 준수
<a name="dcm-compliance"></a>

Direct Change 모드는 프로덕션 워크로드와 비프로덕션 워크로드 모두와 호환됩니다. 규정 준수 표준(예: PHI, HIPAA, PCI)을 준수하고 Direct Change 모드 사용이 내부 제어 프레임워크 및 표준을 준수하도록 하는 것은 사용자의 책임입니다.

# 직접 변경 모드에서 변경 관리
<a name="dcm-change-mgmt"></a>

변경 관리는 AMS Advanced가 변경 요청을 구현하는 데 사용하는 프로세스입니다. 변경 요청(RFC)은 관리형 환경을 변경하기 위해 사용자 또는 AMS Advanced 인터페이스를 통해 AMS Advanced가 생성한 요청으로, 특정 작업에 대한 AMS Advanced 변경 유형(CT) ID를 포함합니다. 자세한 내용은 [변경 관리를](https://docs.aws.amazon.com/managedservices/latest/userguide/ex-what-is.html) 참조하세요.

**참고**  
직접 변경 모드는 AMS 변경 관리 RFCs 제거하지 않으며 DCM을 사용하는 AMS RFCs에 대한 전체 액세스 권한을 여전히 가집니다.

AMS Direct Change 모드(DCM)는 AWS 리소스를 프로비저닝하고 업데이트하기 위해 AMS Advanced Plus 및 Premium 계정에 대한 기본 AWS 액세스를 제공하여 AMS Advanced 변경 관리를 확장합니다. IAM 역할을 통해 Direct Change 모드 권한을 부여받은 사용자는 기본 AWS API 액세스를 사용하여 AMS Advanced 계정의 리소스를 프로비저닝하고 변경할 수 있습니다. 사용자는 동일한 IAM 역할을 사용하여 AMS Advanced 변경 관리 RFCs를 계속 사용할 수 있습니다. 두 경우 모두 모니터링, 패치, 백업, 인시던트 대응 관리를 포함하여 AMS에서 리소스와 리소스 변경 사항을 완벽하게 지원합니다. 이러한 계정에서 적절한 역할이 없는 사용자는 AMS Advanced 변경 관리 RFC 프로세스를 사용하여 변경해야 합니다.

## 변경 관리 사용 사례
<a name="dcm-cm-use-cases"></a>

보안상의 이유로 AMS Advanced의 일부 변경은 변경 관리 변경 요청(RFC) 프로세스를 통해서만 수행할 수 있습니다. `AWSManagedServicesCloudFormationAdminRole`는 CloudFormation(CFN)을 통해 수행되는 작업으로 제한됩니다. DCM을 통해 스택을 생성하는 방법에 대한 자세한 내용은 [Direct Change 모드를 사용하여 스택 생성을 참조하세요](https://docs.aws.amazon.com/managedservices/latest/userguide/dcm-creating-stacks.html). `AWSManagedServicesUpdateRole`는 다음 작업으로 제한됩니다.

관리 \$1 관리형 계정 \$1 직접 변경 모드 \$1 활성화(ct-3rd4781c2nnhp) 변경 유형을 포함한 각 변경 유형에 대한 예제 안내는 분류별 *AMS 고급 변경 유형 참조 변경* 유형 섹션에서 관련 변경 유형에 대한 "추가 정보" 섹션을 참조하세요. [https://docs.aws.amazon.com/managedservices/latest/ctref/classifications.html](https://docs.aws.amazon.com/managedservices/latest/ctref/classifications.html) 

<a name="AMS-STD-007"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/managedservices/latest/onboardingguide/dcm-change-mgmt.html)

# Direct Change 모드를 사용하여 스택 생성
<a name="dcm-creating-stacks"></a>

AMS에서 스택을 관리하려면를 사용하여 CloudFormation에서 스택을 시작할 때 다음 두 가지 요구 사항이 있습니다`AWSManagedServicesCloudFormationAdminRole`.
+ 템플릿에는가 포함되어야 합니다`AmsStackTransform`.
+ 스택 이름은 접두사 뒤에 17자의 영숫자 문자열`stack-`로 시작해야 합니다.

**참고**  
를 성공적으로 사용하려면 스택 템플릿에 CloudFormation (CFN)가 스택을 생성하거나 업데이트하기 위한 `CAPABILITY_AUTO_EXPAND` 기능이 포함되어 있음을 확인해야 `AmsStackTransform`합니다. 이렇게 하려면를 create-stack 요청의 `CAPABILITY_AUTO_EXPAND` 일부로 전달합니다. 가 템플릿에 포함될 때이 기능이 확인되지 않으면 CFN`AmsStackTransform`은 요청을 거부합니다. CFN 콘솔은 템플릿에 변환이 있는 경우이 기능을 전달하도록 보장하지만 APIs를 통해 CFN과 상호 작용할 때이 기능을 놓칠 수 있습니다.  
다음 CFN API 호출을 사용할 때마다이 기능을 전달해야 합니다.  
[CreateChangeSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html)
[ CreateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html#API_CreateStack_RequestParameters)
[UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)

DCM을 사용하여 스택을 생성하거나 업데이트할 때 스택에서 CFN 수집 및 스택 업데이트 CTs의 동일한 검증 및 증강이 수행됩니다. 자세한 내용은 [CloudFormation 수집 지침, 모범 사례 및 제한을 참조하세요](https://docs.aws.amazon.com/managedservices/latest/appguide/cfn-author-templates.html). 단, AMS 기본 보안 그룹(SGs)은 독립형 EC2 인스턴스 또는 Auto Scaling 그룹(ASGs)의 EC2 인스턴스에 연결되지 않습니다. 독립형 EC2 인스턴스 또는 ASGs를 사용하여 CloudFormation 템플릿을 생성할 때 기본 SGs.

**참고**  
이제를 사용하여 IAM 역할을 생성하고 관리할 수 있습니다`AWSManagedServicesCloudFormationAdminRole`.

AMS 기본 SGs에는 인스턴스를 성공적으로 시작하고 나중에 AMS 작업 및 사용자에 의해 SSH 또는 RDP를 통해 액세스할 수 있는 수신 및 송신 규칙이 있습니다. AMS 기본 보안 그룹이 너무 허용적이라고 판단되면 사용자와 AMS 작업이 인시던트 발생 시 인스턴스에 액세스할 수 있도록 허용하는 한 보다 제한적인 규칙을 사용하여 자체 SGs를 생성하고 인스턴스에 연결할 수 있습니다.

AMS 기본 보안 그룹은 다음과 같습니다.
+ SentinelDefaultSecurityGroupPrivateOnly:이 SSM 파라미터를 통해 CFN 템플릿에서 액세스할 수 있습니다. `/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnly` 
+ SentinelDefaultSecurityGroupPrivateOnlyEgressAll:이 SSM 파라미터를 통해 CFN 템플릿에서 액세스할 수 있습니다. `/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlyEgressAll` 

## AMS 변환
<a name="dcm-cs-ams-transform"></a>

 CloudFormation 템플릿에 `Transform` 문을 추가합니다. 그러면 시작 시 스택을 검증하고 AMS에 등록하는 CloudFormation 매크로가 추가됩니다.

**JSON **예제

```
"Transform": {
    "Name": "AmsStackTransform",
    "Parameters": {
      "StackId": {"Ref" : "AWS::StackId"}
    }
  }
```

**YAML **예제

```
Transform:
  Name: AmsStackTransform
  Parameters:
    StackId: !Ref 'AWS::StackId'
```

또한 기존 스택의 템플릿을 업데이트할 때 `Transform` 문을 추가합니다.

**JSON **예제

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description" : "Create an SNS Topic",
    "Transform": {
      "Name": "AmsStackTransform",
      "Parameters": {
        "StackId": {"Ref" : "AWS::StackId"}
     }
  },
  "Parameters": {
    "TopicName": {
      "Type": "String",
      "Default": "HelloWorldTopic"
    }
  },
  "Resources": {
    "SnsTopic": {
      "Type": "AWS::SNS::Topic",
      "Properties": {
        "TopicName": {"Ref": "TopicName"}
      }
    }
  }
}
```

**YAML **예제

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Create an SNS Topic
Transform:
  Name: AmsStackTransform
  Parameters:
    StackId: !Ref 'AWS::StackId'
Parameters:
  TopicName:
    Type: String
    Default: HelloWorldTopic
Resources:
  SnsTopic:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: !Ref TopicName
```

## 스택 이름
<a name="dcm-cs-stack-name"></a>

스택 이름은 접두사 뒤에 17자의 영숫자 문자열`stack-`로 시작해야 합니다. 이는 AMS 스택 IDs. 

 다음은 호환되는 스택 IDs.

Bash:

```
echo "stack-$(env LC_CTYPE=C tr -dc 'a-z0-9' < /dev/urandom | head -c 17)"
```

Python:

```
import string
import random

'stack-' + ''.join(random.choices(string.ascii_lowercase + string.digits, k=17))
```

Powershell:

```
"stack-" + ( -join ((0x30..0x39) + ( 0x61..0x7A) | Get-Random -Count 17  | % {[char]$_}) )
```

# 직접 변경 모드 사용 사례
<a name="dcm-use-cases"></a>

다음은 직접 변경 모드의 사용 사례입니다.

**를 통한 리소스 프로비저닝 및 관리 CloudFormation**
+ 기존 CloudFormation 기반 도구 및 프로세스를 통합합니다.

**지속적인 리소스 관리 및 업데이트**
+ 위험이 낮은 작은 원자성 변화.
+ 수동 또는 자동 RFC를 통해 실행되는 변경 사항입니다.
+ 네이티브 AWS API 액세스가 필요한 도구입니다.
+ 마이그레이션 단계에 있는 경우 DCM 역할을 사용할 수 있습니다. 마이그레이션 팀은 DCM에 대한 권한을 활용하여 스택을 생성하거나 수정합니다.
+ CI/CD 파이프라인에서 DCM 역할을 사용하여 새 AMIs를 빌드하고 Amazon ECS 작업을 생성하는 등의 작업을 수행할 수 있습니다.