当 VPC 或 VPC 端点 ID 错误时,如何修复存储桶策略?

2 分钟阅读
0

我的 Amazon Simple Storage Service(Amazon S3)桶指定了错误的 Amazon Virtual Private Cloud(Amazon VPC)ID 或 VPC 端点 ID。我想修复该策略,以便可以再次访问该桶。

解决方法

注意:

VPC ID 或 VPC 端点 ID 有效,但它对应的是错误的 VPC

**注意:**如果您在存储桶策略中指定了 VPC ID,则必须将 VPC 端点与 VPC 关联起来。否则,您将无法更新桶。

完成下面的步骤:

  1. 连接到可用 VPC 中的 Amazon Elastic Compute Cloud(Amazon EC2)实例。
    **注意:**Amazon EC2 实例还必须使用一个路由表,允许流量通过 VPC 端点流向 Amazon S3。此外,该实例必须具有有权限访问 S3 桶的角色或凭证

  2. 在实例中,运行 get-bucket-policy AWS CLI 命令以获取桶策略:

    aws s3api get-bucket-policy --bucket example_bucket
  3. **重要信息:**复制现有的桶策略,以便在以后的步骤中使用。

  4. 删除桶策略:

    aws s3api delete-bucket-policy --bucket example_bucket
  5. 编辑之前的桶策略以指向正确的 VPC 或 VPC 端点。或者,如果您不需要 VPC 来限制访问,请移除 VPC 限制。

  6. 以 JSON 格式保存更正后的策略。

  7. 从有桶访问权限的 AWS 账户,运行 put-bucket-policy 命令,将更正后的桶策略添加到桶:

    aws s3api put-bucket-policy --bucket example_bucket --policy file://policy.json

VPC ID 或 VPC 端点 ID 无效

如果桶策略中的 VPC ID 或 VPC 端点 ID 无效(或键入错误),则您会收到错误。要更新策略,您必须具有账户根用户访问权限。仅具有管理员级别的访问权限将无法编辑或移除策略。

**注意:**这些步骤不适用于 AWS GovCloud(美国)。如果您是 AWS GovCloud(美国)用户,请联系 AWS Support 寻求帮助。

使用 Amazon S3 控制台更正桶策略

完成下面的步骤:

  1. 以根用户身份打开 Amazon S3 控制台
  2. 选择包含要删除或编辑的桶策略的 Amazon S3 桶。
    注意:打开桶后,您可能会在控制台中看到Access Denied错误。您仍然可以继续执行后续步骤。
  3. 选择权限视图。
  4. 选择桶策略
  5. 要删除桶策略,请选择删除。如果只是要编辑 VPC ID 或 VPC 端点 ID,请在桶策略编辑器中更正 ID,然后选择保存
    **警告:**如果您要删除桶策略,请务必保留一个现有桶策略的副本以供参考。

使用 AWS CLI 更正桶策略

**警告:**此过程使用根用户凭证(访问密钥)。最佳做法是仅在紧急情况下或在进行恢复时使用根用户凭证。有关详细信息,请参阅保护您的根用户凭证,不要将其用于日常任务

完成下面的步骤:

  1. 运行以下命令配置 AWS CLI:

    aws configure
  2. 输入您的根用户凭证。有关如何生成这些凭证的说明,请参阅创建根用户的访问密钥

  3. 获取桶策略:

    aws s3api get-bucket-policy --bucket example_bucket
  4. **重要信息:**复制现有的桶策略,以便在以后的步骤中使用。

  5. 运行以下命令删除桶策略:

    aws s3api delete-bucket-policy --bucket example_bucket
  6. 编辑之前的桶策略以指向正确的 VPC 或 VPC 端点。或者,如果您不需要 VPC 来限制访问,请移除 VPC 限制。

  7. 以 JSON 格式保存更正后的策略。

  8. 运行 put-bucket-policy 命令将更正后的桶策略添加到桶:

    aws s3api put-bucket-policy --bucket example_bucket --policy file://policy.json

遵循 AWS 最佳实践

更正桶策略后,请遵循以下最佳实践:

相关信息

使用桶策略控制从 VPC 端点的访问

AWS 官方
AWS 官方已更新 6 个月前