

# AWS Migration Hub ロールとポリシー
<a name="policy-templates"></a>

AWS Migration Hub へのアクセスには、AWS がリクエストを認証するために使用できる認証情報と、AWS リソースにアクセスするためのアクセス許可が必要です。以下のセクションでは、さまざまなアクセス許可ポリシーを IAM アイデンティティ（ユーザー、グループ、ロール）にアタッチし、それによって AWS Migration Hub リソースでアクションを実行するアクセス許可を付与する方法を示します。

このセクションで参照されているさまざまなタイプのアクセス許可ポリシーについては、「[AWS Migration Hub でアイデンティティベースのポリシー（IAM ポリシー）を使用する](auth-and-access-explained.md#access-control-identity-based)」で説明しています。このセクションをまだ読んでいない場合は、このセクションのポリシーテンプレートを使用する前に、さまざまなタイプのポリシーを十分に理解しておくことをお勧めします。

ポリシーテンプレートは、次に示すように、次の階層に編成されています。任意のポリシーをクリックすると、そのテンプレートに直接移動できます。

**Topics**
+ [新しいユーザー IAM セットアップ](new-customer-setup.md)
+ [移行ツールのカスタムポリシー](customer-managed-vendor.md)

# 新しいユーザー IAM セットアップ
<a name="new-customer-setup"></a>

このセクションでは、AWS Migration Hub と共に使用できる 4 つのマネージドポリシーの概要 と、ユーザーまたは移行ツール用の Migration Hub コンソールまたは API へのアクセスをセットアップする方法について説明します。

## 必要なマネージドポリシー
<a name="required-managed-policies"></a>

アカウントのユーザーにアタッチ可能な以下の AWS マネージドポリシーは、Migration Hub に固有のもので、ユースケースシナリオ別にグループ化されます。
+ **AWSMigrationHubDiscoveryAccess** – （**migrationhub-discovery** ロールに含まれる） – Migration Hub サービスが Application Discovery Service を呼び出すことを許可するアクセス許可を付与します。
+ **AWSMigrationHubFullAccess** – 管理者以外のユーザーに対して、Migration Hub コンソールおよび API/CLI へのアクセス権を付与します。
+ **AWSMigrationHubSMSAccess** – Migration Hub が AWS Server Migration Service 移行ツールからの通知を受信するためのアクセス許可を付与します。
+ **AWSMigrationHubDMSAccess** – Migration Hub が AWS Database Migration Service 移行ツールから通知を受信するためのアクセス許可を付与します。

管理者以外の IAM ユーザーに Migration Hub 権限を付与する場合は、「[Migration Hub サービス API とコンソールマネージドアクセス](#api-console-access-managed)」を参照してください。

AWS 移行ツールを承認（つまり、接続）する場合は、「[AWS Server Migration Service (SMS)](#sms-managed)」 または「[AWS Database Migration Service (DMS)](#dms-managed)」を参照してください。

### Migration Hub サービス API とコンソールマネージドアクセス
<a name="api-console-access-managed"></a>

管理者は、ユーザーを作成し、マネージドポリシーを使用して Migration Hub コンソールにアクセスするアクセス許可を付与できます。

1. IAM コンソールに入ります。

1. ユーザーを作成します。

1. ユーザーが作成されたら、[アクセス許可] タブで [アクセス許可の追加] を選択します。

1. [Attach existing policies directly (既存のポリシーを直接アタッチ)] を選択します。

1. ポリシー「AWSMigrationHubFullAccess」を検索してアタッチします。 

### migrationhub-discovery ロール
<a name="adscaller-role-managed"></a>

Migration Hub を使用するには、`migrationhub-discovery` ロール（`AWSMigrationHubDiscoveryAccess` ポリシーを含む）を AWS アカウントに追加する必要があります。これにより、Migration Hub はお客様に代わって Application Discovery Service にアクセスできるようになります。

AWS Migration Hub コンソールは、Migration Hub コンソールを管理者として使用すると、AWS アカウントに自動的にアタッチされる `migrationhub-discovery` ロールを作成します。コンソールを使用せずに AWS コマンドラインインターフェイス (AWS CLI) または AWS Migration Hub API を使用する場合は、このロールを手動でアカウントに追加する必要があります。

1. IAM コンソールの [ロールセクション](https://console.aws.amazon.com/iam/home?#/roles) に移動します。

1. [**Create new role (新しいロールの選択)**] を選択します。

1. AWS サービスロールから「Amazon EC2」を選択します。

1. 「AWSApplicationDiscoveryServiceFullAccess」マネージドポリシーをアタッチします。

1. ロールに「migrationhub-discovery」という名前を付けます*（大文字と小文字を区別し、正しいスペルを使用した必要なロール名）*。

1. 新しいロールにアクセスし、[Trust Relationships (信頼関係)] タブで、[**Edit Trust Relationship (信頼関係の編集)**] を選択します。

1. 以下の信頼ポリシーを追加します。

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "migrationhub.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

### 移行ツール（マネージドポリシー）
<a name="migration-tools-managed"></a>

移行ハブが移行ツールからの通知を受け取るには、移行ツールごとにロールとポリシーが必要です。これらのアクセス許可により、SMS や DMS などの AWS のサービスが Migration Hub に更新を送信できるようになります。

#### AWS Server Migration Service (SMS)
<a name="sms-managed"></a>

1. IAM コンソールの [ロールセクション](https://console.aws.amazon.com/iam/home?#/roles) に移動します。

1. [**Create new role (新しいロールの選択)**] を選択します。

1. AWS サービスロールから「Amazon EC2」を選択します。

1. 「AWSMigrationHubSMSAccess」マネージドポリシーをアタッチします。

1. ロールに「migrationhub-sms」という名前を付けます*（大文字と小文字を区別し、正しいスペルを使用した必要なロール名）*。

1. 新しいロールにアクセスし、[Trust Relationships (信頼関係)] タブで、[**Edit Trust Relationship (信頼関係の編集)**] を選択します。

1. 以下の信頼ポリシーを追加します。

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "sms.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

#### AWS Database Migration Service (DMS)
<a name="dms-managed"></a>

1. IAM コンソールの [ロールセクション](https://console.aws.amazon.com/iam/home?#/roles) に移動します。

1. [**Create new role (新しいロールの選択)**] を選択します。

1. AWS サービスロールから「Amazon EC2」を選択します。

1. 「AWSMigrationHubDMSAccess」マネージドポリシーをアタッチします。

1. ロールに「migrationhub-dms」という名前を付けます*（大文字と小文字を区別し、正しいスペルを使用した必要なロール名）*。

1. 新しいロールにアクセスし、[Trust Relationships (信頼関係)] タブで、[**Edit Trust Relationship (信頼関係の編集)**] を選択します。

1. 以下の信頼ポリシーを追加します。

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "dms.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

# 移行ツールのカスタムポリシー
<a name="customer-managed-vendor"></a>

これは、AWS Migration Hub API または CLI を使用する場合に、統合パートナーまたは開発者が使用するロールの例です。

## 統合パートナーロールポリシー
<a name="customer-managed-vendor-role"></a>

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "mgh:CreateProgressUpdateStream"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:mgh:us-west-2:account_num:progressUpdateStream/vendor_name"
        },
        {
            "Action": [
                "mgh:AssociateCreatedArtifact",
                "mgh:DescribeMigrationTask",
                "mgh:DisassociateCreatedArtifact",
                "mgh:ImportMigrationTask",
                "mgh:ListCreatedArtifacts",
                "mgh:NotifyMigrationTaskState",
                "mgh:PutResourceAttributes",
                "mgh:NotifyApplicationState",
                "mgh:DescribeApplicationState",
                "mgh:AssociateDiscoveredResource",
                "mgh:DisassociateDiscoveredResource",
                "mgh:ListDiscoveredResources"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:mgh:us-west-2:account_num:progressUpdateStream/vendor_name/*"
        },
        {
            "Action": [
                "mgh:ListMigrationTasks"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

## 統合パートナーポリシーの信頼ポリシー
<a name="customer-managed-vendor-trust"></a>

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::vendor_account_num:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```