

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AMS の直接変更モード
<a name="direct-change-mode-section"></a>

**Topics**
+ [直接変更モードの開始方法](dcm-get-started.md)
+ [セキュリティとコンプライアンス](dcm-security-n-compliance.md)
+ [Direct Change モードでの変更管理](dcm-change-mgmt.md)
+ [Direct Change モードを使用したスタックの作成](dcm-creating-stacks.md)
+ [直接変更モードのユースケース](dcm-use-cases.md)

AWS Managed Services (AMS) Direct Change Mode (DCM) は、リソースをプロビジョニングおよび更新するための AMS Advanced Plus および Premium アカウントへのネイティブ AWS アクセスを提供することで、AMS Advanced 変更管理を拡張します AWS 。DCM では、ネイティブ AWS API (コンソールまたは CLI/SDK) または AMS Advanced Change Management Request for Change (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. Management \$1 Managed Account \$1 Direct Change Mode \$1 Enable change type (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`または の少なくとも 1 つを指定する必要があります`AWSServicePrincipals`。詳細については、会社の IAM 部門または AMS クラウドアーキテクト (CA) にお問い合わせください。

## 直接変更モードの IAM ロールとポリシー
<a name="dcm-gs-iam-roles-and-policies"></a>

アカウントで直接変更モードが有効になっている場合、これらの新しい IAM エンティティがデプロイされます。

`AWSManagedServicesCloudFormationAdminRole`: このロールは、CloudFormation コンソールへのアクセス、CloudFormation スタックの作成と更新、ドリフトレポートの表示、CloudFormation ChangeSets の作成と実行を許可します。このロールへのアクセスは、SAML プロバイダーを通じて管理されます。

ロール`AWSManagedServicesCloudFormationAdminRole`にデプロイおよびアタッチされる管理ポリシーは次のとおりです。
+ AMS Advanced マルチアカウントランディングゾーン (MALZ) アプリケーションアカウント
  + AWSManagedServices\$1CloudFormationAdminPolicy1
  + AWSManagedServices\$1CloudFormationAdminPolicy2
    + このポリシーは、 に付与されたアクセス許可を表します`AWSManagedServicesCloudFormationAdminRole`。このポリシーを使用して、アカウント内の既存のロールへのアクセスを許可し、そのロールがアカウント内の CloudFormation スタックを起動および更新できるようにします。これには、他の IAM エンティティが CloudFormation スタックを起動できるように、追加の AMS サービスコントロールポリシー (SCP) 更新が必要になる場合があります。
+ AMS Advanced シングルアカウントランディングゾーン (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 Advanced Direct Change モードは、この責任共有を変更しません。

## 直接変更モードのセキュリティ
<a name="dcm-security"></a>

AMS Advanced は、規範的なランディングゾーン、変更管理システム、アクセス管理で追加の値を提供します。Direct Change モードを使用する場合、この責任モデルは変更されません。ただし、追加のリスクに注意する必要があります。

Direct Change Mode の「Update」ロール (「」を参照[直接変更モードの IAM ロールとポリシー](dcm-get-started.md#dcm-gs-iam-roles-and-policies)) は、エンティティがアクセスできるようにする昇格されたアクセス許可を提供し、アカウント内の AMS がサポートするサービスのインフラストラクチャリソースを変更します。アクセス許可が引き上げられると、リソース、サービス、アクションに応じてさまざまなリスクが存在します。特に、監視、ミス、または内部プロセスとコントロールフレームワークへの準拠の欠如が原因で誤った変更が行われた状況では、リスクが異なります。

AMS 技術標準に従って、以下のリスクが特定され、次のようにレコメンデーションが行われます。AMS 技術標準の詳細については、「」を参照してください AWS Artifact。アクセスするには AWS Artifact、CSDM に連絡して手順を確認するか、[「 の開始方法 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/ja_jp/managedservices/latest/onboardingguide/dcm-security-n-compliance.html)

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


| [Standards] (標準) | 壊れていますか？ | リスク | 推奨事項 | 
| --- | --- | --- | --- | 
| 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/ja_jp/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/ja_jp/managedservices/latest/onboardingguide/dcm-security-n-compliance.html)

内部認可および認証チームと協力して、それに応じて Direct Change モードロールへのアクセス許可を制御します。

## 直接変更モードのコンプライアンス
<a name="dcm-compliance"></a>

Direct Change モードは、本番ワークロードと非本番ワークロードの両方と互換性があります。コンプライアンス標準 (PHI、HIPAA、PCI など) を確実に順守し、Direct Change モードの使用が内部管理フレームワークと標準に準拠していることを確認するのはお客様の責任です。

# 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 Mode (DCM) は、リソースをプロビジョニングおよび更新するための AMS Advanced Plus および Premium アカウントへのネイティブ AWS アクセスを提供することで、AMS Advanced 変更管理を拡張します AWS 。IAM ロールを通じて直接変更モードのアクセス許可を付与されたユーザーは、ネイティブ 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 を使用してスタックを作成する方法の詳細については、[「直接変更モードを使用したスタックの作成](https://docs.aws.amazon.com/managedservices/latest/userguide/dcm-creating-stacks.html)」を参照してください。`AWSManagedServicesUpdateRole` は、次のアクションに制限されています。

管理 \$1 マネージドアカウント \$1 直接変更モード \$1 有効化 (ct-3rd4781c2nnhp) 変更タイプを含む各変更タイプのチュートリアルについては、*「AMS Advanced Change Type Reference* [Change Types by Classification](https://docs.aws.amazon.com/managedservices/latest/ctref/classifications.html)」セクションの「Additional Information」セクションを参照してください。

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

# Direct Change モードを使用したスタックの作成
<a name="dcm-creating-stacks"></a>

を使用して CloudFormation でスタックを起動する場合`AWSManagedServicesCloudFormationAdminRole`、スタックを AMS で管理するには、次の 2 つの要件があります。
+ テンプレートには が含まれている必要があります`AmsStackTransform`。
+ スタック名はプレフィックスで始まり、その後に 17 文字の英数字文字列が`stack-`続く必要があります。

**注記**  
を正常に使用するには`AmsStackTransform`、 CloudFormation (CFN) がスタックを作成または更新するために、スタックテンプレートに `CAPABILITY_AUTO_EXPAND`機能が含まれていることを確認する必要があります。これを行うには、 を 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 Ingest および Stack Update CTs[CloudFormation 「Ingest Guidelines」、「Best Practices」、および「Limitations](https://docs.aws.amazon.com/managedservices/latest/appguide/cfn-author-templates.html)」を参照してください。ただし、AMS のデフォルトのセキュリティグループ (SGs) は、Auto Scaling グループ (ASGs) のスタンドアロン EC2 インスタンスまたは EC2 インスタンスにはアタッチされません。スタンドアロン EC2 インスタンスまたは ASGs を使用して CloudFormation テンプレートを作成する場合、デフォルトの SGs をアタッチできます。

**注記**  
IAM ロールを で作成および管理できるようになりました`AWSManagedServicesCloudFormationAdminRole`。

AMS デフォルト SGs には、インスタンスが正常に起動し、後で AMS オペレーションとユーザーによって SSH または RDP を介してアクセスできるようにする進入および退出ルールがあります。で AMS のデフォルトのセキュリティグループが許容されすぎることがわかった場合は、より制限の厳しいルールを使用して独自の SGs を作成し、インスタンスにアタッチできます。ただし、インシデント発生時にユーザーと AMS オペレーションがインスタンスにアクセスできる場合に限ります。

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 のアクセス許可を活用してスタックを作成または変更します。
+ DCM ロールは、CI/CD パイプラインで新しい AMIs の構築、Amazon ECS タスクの作成などに使用できます。