

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

# AWS Transit Gateway での Identity and Access Management
<a name="transit-gateway-authentication-access-control"></a>

AWS はセキュリティ認証情報を使用してユーザーを識別し、 AWS リソースへのアクセスを許可します。 AWS Identity and Access Management (IAM) の機能を使用すると、セキュリティ認証情報を共有することなく、他のユーザー、サービス、アプリケーションが AWS リソースを完全にまたは制限付きで使用できるようになります。

デフォルトでは、IAM ユーザーには AWS リソースを作成、表示、または変更するアクセス許可はありません。ユーザーが Transit Gateway などのリソースにアクセスして、タスクを実行できるようにするには、特定のリソースや必要となる API アクションを使用するための許可をユーザーに付与する IAM ポリシーを作成してから、そのポリシーをそのユーザーが属するグループにアタッチする必要があります。ポリシーをユーザーまたはユーザーのグループにアタッチする場合、ポリシーによって特定リソースの特定タスクを実行するユーザーの権限が許可または拒否されます。

トランジットゲートウェイを使用するには、次のいずれかの AWS マネージドポリシーがニーズを満たす場合があります。
+ [AmazonEC2FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2FullAccess.html)
+ [AmazonEC2ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html)
+ [PowerUserAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/PowerUserAccess.html)
+ [ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ReadOnlyAccess.html)

## Transit Gateway を管理するためのポリシー例
<a name="tgw-example-iam-policies"></a>

以下は Transit Gateway を使用するための IAM ポリシーの例です。

**必要なタグを持つ Transit Gateway を作成する**  
以下の例で、ユーザーは Transit Gateway を作成できるようになります。`aws:RequestTag` 条件キーでは、ユーザーは Transit Gateway をタグ `stack=prod` にタグ付けすることが求められます。`aws:TagKeys` 条件キーは、`ForAllValues` 修飾子を使用し、キー `stack` のみがリクエストで許可されることを指定します（他のタグは指定できません）。ユーザーが Transit Gateway の作成時にこの指定のタグを渡さない場合、またはタグを指定しない場合、リクエストは却下されます。

2 番目のステートメントは、`ec2:CreateAction` 条件キーを使用して、ユーザーが `CreateTransitGateway` のコンテキストでみタグを使用できるようにします。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateTaggedTGWs",
            "Effect": "Allow",
            "Action": "ec2:CreateTransitGateway",
            "Resource": "arn:aws:ec2:us-east-1:123456789012:transit-gateway/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/stack": "prod"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "stack"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:123456789012:transit-gateway/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateTransitGateway"
                }
            }
        }
    ]
}
```

------

**Transit Gateway ルートテーブルの操作**  
以下の例では、ユーザーが特定の Transit Gateway のみ（`tgw-11223344556677889`）に対して Transit Gateway ルートテーブルを作成および削除できるようにします。ユーザーは、任意の Transit Gateway のルートテーブルでルートの作成や置き換えができますが、タグ `network=new-york-office` の付いたアタッチメントに対してのみ可能です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteTransitGatewayRouteTable",
                "ec2:CreateTransitGatewayRouteTable"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:123456789012:transit-gateway/tgw-11223344556677889",
                "arn:aws:ec2:*:*:transit-gateway-route-table/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTransitGatewayRoute",
                "ec2:ReplaceTransitGatewayRoute"
            ],
            "Resource": "arn:aws:ec2:*:*:transit-gateway-attachment/*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/network": "new-york-office"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTransitGatewayRoute",
                "ec2:ReplaceTransitGatewayRoute"
            ],
            "Resource": "arn:aws:ec2:*:*:transit-gateway-route-table/*"
        }
    ]
}
```

------

# Transit Gateway で Transit Gateway AWS のサービスにリンクされたロールを使用する
<a name="service-linked-roles"></a>

Amazon VPC は、ユーザーに代わって他の AWS サービスを呼び出すために必要なアクセス許可のために、サービスにリンクされたロールを使用します。詳細については、「IAM ユーザーガイド」の「[Service-linked roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)」を参照してください。

## Transit Gateway サービスにリンクされたロール
<a name="tgw-service-linked-roles"></a>

Amazon VPC は、他のを呼び出すために必要なアクセス許可を持つ、サービスにリンクされたロールを使用します。 AWS サービスは、Transit Gateway を操作するときにユーザーに代わって提供されます。

### サービスにリンクされたロールによって付与されるアクセス許可
<a name="service-linked-role-permissions"></a>

Amazon VPC は、Transit Gateway を使用するときに、**AWSServiceRoleForVPCTransitGateway** という名前のサービスにリンクされたロールを使用して、ユーザーに代わって次のアクションを呼び出します。
+ `ec2:CreateNetworkInterface`
+ `ec2:DescribeNetworkInterfaces`
+ `ec2:ModifyNetworkInterfaceAttribute`
+ `ec2:DeleteNetworkInterface`
+ `ec2:CreateNetworkInterfacePermission`
+ `ec2:AssignIpv6Addresses`
+ `ec2:UnAssignIpv6Addresses`

**AWSServiceRoleForVPCTransitGateway** ロールでは、以下のサービスを信頼してロールを引き受けます。
+ `transitgateway.amazonaws.com`

**AWSServiceRoleForVPCTransitGateway** はマネージドポリシー [AWSVPCTransitGatewayServiceRolePolicy](security-iam-awsmanpol.md#AWSVPCTransitGatewayServiceRolePolicy) を使用します。

サービスリンクロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するにはアクセス許可を設定する必要があります。詳細については、「IAM ユーザーガイド」の「[サービスにリンクされた役割のアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html#service-linked-role-permissions)」を参照してください。

### サービスにリンクされたロールの作成
<a name="create-service-linked-role"></a>

**AWSServiceRoleForVPCTransitGateway** ロールを手動で作成する必要はありません。このロールは、アカウント内の VPC を Transit Gateway にアタッチするときに、Amazon VPC によって作成されます。

### サービスにリンクされたロールを編集する
<a name="edit-service-linked-role"></a>

IAM を使用して、**AWSServiceRoleForVPCTransitGateway** の説明を編集できます。詳細については、「IAM ユーザーガイド」の「[サービスにリンクされたロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console)」を参照してください。

### サービスにリンクされたロールを削除する
<a name="delete-service-linked-role"></a>

Transit Gateway を使用する必要がなくなった場合は、**AWSServiceRoleForVPCTransitGateway** を削除することをお勧めします。

このサービスにリンクされたロールは、 AWS アカウント内のすべての Transit Gateway VPC アタッチメントを削除した後にのみ削除できます。これにより、VPC アタッチメントへのアクセス許可を誤って削除することがなくなります。

サービスにリンクされたロールは、IAM コンソール、IAM CLI、または IAM API を使用して削除することができます。詳細については、「IAM ユーザーガイド」の「[サービスにリンクされたロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr)」を参照してください

**AWSServiceRoleForVPCTransitGateway** を削除すると、アカウントの VPC を Transit Gateway にアタッチするときに、Amazon VPC によってロールがもう一度作成されます。

# AWS AWS Transit Gateway での Transit Gateway の マネージドポリシー
<a name="security-iam-awsmanpol"></a>

 AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できるように、多くの一般的なユースケースにアクセス許可を提供するように設計されています。

 AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有の[カスタマー管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)を定義して、アクセス許可を絞り込むことをお勧めします。

 AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS マネージドポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい が起動されるか、新しい API オペレーション AWS のサービス が既存のサービスで使用できるようになったときに、 AWS マネージドポリシーを更新する可能性が最も高くなります。

詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

トランジットゲートウェイを使用するには、次のいずれかの AWS マネージドポリシーがニーズを満たす場合があります。
+ [AmazonEC2FullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2FullAccess.html)
+ [AmazonEC2ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html)
+ [PowerUserAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/PowerUserAccess.html)
+ [ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ReadOnlyAccess.html)

## AWS マネージドポリシー: AWSVPCTransitGatewayServiceRolePolicy
<a name="AWSVPCTransitGatewayServiceRolePolicy"></a>

このポリシーはロール [AWSServiceRoleForVPCTransitGateway](service-linked-roles.md) にアタッチされます。これにより、Amazon VPC は Transit Gateway アタッチメント用のリソースを作成および管理できます。

このポリシーに対する許可を確認するには、「AWS マネージドポリシーリファレンス」の [AWSVPCTransitGatewayServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSVPCTransitGatewayServiceRolePolicy.html) を参照してください。

## AWS 管理ポリシーへのトランジットゲートウェイの更新
<a name="security-iam-awsmanpol-updates"></a>

Amazon VPC が 2021 年 3 月にこれらの変更の追跡を開始した以降のトランジットゲートウェイの AWS マネージドポリシーの更新に関する詳細を表示します。


| 変更 | 説明 | 日付 | 
| --- | --- | --- | 
| Amazon VPC が変更の追跡をスタートしました | Amazon VPC は、 AWS 管理ポリシーの変更の追跡を開始しました。 | 2021 年 3 月 1 日 | 

# AWS Transit Gateway の Transit Gateway のネットワーク ACLs
<a name="tgw-nacls"></a>

ネットワークアクセスコントロールリスト (NACL) は、オプションのセキュリティレイヤーです。

ネットワークアクセスコントロールリスト (NACL) のルールは、シナリオに応じて異なる方法で適用されます。
+ [EC2 インスタンスおよび Transit Gateway の関連付け用の同じサブネット](#nacl-tgw-same-subnet)
+ [EC2 インスタンスと Transit Gateway の関連付け用の異なるサブネット](#nacl-tgw-different-subnet)

## EC2 インスタンスおよび Transit Gateway の関連付け用の同じサブネット
<a name="nacl-tgw-same-subnet"></a>

同じサブネット内に、EC2 インスタンスと Transit Gateway の関連付けがある設定について考えてみます。EC2 インスタンスから Transit Gateway へのトラフィックと、Transit Gateway からインスタンスへのトラフィックの両方に、同じネットワーク ACL が使用されます。

インスタンスから Transit Gateway へのトラフィックに対して、次のように NACL ルールが適用されています。
+ アウトバウンドルールでは、評価に送信先 IP アドレスを使用します。
+ インバウンドルールでは、評価に送信元 IP アドレスを使用します。

Transit Gateway からインスタンスへのトラフィックに対して、次のように NACL ルールが適用されています。
+ アウトバウンドルールは評価されません。
+ インバウンドルールは評価されません。

## EC2 インスタンスと Transit Gateway の関連付け用の異なるサブネット
<a name="nacl-tgw-different-subnet"></a>

あるサブネットに EC2 インスタンスがあり、別のサブネットに Transit Gateway の関連付けがあり、各サブネットが異なるネットワーク ACL に関連付けられている設定について考えてみましょう。

EC2 インスタンスのサブネットに対して、次のようにネットワーク ACL ルールが適用されています。
+ アウトバウンドルールでは、送信先 IP アドレスを使用して、インスタンスから Transit Gateway へのトラフィックを評価します。
+ インバウンドルールでは、送信元 IP アドレスを使用して、Transit Gateway からインスタンスへのトラフィックを評価します。

Transit Gateway のサブネットに対して、次のように NACL ルールが適用されています。
+ アウトバウンドルールでは、送信先 IP アドレスを使用して、Transit Gateway からインスタンスへのトラフィックを評価します。
+ アウトバウンドルールは、インスタンスから Transit Gateway へのトラフィックの評価には使用されません。
+ インバウンドルールでは、送信元 IP アドレスを使用して、インスタンスから Transit Gateway へのトラフィックを評価します。
+ インバウンドルールは、Transit Gateway からインスタンスへのトラフィックの評価には使用されません。

## ベストプラクティス
<a name="nacl-best-practices"></a>

各 Transit Gateway VPC アタッチメントに個別のサブネットを使用します。各サブネットに対して、小さな CIDR (/28 など) を使用して、EC2 リソースのアドレスが増えるようにします。別のサブネットを使用する場合は、次の項目を設定できます。
+ Transit Gateway サブネットに関連付けられているインバウンドおよびアウトバウンド NACL を開いたままにします。
+ トラフィックフローに応じて、ワークロードサブネットに NACL を適用できます。

VPC アタッチメントの仕組みについての詳細は、「[リソースアタッチメント](how-transit-gateways-work.md#tgw-attachments-overview)」を参照してください。