查看 IAM 允许政策历史记录

本页面介绍了如何查看 IAM 允许政策的更改历史记录。

您可以搜索审核日志中包含 SetIamPolicy 方法的条目,以查看资源的允许政策的更改。

您还可以查看 Cloud Asset Inventory 的允许政策更改。

查看允许政策更改的“SetIamPolicy

您可以查看审核日志中包含 SetIamPolicy 方法的条目,以查看允许政策的更改。您可以使用 Google Cloud 控制台或 gcloud CLI 查看审核日志。

控制台

  1. 在 Google Cloud 控制台中,转到 Logs Explorer 页面。

    转到日志浏览器

  2. 在查询编辑器中,输入以下任一查询。这些查询会在您的审核日志中搜索 protoPayloadmethodName 字段中包含 SetIamPolicy 的条目:

    • 如需获取对资源所做的所有允许政策更改的日志,请使用以下查询:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      
    • 如需获取涉及特定用户或服务账号的允许政策更改日志,请使用以下查询:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
      

      请提供以下值:

      • RESOURCE_TYPE:要为其列出审核日志的资源类型。请使用以下某个值:projectsfoldersorganizations
      • RESOURCE_ID:您的 Google Cloud 项目、文件夹或组织 ID。 项目 ID 为字母数字,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
      • EMAIL_ADDRESS:用户或服务账号的电子邮件地址。例如 example-service-account@example-project.iam.gserviceaccount.com
  3. 如需运行查询,请点击运行查询

  4. 使用时间轴选择器为查询指定适当的时间范围。或者,您也可以直接向查询编辑器添加时间戳表达式。如需了解详情,请参阅按时间范围查看日志

gcloud

gcloud logging read 命令用于读取日志条目。

在使用下面的命令数据之前,请先进行以下替换:

  • RESOURCE_TYPE:要为其列出审核日志的资源类型。使用值 projectsfoldersorganizations
  • RESOURCE_ID:您的 Google Cloud 项目、组织或文件夹 ID。 项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • TIME_PERIOD:要为其列出审核日志的时间段。返回的条目不会早于此值。如果未指定,则默认值为 1d。如需了解时间格式,请参阅 gcloud topic datetimes
  • RESOURCE_TYPE_SINGULAR:要为其列出审核日志的资源类型。使用值 projectfolderorganization

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud logging read \
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' \
    --freshness=TIME_PERIOD \
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (PowerShell)

gcloud logging read `
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' `
    --freshness=TIME_PERIOD `
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (cmd.exe)

gcloud logging read ^
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' ^
    --freshness=TIME_PERIOD ^
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

使用 Cloud Asset Inventory 查看允许政策变更

您还可以使用 Google Cloud 控制台中的云资源目录或 gcloud CLI 查看允许政策更改。

控制台

  1. 在 Google Cloud 控制台中,前往资产库存页面。

    转到“Asset Inventory”

  2. 点击 IAM 政策标签页。

  3. 过滤条件字段中运行以下查询:

    Resource : RESOURCE_ID

    RESOURCE_ID 替换为您的 Google Cloud 项目、文件夹或组织 ID。项目 ID 为字母数字,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012

  4. 如需查看资源的许可政策的更改历史记录,请点击资源的名称,然后选择更改历史记录标签页。

  5. 如需比较对资源的许可政策所做的任何更改,请从选择要进行比较的记录菜单中选择两个带时间戳的不同记录。

gcloud

gcloud asset get-history 命令会获取与时间窗口重叠的资产的允许政策的更新历史记录。

在使用下面的命令数据之前,请先进行以下替换:

  • RESOURCE_TYPE:要为其列出审核日志的资源类型。使用值 projectfolderorganization
  • RESOURCE_ID:您的 Google Cloud 项目、组织或文件夹 ID。 项目 ID 是字母数字字符串,例如 my-project。文件夹和组织 ID 是数字,例如 123456789012
  • ASSET_NAME:您要查看其允许政策历史记录的资源的格式化资源名称的英文逗号分隔列表。例如 //cloudresourcemanager.googleapis.com/projects/my-project。这些资源可以是接受允许政策的任何资源类型
  • START_TIME:时间范围的开始时间。最大时间范围为 7 天。该值必须是当前时间或过去不超过 35 天的时间。如需了解时间格式,请参阅 gcloud topic datetimes
  • END_TIME:可选。时间范围的结束点。最大时间范围为 7 天。该值必须是当前时间或过去不超过 35 天的时间。如果未提供,则结束时间将被视为当前时间。如需了解时间格式,请参阅 gcloud topic datetimes

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud asset get-history \
    --RESOURCE_TYPE=RESOURCE_ID \
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
    --content-type=iam-policy \
    --start-time=START_TIME \
    --end-time=END_TIME

Windows (PowerShell)

gcloud asset get-history `
    --RESOURCE_TYPE=RESOURCE_ID `
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... `
    --content-type=iam-policy `
    --start-time=START_TIME `
    --end-time=END_TIME

Windows (cmd.exe)

gcloud asset get-history ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^
    --content-type=iam-policy ^
    --start-time=START_TIME ^
    --end-time=END_TIME