IPAM 使用 AWS Identity and Access Management (IAM) 服务相关角色。服务相关角色是一种独特类型的 IAM 角色。服务相关角色由 IPAM 预定义,并包含该服务代表您调用其他 AWS 服务所需的一切权限。
服务相关角色可让您更轻松地设置 IPAM,因为您不必手动添加必要的权限。IPAM 定义其服务相关角色的权限,除非另外定义,否则只有 IPAM 可以代入该角色。定义的权限包括信任策略和权限策略,而且权限策略不能附加到任何其他 IAM 实体。
服务相关角色权限
IPAM 使用 AWSServiceRoleForIPAM 服务相关角色调用附加的 AWSIPAMServiceRolePolicy 托管策略中的操作。有关该策略中允许执行的操作的详细信息,请参阅 IPAM 的 AWS 托管策略。
服务相关角色还附加一个允许 ipam.amazonaws.com
服务代入服务相关角色的 IAM 信任策略。
创建服务相关角色
IPAM 通过在账户中担任服务相关角色、发现资源及其 CIDR 并将资源与 IPAM 集成来监控一个或多个账户中的 IP 地址使用情况。
可通过以下两种方式之一创建服务相关角色:
-
当与 AWS Organizations 集成时
如果 将 IPAM 与 AWS Organization 中的账户集成 使用 IPAM 控制台或使用
enable-ipam-organization-admin-account
AWS CLI CLI 命令,则 AWSServiceRoleForIPAM 服务相关角色将在您的每个 AWS Organizations 成员账户中自动创建。因此,IPAM 可以发现所有成员账户中的资源。重要
要让 IPAM 代表您创建服务相关角色,请执行以下操作:
-
启用 IPAM 与 AWS Organizations 集成的 AWS Organizations 管理账户必须附加允许以下操作的 IAM 策略:
-
ec2:EnableIpamOrganizationAdminAccount
-
organizations:EnableAwsServiceAccess
-
organizations:RegisterDelegatedAdministrator
-
iam:CreateServiceLinkedRole
-
-
IPAM 账户必须附加允许
iam:CreateServiceLinkedRole
操作的 IAM 策略。
-
-
当您使用单个 AWS 账户创建 IPAM 时
如果将 IPAM 用于单个账户,则当您将 IPAM 创建为账户时,将自动创建 AWSServiceRoleForIPAM 服务相关角色。
重要
如果您将 IPAM 与单个 AWS 账户一起使用,则在创建 IPAM 之前,必须确保您使用的 AWS 账户附加了允许
iam:CreateServiceLinkedRole
操作的 IAM 策略。创建 IPAM 时,将自动创建 AWSServiceRoleForIPAM 服务相关角色。有关管理 IAM 策略的更多信息,请参阅《IAM 用户指南》中的编辑服务相关角色描述。
编辑服务相关角色
您无法编辑 AWSServiceRoleForIPAM 服务相关角色。
删除服务相关角色
如果您不再需要使用 IPAM,我们建议您删除 AWSServiceRoleForIPAM 服务相关角色。
注意
只有删除您的AWS账户中的所有 IPAM 资源之后,您才可以删除服务相关角色。这可确保您不会无意中删除 IPAM 的监控功能。
请按照以下步骤通过 AWS CLI 删除服务相关角色:
使用 deprovision-ipam-pool-cidr
和 delete-ipam 删除 IPAM 资源。有关更多信息,请参阅 从池中取消预置 CIDR 和 删除 IPAM。 使用 disable-ipam-organization-admin-account
禁用 IPAM 账户。 使用
--service-principal ipam.amazonaws.com
选项通过 disable-aws-service-access禁用 IPAM 服务。 删除服务相关角色:delete-service-linked-role
。删除服务相关角色时,IPAM 托管策略也将删除。有关更多信息,请参阅《IAM 用户指南》中的删除服务相关角色。