

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

# AWS Transit Gateway의 자격 증명 및 액세스 관리
<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` 조건 키를 사용하려면 사용자가 `stack=prod` 태그를 사용하여 Transit Gateway에 태그를 지정해야 합니다. `aws:TagKeys` 조건 키는 `ForAllValues` 한정자를 사용하여 요청에 `stack` 키만 허용됨을 나타냅니다(다른 어떤 태그도 지정할 수 없음). 사용자가 Transit Gateway를 생성할 때 이 태그를 전달하지 않거나 태그를 전혀 지정하지 않으면 요청이 실패합니다.

두 번째 문은 `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/*"
        }
    ]
}
```

------

# AWS Transit Gateway의 전송 게이트웨이에 서비스 연결 역할 사용
<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)을 참조하세요.

## Transit Gateway 서비스 연결 역할
<a name="tgw-service-linked-roles"></a>

Amazon VPC는 Transit Gateway에서 작업할 때 귀하를 대신 다른 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** 역할은 수동으로 생성할 필요가 없습니다. Amazon VPC는 계정의 VPC를 Transit Gateway에 연결할 때 사용자를 대신해 이 역할을 생성합니다.

### 서비스 연결 역할 편집
<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 계정의 모든 전송 게이트웨이 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의 전송 게이트웨이에 대한 관리형 정책
<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 AWS 서비스 는 새가 시작되거나 기존 서비스에 새 API 작업을 사용할 수 있게 될 때 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 Attachment에 대한 리소스를 생성하고 관리할 수 있습니다.

이 정책의 권한을 보려면 *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 인스턴스 및 Transit Gateway Attachment에 동일한 서브넷 사용](#nacl-tgw-same-subnet)
+ [EC2 인스턴스 및 Transit Gateway Attachment에 다른 서브넷 사용](#nacl-tgw-different-subnet)

## EC2 인스턴스 및 Transit Gateway Attachment에 동일한 서브넷 사용
<a name="nacl-tgw-same-subnet"></a>

동일한 서브넷을 이용하는 EC2 인스턴스 및 Transit Gateway Attachment 구성을 고려합니다. EC2 인스턴스에서 Transit Gateway로 이동하는 트래픽과 Transit Gateway에서 인스턴스로 이동하는 트래픽 모두에 동일한 네트워크 ACL이 사용됩니다.

NACL 규칙은 인스턴스에서 Transit Gateway로 이동하는 트래픽에 대해 다음과 같이 적용됩니다.
+ 아웃바운드 규칙은 평가를 위해 대상 IP 주소를 사용합니다.
+ 인바운드 규칙은 평가를 위해 소스 IP 주소를 사용합니다.

NACL 규칙은 Transit Gateway에서 인스턴스로 이동하는 트래픽에 대해 다음과 같이 적용됩니다.
+ 아웃바운드 규칙은 평가되지 않습니다.
+ 인바운드 규칙은 평가되지 않습니다.

## EC2 인스턴스 및 Transit Gateway Attachment에 다른 서브넷 사용
<a name="nacl-tgw-different-subnet"></a>

한 서브넷에 EC2 인스턴스가 있고 다른 서브넷에 Transit Gateway Attachment가 있으며 각 서브넷이 다른 네트워크 ACL과 연결된 구성을 고려합니다.

네트워크 ACL 규칙은 EC2 인스턴스 서브넷에 대해 다음과 같이 적용됩니다.
+ 아웃바운드 규칙은 대상 IP 주소를 사용하여 인스턴스에서 Transit Gateway로 이동하는 트래픽을 평가합니다.
+ 인바운드 규칙은 소스 IP 주소를 사용하여 Transit Gateway에서 인스턴스로 이동하는 트래픽을 평가합니다.

NACL 규칙은 Transit Gateway 서브넷에 대해 다음과 같이 적용됩니다.
+ 아웃바운드 규칙은 대상 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) 단원을 참조하세요.