本页面介绍了如何查看 IAM 允许政策的更改历史记录。
您可以搜索审核日志中包含 SetIamPolicy
方法的条目,以查看资源的允许政策的更改。
查看允许政策更改的“SetIamPolicy
”
您可以查看审核日志中包含 SetIamPolicy
方法的条目,以查看允许政策的更改。您可以使用 Google Cloud 控制台或 gcloud CLI 查看审核日志。
控制台
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
在查询编辑器中,输入以下任一查询。这些查询会在您的审核日志中搜索
protoPayload
的methodName
字段中包含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
:要为其列出审核日志的资源类型。请使用以下某个值:projects
、folders
或organizations
。RESOURCE_ID
:您的 Google Cloud 项目、文件夹或组织 ID。 项目 ID 为字母数字,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。EMAIL_ADDRESS
:用户或服务账号的电子邮件地址。例如example-service-account@example-project.iam.gserviceaccount.com
。
如需运行查询,请点击运行查询。
使用时间轴选择器为查询指定适当的时间范围。或者,您也可以直接向查询编辑器添加时间戳表达式。如需了解详情,请参阅按时间范围查看日志。
gcloud
gcloud logging read
命令用于读取日志条目。
在使用下面的命令数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:要为其列出审核日志的资源类型。使用值projects
、folders
或organizations
。 -
RESOURCE_ID
:您的 Google Cloud 项目、组织或文件夹 ID。 项目 ID 是字母数字字符串,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。 -
TIME_PERIOD
:要为其列出审核日志的时间段。返回的条目不会早于此值。如果未指定,则默认值为1d
。如需了解时间格式,请参阅 gcloud topic datetimes。 -
RESOURCE_TYPE_SINGULAR
:要为其列出审核日志的资源类型。使用值project
、folder
或organization
。
执行以下命令:
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 查看允许政策更改。
控制台
在 Google Cloud 控制台中,前往资产库存页面。
点击 IAM 政策标签页。
在过滤条件字段中运行以下查询:
Resource :
RESOURCE_ID
将
RESOURCE_ID
替换为您的 Google Cloud 项目、文件夹或组织 ID。项目 ID 为字母数字,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。如需查看资源的许可政策的更改历史记录,请点击资源的名称,然后选择更改历史记录标签页。
如需比较对资源的许可政策所做的任何更改,请从选择要进行比较的记录菜单中选择两个带时间戳的不同记录。
gcloud
gcloud asset get-history
命令会获取与时间窗口重叠的资产的允许政策的更新历史记录。
在使用下面的命令数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:要为其列出审核日志的资源类型。使用值project
、folder
或organization
。 -
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