

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Transit Gateway 中的身分和存取管理
<a name="transit-gateway-authentication-access-control"></a>

AWS 使用安全登入資料來識別您的身分，並授予您 AWS 存取 資源的權限。您可以使用 AWS Identity and Access Management (IAM) 的功能，允許其他使用者、服務和應用程式完整或有限地使用您的 AWS 資源，而無需共用您的安全登入資料。

根據預設，IAM 使用者沒有建立、檢視或修改 AWS 資源的許可。若要允許使用者存取資源 (例如傳輸閘道) 和執行任務，您必須建立 IAM 政策來授予使用者許可，以使用他們需要之特定資源和 API 動作，然後將此政策連接到使用者所屬的群組。將政策連接到使用者或使用者群組時，政策會允許或拒絕使用者在特定資源上執行特定任務的許可。

若要使用傳輸閘道，下列其中一個 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)

## 管理傳輸閘道的政策範例
<a name="tgw-example-iam-policies"></a>

以下是使用傳輸閘道的傳輸閘道 IAM 原則範例。

**建立具有必要標籤的傳輸閘道**  
以下範例可讓使用者建立傳輸閘道。`aws:RequestTag` 條件金鑰需要使用者使用標籤 `stack=prod` 標記傳輸閘道。`aws:TagKeys` 條件金鑰使用 `ForAllValues` 修飾詞，表示請求中只允許 `stack` 金鑰 (不可指定其他標籤)。如果使用者在建立傳輸閘道時未傳遞此特定標籤，或者他們完全沒有指定標籤，則請求會失敗。

第二個陳述式使用 `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"
                }
            }
        }
    ]
}
```

------

**使用傳輸閘道路由表**  
下列範例可讓使用者僅針對特定傳輸閘道建立和刪除傳輸閘道路由表 (`tgw-11223344556677889`)。使用者也可以在任何傳輸閘道路由表中建立和取代路由，但僅適用於具有標籤 `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 中使用 AWS 傳輸閘道的服務連結角色
<a name="service-linked-roles"></a>

Amazon VPC 使用服務連結角色，取得其代表您呼叫其他 AWS 服務所需的許可。如需詳細資訊，請參閱「IAM 使用者指南」**中的[服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html)。

## 傳輸閘道服務連結角色
<a name="tgw-service-linked-roles"></a>

當您使用傳輸閘道時，Amazon VPC 使用服務連結角色，取得其代表您呼叫其他 AWS 服務所需的許可。

### 服務連結角色授予的許可
<a name="service-linked-role-permissions"></a>

使用傳輸閘道時，Amazon VPC 會使用名為 **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 連線到傳輸閘道時，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>

如果您不再需要使用傳輸閘道，建議您刪除 **AWSServiceRoleForVPCTransitGateway**。

只有在您刪除 AWS 帳戶中的所有傳輸閘道 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 連線至傳輸閘道，Amazon VPC 會再次建立此角色。

# AWS AWS 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 受管政策中定義的許可，則更新會影響政策連接的所有主體身分 （使用者、群組和角色）。 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 為傳輸閘道連接建立和管理資源。

若要檢視此政策的許可，請參閱《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 受管政策更新的詳細資訊。


| 變更 | 描述 | Date | 
| --- | --- | --- | 
| Amazon VPC 開始追蹤變更 | Amazon VPC 開始追蹤其 AWS 受管政策的變更。 | 2021 年 3 月 1 日 | 

# AWS Transit Gateway 中傳輸閘道的網路 ACLs
<a name="tgw-nacls"></a>

網路存取控制清單 (NACL) 是選擇性的安全性層。

網路存取控制清單 (NACL) 規則會以不同方式套用，視案例而定：
+ [EC2 執行個體和傳輸閘道關聯的相同子網路](#nacl-tgw-same-subnet)
+ [EC2 執行個體和傳輸閘道關聯的不同子網路](#nacl-tgw-different-subnet)

## EC2 執行個體和傳輸閘道關聯的相同子網路
<a name="nacl-tgw-same-subnet"></a>

考慮這樣一個組態，即在相同子網路中擁有 EC2 執行個體和傳輸閘道關聯。相同的網路 ACL 用於從 EC2 執行個體到傳輸閘道的流量，以及從傳輸閘道到執行個體的流量。

針對從執行個體到傳輸閘道的流量，NACL 規則按以下進行套用：
+ 傳出規則使用目的地 IP 地址進行評估。
+ 傳入規則使用來源 IP 地址進行評估。

針對從傳輸閘道執行個體的流量，NACL 規則按以下方式進行套用：
+ 傳出規則不會進行評估。
+ 傳入規則不會進行評估。

## EC2 執行個體和傳輸閘道關聯的不同子網路
<a name="nacl-tgw-different-subnet"></a>

考慮這樣一個組態，即在一個子網路中擁有 EC2 執行個體，而傳輸閘道關聯位於不同子網路中，並且每個子網路都與不同的網路 ACL 相關聯。

網路 ACL 規則按如下 EC2 執行個體子網路的方式進行套用：
+ 傳出規則使用目的地 IP 地址評估從執行個體到傳輸閘道的流量。
+ 傳入規則使用來源 IP 地址評估從傳輸閘道到執行個體的流量。

針對傳輸閘道子網路，NACL 規則按以下方式進行套用：
+ 傳出規則使用目的地 IP 地址評估從傳輸閘道到執行個體的流量。
+ 傳出規則不用於評估從執行個體到傳輸網關的流量。
+ 傳入規則使用來源 IP 地址評估從執行個體到傳輸閘道的流量。
+ 傳入規則不用於評估從傳輸閘道到執行個體的流量。

## 最佳實務
<a name="nacl-best-practices"></a>

為每個傳輸閘道 VPC 連接使用個別子網路。對於每個子網路，請使用小型 CIDR (例如 /28)，以便擁有 EC2 資源的更多位址。當您使用獨立的子網路時，您可以設定下列項目：
+ 保持與傳輸閘道子網路相關聯的輸入和輸出 NACL 之開啟。
+ 視您的流量而定，您可以將 NACL 套用至工作負載子網路。

如需 VPC 連接運作方式的詳細資訊，請參閱 [資源連接](how-transit-gateways-work.md#tgw-attachments-overview)。