

# IPAM의 자격 증명 및 액세스 관리
<a name="iam-ipam"></a>

AWS는 보안 보안 인증을 사용하여 사용자를 식별하고 AWS리소스에 대한 액세스 권한을 부여합니다. AWS Identity and Access Management(IAM)의 기능을 사용하면 보안 보안 인증을 공유하지 않고도 다른 사용자, 서비스 및 애플리케이션이 AWS리소스를 완전히 또는 제한된 방식으로 사용할 수 있습니다.

이 섹션에서는 IPAM을 위해 특별히 생성된 AWS 서비스 연결 역할 및 IPAM 서비스 연결 역할에 연결된 관리형 정책에 대해 설명합니다. AWS IAM 역할 및 정책에 대한 자세한 내용은 *IAM 사용 설명서*의 [역할 용어 및 개념](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)을 참조하세요.

VPC의 자격 증명 및 액세스 관리에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [Amazon VPC의 자격 증명 및 액세스 관리](https://docs.aws.amazon.com/vpc/latest/userguide/security-iam.html)를 참조하세요.

**Topics**
+ [IPAM의 서비스 연결 역할](iam-ipam-slr.md)
+ [IPAM에 대한 AWS 관리형 정책](iam-ipam-managed-pol.md)
+ [예제 정책](iam-ipam-policy-examples.md)

# IPAM의 서비스 연결 역할
<a name="iam-ipam-slr"></a>

IPAM은 AWS Identity and Access Management(IAM) 서비스 연결 역할을 사용합니다. 서비스 링크 역할은 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 IPAM에서 사전 정의하며 서비스에서 다른 AWS 서비스를 자동으로 직접 호출하기 위해 필요한 모든 권한을 포함합니다.

필요한 권한을 수동으로 추가할 필요가 없으므로 서비스 연결 역할은 IPAM을 더 쉽게 설정할 수 있습니다. IPAM에서 서비스 연결 역할의 권한을 정의하므로 다르게 정의되지 않은 한, IPAM만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔티티에 연결할 수 없습니다.

## 서비스 연결 역할 권한
<a name="service-linked-role-permissions"></a>

IPAM은 **AWSServiceRoleForIPAM** 서비스 연결 역할을 사용하여 연결된 **AWSIPAMServiceRolePolicy** 관리형 정책에서 작업을 호출합니다. 해당 정책에서 허용된 작업에 대한 자세한 내용은 [IPAM에 대한 AWS 관리형 정책](iam-ipam-managed-pol.md) 섹션을 참조하세요.

또한 서비스 연결 역할에는 `ipam.amazonaws.com` 서비스가 서비스 연결 역할을 맡도록 허용하는 [IAM 신뢰 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)이 연결되어 있습니다.

## 서비스 연결 역할 생성
<a name="create-service-linked-role"></a>

IPAM은 계정에서 서비스 연결 역할을 맡고, 리소스 및 해당 CIDR을 검색하고, 리소스를 IPAM과 통합하여 하나 이상의 계정의 IP 주소 사용량을 모니터링합니다.

서비스 연결 역할은 다음의 두 가지 방법 중 하나로 생성됩니다.
+ **AWS Organizations과 통합하는 경우**

  IPAM 콘솔 [AWS Organization에서 계정과 IPAM 통합](enable-integ-ipam.md)또는 `enable-ipam-organization-admin-account` AWS CLI 명령을 사용하는 경우 **AWSServiceRoleForIPAM** 서비스 연결 역할이 각 AWS Organizations 멤버 계정에서 자동으로 생성됩니다. 따라서 모든 멤버 계정 내의 리소스는 IPAM에서 검색할 수 있습니다.
**중요**  
IPAM이 사용자를 대신하여 서비스 연결 역할을 생성할 수 있도록 하려면 다음을 수행합니다.  
AWS Organizations과 IPAM 통합을 사용하는 AWS Organizations 관리 계정에는 다음 작업을 허용하는 IAM 정책이 연결되어 있어야 합니다.  
`ec2:EnableIpamOrganizationAdminAccount`
`organizations:EnableAwsServiceAccess`
`organizations:RegisterDelegatedAdministrator`
`iam:CreateServiceLinkedRole`
IPAM 계정에는 `iam:CreateServiceLinkedRole` 작업을 허용하는 IAM 정책이 연결되어 있어야 합니다.
+ **단일 AWS 계정을 사용하여 IPAM을 생성하는 경우**

  [단일 계정을 통해 IPAM 사용](enable-single-user-ipam.md)이면 해당 계정으로 IPAM을 생성할 때 **AWSServiceRoleForIPAM** 서비스 연결 역할이 자동으로 생성됩니다.
**중요**  
단일 AWS 계정으로 IPAM을 사용하는 경우, IPAM을 생성하기 전에 사용 중인 AWS 계정에 `iam:CreateServiceLinkedRole` 작업을 허용하는 IAM 정책이 연결되어 있는지 확인해야 합니다. IPAM을 생성할 경우 **AWSServiceRoleForIPAM** 서비스 연결 역할이 자동으로 생성됩니다. IAM 정책 관리에 대한 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 설명 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-service-linked-role.html#edit-service-linked-role-iam-console)을 참조하세요.

## 서비스 연결 역할 편집
<a name="edit-service-linked-role"></a>

**AWSServiceRoleForIPAM** 서비스 연결 역할은 편집할 수 없습니다.

## 서비스 연결 역할 삭제
<a name="delete-service-linked-role"></a>

IPAM을 더 이상 사용할 필요 없는 경우 **AWSServiceRoleForIPAM** 서비스 연결 역할을 삭제하는 것이 좋습니다.

**참고**  
서비스 연결 역할은 AWS 계정에서 IPAM 리소스를 모두 삭제한 후에만 삭제할 수 있습니다. 이렇게 하면 IPAM의 모니터링 기능은 실수로 제거될 수 없습니다.

AWS CLI를 사용하여 서비스 연결 역할을 삭제하려면 다음 단계를 따릅니다.

1. [deprovision-ipam-pool-cidr](https://docs.aws.amazon.com/cli/latest/reference/ec2/deprovision-ipam-pool-cidr.html) 및 [delete-ipam](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-ipam.html)을 사용하여 IPAM 리소스를 삭제합니다. 자세한 내용은 [풀에서 CIDR 프로비저닝 해제](depro-pool-cidr-ipam.md) 및 [IPAM 삭제](delete-ipam.md) 섹션을 참조하세요.

1. [disable-ipam-organization-admin-account](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-ipam-organization-admin-account.html)를 사용하여 IPAM 계정을 사용 중지합니다.

1. `--service-principal ipam.amazonaws.com` 옵션을 사용하여 [disable-aws-service-access](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/disable-aws-organizations-access.html)로 IPAM 서비스를 사용 중지합니다.

1. 서비스 연결 역할 삭제: [delete-service-linked-role](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/delete-service-linked-role.html). 서비스 연결 역할을 삭제하면 IPAM 관리형 정책도 삭제됩니다. 자세한 내용은 IAM 사용 설명서에서 [서비스 연결 역할 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr)를 참조하세요.**

# IPAM에 대한 AWS 관리형 정책
<a name="iam-ipam-managed-pol"></a>

단일 AWS 계정을 사용하여 IPAM을 사용 중이고 IPAM을 생성하는 경우 **AWSIPAMServiceRolePolicy** 관리형 정책이 IAM 계정에 자동으로 생성되고 **AWSServiceRoleForIPAM** [서비스 연결 역할](iam-ipam-slr.md)에 연결됩니다.

AWS Organizations과의 IPAM 통합을 사용하면 **AWSIPAMServiceRolePolicy** 관리형 정책이 IAM 계정과 각 AWS Organizations 멤버 계정에 자동으로 생성되고 관리형 정책은 **AWSServiceRoleForIPAM** 서비스 연결 역할에 연결됩니다.

이 관리형 정책을 사용하면 IPAM이 다음을 수행할 수 있습니다.
+ AWS Organizations의 모든 멤버에 걸쳐 네트워킹 리소스와 연결된 CIDR을 모니터링합니다.
+ IPAM 풀에서 사용 가능한 IP 주소 공간 및 할당 규칙을 준수하는 리소스 CIDR 수 등 IPAM과 관련된 지표를 Amazon CloudWatch에 저장합니다.
+ 관리형 접두사 목록을 수정하고 읽습니다.

다음은 생성된 관리형 정책의 세부 정보를 보여주는 예입니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "IPAMDiscoveryDescribeActions",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeAddresses",
                "ec2:DescribeByoipCidrs",
                "ec2:DescribeIpv6Pools",
                "ec2:DescribeManagedPrefixLists",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribePublicIpv4Pools",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSecurityGroupRules",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpnConnections",
                "ec2:GetIpamDiscoveredAccounts",
                "ec2:GetIpamDiscoveredPublicAddresses",
                "ec2:GetIpamDiscoveredResourceCidrs",
                "ec2:GetManagedPrefixListEntries",
                "ec2:ModifyManagedPrefixList",
                "globalaccelerator:ListAccelerators",
                "globalaccelerator:ListByoipCidrs",
                "organizations:DescribeAccount",
                "organizations:DescribeOrganization",
                "organizations:ListAccounts",
                "organizations:ListDelegatedAdministrators",
                "organizations:ListChildren",
                "organizations:ListParents",
                "organizations:DescribeOrganizationalUnit"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudWatchMetricsPublishActions",
            "Effect": "Allow",
            "Action": "cloudwatch:PutMetricData",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": "AWS/IPAM"
                }
            }
        }
    ]
}
```

------

위 예의 첫 번째 명령문을 사용하면 IPAM이 단일 AWS 계정 또는 AWS Organizations의 멤버를 사용해 CIDR을 모니터링할 수 있습니다.

위 예의 두 번째 명령문은 `cloudwatch:PutMetricData` 조건 키를 사용하여 IPAM이 IPAM 지표를 `AWS/IPAM` [Amazon CloudWatch 네임공간](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)에 저장하도록 허용합니다. 이러한 지표는 IPAM 풀 및 범위의 할당에 대한 데이터를 표시하는 AWS Management Console에서 사용합니다. 자세한 내용은 [IPAM 대시보드를 사용하여 CIDR 사용량 모니터링](monitor-cidr-usage-ipam.md) 섹션을 참조하세요.

## AWS 관리형 정책으로 업데이트
<a name="iam-ipam-managed-pol-updates"></a>

이 서비스가 이러한 변경 내용을 추적하기 시작한 이후부터 IPAM의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다.


| 변경 | 설명 | 날짜 | 
| --- | --- | --- | 
|  AWSIPAMServiceRolePolicy  |  IPAM이 관리형 접두사 목록을 수정하고 읽을 수 있도록 AWSIPAMServiceRolePolicy 관리형 정책(ec2:ModifyManagedPrefixListec2:DescribeManagedPrefixLists, 및 ec2:GetManagedPrefixListEntries)에 작업을 추가했습니다.  |  2025년 10월 31일  | 
|  AWSIPAMServiceRolePolicy  |  고객이 조직 단위(OU) 수준에서 IPAM을 사용할 수 있도록 IPAM이 AWS Organizations의 OU 세부 정보를 가져오도록 허용하는 작업이 AWSIPAMServiceRolePolicy 관리형 정책(`organizations:ListChildren`,`organizations:ListParents` 및 `organizations:DescribeOrganizationalUnit`)에 추가되었습니다.  | 2024년 11월 21일 | 
|  AWSIPAMServiceRolePolicy  |  리소스 검색 중에 IPAM이 퍼블릭 IP 주소를 가져올 수 있도록 AWSIPAMServiceRolePolicy 관리형 정책(`ec2:GetIpamDiscoveredPublicAddresses`)에 작업이 추가되었습니다.  | 2023년 11월 13일 | 
|  AWSIPAMServiceRolePolicy  | 리소스 검색 중에 IPAM이 퍼블릭 IP 주소를 가져올 수 있도록 AWSIPAMServiceRolePolicy 관리형 정책(ec2:DescribeAccountAttributes, ec2:DescribeNetworkInterfaces, ec2:DescribeSecurityGroups, ec2:DescribeSecurityGroupRules, ec2:DescribeVpnConnections, globalaccelerator:ListAccelerators, globalaccelerator:ListByoipCidrs)에 작업이 추가되었습니다. | 2023년 11월 1일 | 
|  AWSIPAMServiceRolePolicy  |  IPAM이 리소스 검색 중에 모니터링되는 AWS 계정과 리소스 CIDR을 가져올 수 있도록 AWSIPAMServiceRolePolicy 관리형 정책에 두 가지 작업(`ec2:GetIpamDiscoveredAccounts` 및 `ec2:GetIpamDiscoveredResourceCidrs`)이 추가되었습니다.  | 2023년 1월 25일 | 
| IPAM이 변경 사항 추적 시작 |  IPAM이 AWS 관리형 정책에 대한 변경 내용 추적을 시작했습니다.  | 2021년 12월 2일 | 

# 예제 정책
<a name="iam-ipam-policy-examples"></a>

이 섹션의 예제 정책에는 전체 IPAM 사용에 대한 모든 관련 AWS Identity and Access Management(IAM) 작업이 포함되어 있습니다. IPAM을 사용하는 방식에 따라 모든 IAM 작업을 포함하지 않아도 될 수 있습니다. IPAM 콘솔을 완벽하게 사용하려면 AWS Organizations, AWS Resource Access Manager(AWS RAM), Amazon CloudWatch와 같은 서비스에 대한 추가 IAM 작업을 포함해야 할 수 있습니다.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AssociateIpamByoasn",
                "ec2:DeprovisionIpamByoasn",
                "ec2:DescribeIpamByoasn",                
                "ec2:DisassociateIpamByoasn",
                "ec2:ProvisionIpamByoasn",
                "ec2:CreateIpam",
                "ec2:DescribeIpams",
                "ec2:ModifyIpam",
                "ec2:DeleteIpam",
                "ec2:CreateIpamScope",
                "ec2:DescribeIpamScopes",
                "ec2:ModifyIpamScope",
                "ec2:DeleteIpamScope",
                "ec2:CreateIpamPool",
                "ec2:DescribeIpamPools",
                "ec2:ModifyIpamPool",
                "ec2:DeleteIpamPool",
                "ec2:ProvisionIpamPoolCidr",
                "ec2:GetIpamPoolCidrs",
                "ec2:DeprovisionIpamPoolCidr",
                "ec2:AllocateIpamPoolCidr",
                "ec2:GetIpamPoolAllocations",
                "ec2:ReleaseIpamPoolAllocation",
                "ec2:CreateIpamResourceDiscovery",
                "ec2:DescribeIpamResourceDiscoveries",
                "ec2:ModifyIpamResourceDiscovery",
                "ec2:DeleteIpamResourceDiscovery",
                "ec2:AssociateIpamResourceDiscovery",
                "ec2:DescribeIpamResourceDiscoveryAssociations",
                "ec2:DisassociateIpamResourceDiscovery",
                "ec2:GetIpamResourceCidrs",
                "ec2:ModifyIpamResourceCidr",
                "ec2:GetIpamAddressHistory",
                "ec2:GetIpamDiscoveredResourceCidrs",
                "ec2:GetIpamDiscoveredAccounts",
                "ec2:GetIpamDiscoveredPublicAddresses" 
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/ipam.amazonaws.com/AWSServiceRoleForIPAM",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "ipam.amazonaws.com"
                }
            }
        }
    ]
}
```

------