ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

AWS CLI accessanalyzer get-analyzed-resource 命令详解:查询被分析资源的访问详情

2026/9/13 19:12:07 拓冰建站 浏览量
AWS CLI accessanalyzer get-analyzed-resource 命令详解:查询被分析资源的访问详情 AWS CLI accessanalyzer get-analyzed-resource 命令详解查询被分析资源的访问详情【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli本篇指南聚焦 AWS CLI 中accessanalyzer get-analyzed-resource命令的完整用法。通过该命令你可以基于分析器Analyzer的 ARN 与目标资源的 ARN精确查询 IAM Access Analyzer 对该资源的分析结论如是否公开、资源所有者、最近分析时间等。读完本文你将掌握该命令的参数构成、输出字段语义、底层请求实现以及常见错误的排查方法。命令用途与适用场景get-analyzed-resource用于检索一个已被分析器分析过的资源的信息。它回答的核心问题是这个资源如 S3 存储桶、IAM 角色在外部访问分析器中记录了哪些访问特征典型使用场景包括审计某个 S3 存储桶是否被分析器判定为公开isPublic字段获取资源的 ARN、所属账号与资源类型用于后续与list-findings、get-finding等命令联动校验start-resource-scan发起的重新扫描是否已完成通过对比analyzedAt时间戳。适用范围限制根据 service-2.json 中的操作说明此操作仅支持外部访问分析器external access analyzers不适用于 unused-access 或 internal-access 类型的分析器。命令语法与参数详解命令的基础语法为aws accessanalyzer get-analyzed-resource \ --analyzer-arn value \ --resource-arn value该命令包含两个必填参数与 service-2.json 中GetAnalyzedResourceRequest的required列表一致参数类型必填说明--analyzer-arnstring是分析器的 ARN用于指定从哪个分析器获取信息。对应模型中的AnalyzerArn形状模式为[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}即 ARN 末尾必须带analyzer/前缀及 1~255 个字符的分析器名称。--resource-arnstring是目标资源的 ARN。对应ResourceArn形状模式为arn:[^:]*:[^:]*:[^:]*:[^:]*:.*即标准六段式 ARN。参数如何传送到服务端从 service-2.json 的操作定义可以看到GetAnalyzedResource是一个只读readonlyGET 操作HTTP 方法GET请求路径/analyzed-resource两个参数均通过querystring查询字符串传递locationName分别为analyzerArn与resourceArn这意味着当你执行上述命令时实际发出的 HTTPS 请求形如GET /analyzed-resource?analyzerArn...resourceArn... HTTP/1.1 Host: access-analyzer.us-west-2.amazonaws.com了解这一点有助于你通过 VPC Flow Logs、API Gateway 日志或抓包工具核对命令是否按预期触发了请求。完整示例与输出解读以下示例直接继承自 get-analyzed-resource.rst用于检索账号中已被分析的一个资源aws accessanalyzer get-analyzed-resource \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-arn arn:aws:s3:::amzn-s3-demo-bucket输出示例{ resource: { analyzedAt: 2024-02-15T18:01:53.00200000:00, isPublic: false, resourceArn: arn:aws:s3:::amzn-s3-demo-bucket, resourceOwnerAccount: 111122223333, resourceType: AWS::S3::Bucket } }输出字段逐项说明响应中的resource字段对应模型中的AnalyzedResource结构定义见 service-2.json其中以下字段为必返字段required列表resourceArn、resourceType、createdAt、analyzedAt、updatedAt、isPublic、resourceOwnerAccount。字段类型语义resourceArnstring被分析资源的 ARN。resourceTypestring被分析资源的类型例如AWS::S3::Bucket、AWS::IAM::Role、AWS::SNS::Topic。createdAtTimestamp该资源对应 finding发现项被创建的时间。analyzedAtTimestamp资源最近一次被分析的时间。可与start-resource-scan触发的时间比对判断扫描是否已生效。updatedAtTimestamp该 finding 最近一次被更新的时间。isPublicboolean生成该 finding 的策略是否向资源授予了公开访问权限。false表示分析器未发现公开访问路径。resourceOwnerAccountstring拥有该资源的 AWS 账号 ID。actionslist可选返回外部主体external principal被策略授予的操作列表。sharedVialist可选返回访问的授予方式仅对 S3 存储桶的 finding 填充例如存储桶策略、访问控制列表等。statusstring该 finding 的当前状态ACTIVE/ARCHIVED/RESOLVED等。errorstring分析资源时发生错误时的错误消息未出错时不返回。上面的示例输出未展示createdAt、updatedAt、actions、sharedVia、status、error等可选字段——这是因为分析器未发现公开访问路径时这些字段往往不出现或为空。若你的资源存在公开访问问题输出会包含isPublic: true及对应的actions、sharedVia明细可直接作为修复策略的依据。与相关命令的联动从创建分析器到查询资源get-analyzed-resource处于 Access Analyzer 工作流的查询环节通常与以下命令配合使用示例文档均位于 awscli/examples/accessanalyzer/创建分析器create-analyzer.rst 展示如何创建分析器。创建完成后分析器会持续分析区域内的受支持资源。列出已分析资源list-analyzed-resources.rst 展示如何按--analyzer-arn与可选的--resource-type列出该分析器下所有已分析的资源摘要仅含resourceArn、resourceOwnerAccount、resourceType三项。你可以先执行它拿到目标资源的 ARN再用get-analyzed-resource获取完整详情。手动触发重扫start-resource-scan.rst 展示如何对指定资源发起扫描。扫描完成后再执行get-analyzed-resource即可读取最新分析结果。一个典型的排查链路如下# 1. 列出分析器下所有已分析的 S3 存储桶 aws accessanalyzer list-analyzed-resources \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-type AWS::S3::Bucket # 2. 获取指定存储桶的完整分析详情 aws accessanalyzer get-analyzed-resource \ --analyzer-arn arn:aws:access-analyzer:us-west-2:111122223333:analyzer/ConsoleAnalyzer-account \ --resource-arn arn:aws:s3:::amzn-s3-demo-bucket错误处理与常见异常根据 service-2.json该操作可能返回以下错误错误码含义常见触发原因与排查思路ResourceNotFoundException资源未找到指定的分析器 ARN 或资源 ARN 不存在或者该资源尚未被该分析器分析过。可先运行list-analyzed-resources确认资源确实在已分析列表中。ValidationException参数校验失败ARN 格式不符合模式约束如分析器 ARN 缺少analyzer/段、参数缺失等。对照上文参数表核对 ARN。AccessDeniedException权限不足当前 IAM 身份缺少access-analyzer:GetAnalyzedResource权限或无权访问该分析器。ThrottlingException请求被限流请求频率过高建议使用指数退避重试。InternalServerException服务端内部错误服务端临时故障可稍后重试。由于该操作是只读 GET 请求执行它不会修改任何资源或分析器状态可以放心在审计脚本中高频调用。小结get-analyzed-resource是 IAM Access Analyzer 运维与安全审计中查看单资源分析结论的入口命令。掌握它的两个必填参数--analyzer-arn、--resource-arn、输出中AnalyzedResource各字段的语义以及它仅适用于外部访问分析器的限制即可在 AWS CLI 侧快速完成资源是否公开、由谁拥有、何时分析等核心判断。底层实现细节GET/analyzed-resource、querystring 传参、readonly 语义可直接在 service-2.json 中交叉验证更多同系列命令示例可参考 awscli/examples/accessanalyzer/ 目录。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考