Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

资源 ID

创建资源时,我们会为每个资源分配一个唯一资源 ID。您可以使用资源 ID 在 Amazon EC2 控制台中查找您的资源。如果您正在通过命令行工具或 Amazon EC2 API 使用 Amazon EC2,则某些命令需要资源 ID。例如,如果您正在使用 stop-instances AWS CLI 命令来停止实例,则必须在该命令中指定实例 ID。

资源 ID 长度

资源 ID 采用以下格式:资源标识符 (例如,快照的 snap) 后接连字符以及字母与数字的唯一组合。自 2016 年 1 月起,我们将逐步引入适合 Amazon EC2 和 Amazon EBS 资源类型的较长 ID。字母数字字符组合的长度采用 8 个字符的格式;新 ID 采用 17 个字符的格式,例如实例 ID 的 i-1234567890abcdef0

支持的资源类型有一个选择周期,在此期间您可以选择资源 ID 格式和截止日期,在此之后资源默认为较长 ID 格式。 在为特定资源类型传递截止时间后,您不能再对该资源类型禁用较长 ID 格式。

不同的资源类型具有不同的选择周期和截止日期。下表列出受支持的资源类型及其选择周期和截止日期。

资源类型 选择周期 截止日期

instance | snapshot |reservation | volume

不再可用

2016 年 12 月 15 日

bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation |

elastic-ip-association | export-task | flow-log | image | import-task |

internet-gateway | network-acl | network-acl-association |

network-interface | network-interface-attachment | prefix-list |

route-table | route-table-association | security-group | subnet |

subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint |

vpc-peering-connection | vpn-connection | vpn-gateway

2018 年 2 月 9 日至 2018 年 6 月 30 日 2018 年 6 月 30 日

在选择周期内

您可以在选择周期内随时对资源启用或禁用较长 ID。 在为某个资源类型启用较长 ID 后,您创建的任何新资源在创建后将拥有较长 ID。

注意

资源 ID 在创建后不会更改。因此,在选择周期内启用或禁用较长 ID 不会影响现有的资源 ID。

根据您创建 AWS 账户的时间,支持的资源类型可能默认为使用较长 ID。但是,在该资源类型的截止日期前,您可以选择不再使用较长 ID。有关更多信息,请参阅 Amazon EC2 常见问题 中的较长的 EC2 和 EBS 资源 ID

在截止日期之后

不能在截止日期结束后对资源类型禁用较长 ID。您创建的所有新资源都是使用较长 ID 创建的。

使用较长的 ID

您可以按 IAM 用户和 IAM 角色启用或禁用较长 ID。默认情况下,IAM 用户或角色的默认设置与根用户相同。

查看较长 ID 设置

您可以使用控制台和命令行工具查看支持较长 ID 的资源类型。

使用控制台查看较长 ID 设置

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在屏幕顶部的导航栏中,选择您可以查看较长 ID 设置的区域。

  3. 在控制面板中的 Account Attributes 下,选择 Resource ID length management

  4. 展开 Advanced Resource ID Management 以查看支持较长 ID 及其截止日期的资源类型。

使用命令行查看较长 ID 设置

使用以下命令之一:

  • describe-id-format (AWS CLI)

    aws ec2 describe-id-format --region region
  • Get-EC2IdFormat (适用于 Windows PowerShell 的 AWS 工具)

    Get-EC2IdFormat -Region region

使用命令行查看特定 IAM 用户或 IAM 角色的较长 ID 设置

使用以下命令之一,并在请求中指定 IAM 用户、IAM 角色或根账户用户的 ARN。

  • describe-identity-id-format (AWS CLI)

    aws ec2 describe-identity-id-format --principal-arn arn-of-iam-principal --region region
  • Get-EC2IdentityIdFormat (适用于 Windows PowerShell 的 AWS 工具)

    Get-EC2IdentityIdFormat -PrincipalArn arn-of-iam-principal -Region region

使用命令行查看特定区域的聚合较长 ID 设置

使用 describe-aggregate-id-format AWS CLI 命令查看整个区域的聚合较长 ID 设置,以及每个资源类型的所有 ARN 的聚合较长 ID 设置。此命令对于执行快速审核非常有用,可以确定某个特定区域是否针对较长 ID 完全选择加入。

aws ec2 describe-aggregate-id-format --region region

标识显式定义了自定义较长 ID 设置的用户

使用 describe-principal-id-format AWS CLI 查看查看根用户以及所有显式指定了较长 ID 首选项的 IAM 角色和 IAM 用户。此命令对于标识已覆盖默认较长 ID 设置的 IAM 用户和 IAM 角色非常有用。

aws ec2 describe-principal-id-format --region region

修改较长 ID 设置

您可以使用控制台和命令行工具修改仍在选择周期内的资源类型的较长 ID 设置。

注意

此部分中的 AWS CLI 和 适用于 Windows PowerShell 的 AWS 工具 命令是仅针对每个区域的。除非另行指定,否则它们适用于默认区域。要修改其他区域的设置,请在命令中包括 region 参数。

使用控制台修改较长 ID 设置

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在屏幕顶部的导航栏中,选择您可以修改较长 ID 设置的区域。

  3. 在控制面板中的 Account Attributes 下,选择 Resource ID length management

  4. 执行以下任一操作:

    • 要跨所有区域对所有 IAM 用户支持的所有资源类型启用较长 ID,请选择 Switch to longer IDsYes, switch to longer IDs

      重要

      IAM 用户和 IAM 角色需要 ec2:ModifyIdentityIdFormat 权限来执行此操作。

    • 要修改您的 IAM 用户账户的特定资源类型的较长 ID 设置,请展开 Advanced Resource ID Management,然后在 My IAM Role/User 列中选择相应的复选框以启用较长 ID,或者禁用该复选框以禁用较长 ID。

    • 要修改所有 IAM 用户的特定资源类型的较长 ID 设置,请展开 Advanced Resource ID Management,然后在 All IAM Roles/Users 列中选择相应的复选框以启用较长 ID,或者禁用该复选框以禁用较长 ID。

使用命令行修改您的 IAM 用户账户的较长 ID 设置

使用以下命令之一:

注意

如果您以根用户的身份使用这些命令,则这些更改将适用于整个 AWS 账户,除非 IAM 用户或角色明确为其覆盖这些设置。

  • modify-id-format (AWS CLI)

    aws ec2 modify-id-format --resource resource_type --use-long-ids

    您还可以使用该命令修改所有受支持资源类型的较长 ID 设置。为此,请将 resource_type 参数替换为 all-current

    aws ec2 modify-id-format --resource all-current --use-long-ids

    注意

    要禁用较长 ID,请将 use-long-ids 参数替换为 no-use-long-ids

  • Edit-EC2IdFormat (适用于 Windows PowerShell 的 AWS 工具)

    Edit-EC2IdFormat -Resource resource_type -UseLongId boolean

    您还可以使用该命令修改所有受支持资源类型的较长 ID 设置。为此,请将 resource_type 参数替换为 all-current

    Edit-EC2IdFormat -Resource all-current -UseLongId boolean

使用命令行修改特定 IAM 用户或 IAM 角色的较长 ID 设置

使用以下命令之一,并在请求中指定 IAM 用户、IAM 角色或根用户的 ARN。

  • modify-identity-id-format (AWS CLI)

    aws ec2 modify-identity-id-format --principal-arn arn-of-iam-principal --resource resource_type --use-long-ids

    您还可以使用该命令修改所有受支持资源类型的较长 ID 设置。为此,请为 --resource 参数指定 all-current

    aws ec2 modify-identity-id-format --principal-arn arn-of-iam-principal --resource all-current --use-long-ids

    注意

    要禁用较长 ID,请将 use-long-ids 参数替换为 no-use-long-ids

  • Edit-EC2IdentityIdFormat (适用于 Windows PowerShell 的 AWS 工具)

    Edit-EC2IdentityIdFormat -PrincipalArn arn-of-iam-principal -Resource resource_type -UseLongId boolean

    您还可以使用该命令修改所有受支持资源类型的较长 ID 设置。为此,请为 -Resource 参数指定 all-current

    Edit-EC2IdentityIdFormat -PrincipalArn arn-of-iam-principal -Resource all-current -UseLongId boolean

控制对较长 ID 设置的访问

默认情况下,IAM 用户和角色没有使用以下操作的权限,除非他们通过关联的 IAM 策略明确获得了相应权限:

  • ec2:DescribeIdFormat

  • ec2:DescribeIdentityIdFormat

  • ec2:DescribeAggregateIdFormat

  • ec2:DescribePrincipalIdFormat

  • ec2:ModifyIdFormat

  • ec2:ModifyIdentityIdFormat

例如,通过在策略语句中添加 "Action": "ec2:*" 元素可授予 IAM 角色使用所有 Amazon EC2 操作的权限。

为防止 IAM 用户和角色查看或修改其自身或您的账户中的其他用户和角色的较长资源 ID 设置,请确保 IAM 策略包含以下语句:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:ModifyIdFormat", "ec2:DescribeIdFormat", "ec2:ModifyIdentityIdFormat", "ec2:DescribeIdentityIdFormat", "ec2:DescribeAggregateIdFormat", "ec2:DescribePrincipalIdFormat" ], "Resource": "*" } ] }

对于以下操作,我们不支持资源级权限:

  • ec2:DescribeIdFormat

  • ec2:DescribeIdentityIdFormat

  • ec2:DescribeAggregateIdFormat

  • ec2:DescribePrincipalIdFormat

  • ec2:ModifyIdFormat

  • ec2:ModifyIdentityIdFormat