AWS Identity and Access Management (IAM)
集成版本:5.0
使用情形 - 使用 Amazon Simple Storage Service (Amazon S3)
John 为公司创建了一个名为 aws-s3-bucket 的 Amazon S3 存储桶。
- 创建用户(开发者需要在公司存储桶中创建自己的数据)
- 创建群组(以开发者为群组)
- 创建政策(John 需要向用户/群组分配权限)
- 附加政策(John 向该群组附加了一项政策,允许开发者在 AWS S3 中读取、写入和列出对象)
- 添加/移除群组中的用户(某位开发者成为经理,访问权限应发生变化)
在 Google Security Operations 中配置 AWS Identity and Access Management (IAM) 集成
有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。
集成参数
使用以下参数配置集成:
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
AWS 访问密钥 ID | 字符串 | 不适用 | 是 | 要在集成中使用的 AWS 访问密钥 ID。 |
AWS 密钥 | 密码 | 不适用 | 是 | 要在集成中使用的 AWS 密钥。 |
操作
Ping
说明
使用 Google Security Operations Marketplace 标签页中集成配置页面上提供的参数,测试与 AWS IAM 的连接。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功:输出“Successfully connected to the AWS IAM server with the provided connection parameters!” 操作应失败并停止 playbook 执行: 如果未成功:打印“Failed to connect to the AWS IAM server!错误为 {0}".format(exception.stacktrace) |
常规 |
创建用户
说明
为您的 AWS 账号创建新的 IAM 用户。您可以使用逗号分隔值一次添加多位用户。请注意,在此阶段不会应用任何政策。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
用户名 | 字符串 | 不适用 | 是 | 要创建的用户的名称。以英文逗号分隔的值。注意:用户名不得包含空格,只能包含字母数字字符和/或以下字符:+=.@_-。名称在账号中必须是唯一的。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 结果
[{
"Arn":"arn:aws:iam::582302349248:user/ziv",
"CreateDate":"2020-12-03T12:12:20",
"Path":"/",
"UserId":"AIDAYPE7MW7AFMHK4WCHS",
"UserName":"ziv"
}]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
注意:如果没有任何变化:所有用户均无效/存在/达到上限 → 操作应失败 操作应失败并停止 playbook 执行:
注意:如果所有用户名都无效,请打印“Error executing action 'Create a User'. 原因:{invalid usernames}:用户名只能包含字母数字字符和/或以下字符:+=,.@-. {existing usernames}:名称在账号中必须是唯一的。 |
常规 |
向群组添加用户
说明
将指定用户添加到指定 IAM 群组。使用群组可同时向多位用户应用相同的权限政策。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
组名称 | 字符串 | 不适用 | 是 | 要更新的群组的名称。注意:群组名称不能包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-。 |
用户名 | 字符串 | 不适用 | 是 | 要添加的用户的名称。注意:用户名不得包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-。以英文逗号分隔的值。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行:
|
常规 |
从群组中移除用户
说明
将指定用户添加到指定 IAM 群组。使用群组可同时向多位用户应用相同的权限政策。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
组名称 | 字符串 | 不适用 | 是 | 要更新的群组的名称。注意:群组名称不能包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-。 |
用户名 | 字符串 | 不适用 | 是 | 要移除的用户的名称。注意:用户名不得包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-。以英文逗号分隔的值。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行:
|
常规 |
列出用户
说明
获取 IAM 中所有用户的列表。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
要返回的最大用户数 | 整数 | 50 | 否 | 指定要返回的用户数量。最多 1000 位用户。默认值为 50。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 结果
[{
"Arn":"arn:aws:iam::582302349248:user/ziv",
"CreateDate":"2020-12-03T12:12:20",
"Path":"/",
"UserId":"AIDAYPE7MW7AFMHK4WCHS",
"UserName":"ziv"
}]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功:打印“Successfully listed available users in AWS IAM” 如果没有可用数据:打印“No users found in AWS IAM”(未在 AWS IAM 中找到用户)
如果不成功(凭据错误、无法连接到服务器、其他服务器错误,如果 max>10000):打印“执行操作‘列出用户’时出错。原因:{exception.stacktrace} |
常规 |
CSV 表格 | Title: IAM 用户 列: 用户名 用户 ID ARN 创建日期 |
常规 |
列出群组
说明
获取 IAM 中所有群组的列表。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
要返回的群组数量上限 | 整数 | 50 | 否 | 指定要返回的群组数量。最多 1000 个群组。默认值为 50。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 结果
[{
"Arn":"arn:aws:iam::582302349248:group/ZivGroup",
"CreateDate":"2020-12-05 16:18:36+00:00",
"Path":"/",
"GroupId":"AGPAYPE7MW7AMKCWMJPMX",
"GroupName":"ZivGroup"
}]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功:打印“Successfully listed available groups in AWS IAM”(已成功列出 AWS IAM 中的可用群组) 如果没有可用数据:打印“No Groups found in AWS IAM”
如果不成功(凭据错误、无法连接到服务器、其他服务器错误,如果“Max Groups”> 1000):打印“Error executing action 'List Groups'. 原因:{exception.stacktrace} |
常规 |
CSV 表格 | Title: IAM 群组 列: 群组名称 群组 ID ARN 创建日期 |
常规 |
创建政策
说明
为您的 AWS 账号创建 IAM 客户管理式政策。此操作会创建一个版本标识符为 v1 的政策版本,并将 v1 设置为政策的默认版本。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
政策名称 | 字符串 | 不适用 | 是 | 要创建的政策的名称。政策名称不得包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-。政策名称在账号中必须是唯一的。 |
政策文档 | 字符串 | 不适用 | 是 | 您要用作新政策内容的 JSON 政策文档。 |
说明 | 字符串 | 不适用 | 否 | 政策的说明。通常用于存储有关政策中定义的权限的信息。例如,“授予对生产 DynamoDB 表的访问权限”。政策说明不可变。分配值后,便无法更改。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 结果
{
"PolicyName": "S3-read-only-bucket",
"PolicyId": "ANPAYPE7MW7AFKUDK3HD7",
"Arn": "arn:aws:iam::582302349248:policy/S3-read-only-bucket",
"Path": "/",
"DefaultVersionId": "v1",
"AttachmentCount": 0,
"PermissionsBoundaryUsageCount": 0,
"IsAttachable": true,
"CreateDate": "2020-12-6T17:16:45",
"UpdateDate": "2020-12-6T17:16:45"
}
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
该操作应失败并停止 playbook 执行:
如果不成功(LimitExceededException、凭据错误、无连接、其他错误):打印“执行操作‘创建政策’时出错。原因:{exception.stacktrace} |
常规 |
创建群组
说明
为您的 AWS 账号创建新的 IAM 群组。如需设置群组,您需要创建群组。然后,根据您希望群组中的用户执行的工作类型,为该群组授予权限。最后,将用户添加到该群组。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
组名称 | 字符串 | 不适用 | 是 | 要创建的群组的名称。以英文逗号分隔的值。注意:群组名称不能包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-。名称在账号中必须是唯一的。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 结果
[{
"Arn":"arn:aws:iam::582302349248:group/ZivGroup",
"CreateDate":"2020-12-05 16:18:36+00:00",
"Path":"/",
"GroupId":"'AGPAYPE7MW7AMKCWMJPMX",
"GroupName":"ZivGroup"
}]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
|
常规 |
列出政策
说明
列出您的 AWS 账号中可用的所有管理式政策,包括您自己定义的客户管理式政策和所有 AWS 管理式政策。您可以使用可选的“仅限已附加”“范围”和“政策使用情况”参数过滤返回的政策列表。例如,如需仅列出 AWS 账号中的客户管理型政策,请将“范围”设置为“本地”。如需仅列出 AWS 托管式政策,请将 Scope 设置为 AWS。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
仅限已附加 | 布尔值 | 否 | 否 | 勾选后,系统会将结果过滤为仅显示附加到 IAM 用户、群组或角色的政策。如果未勾选,则返回所有政策。 |
范围 | DDL |
全部 | 否 | 用于过滤结果的范围。如需仅列出 AWS 托管式政策,请将“范围”设置为“AWS”。如需仅列出 AWS 账号中的客户管理式政策,请将“范围”设置为“本地”。默认情况下,系统会返回所有政策。 |
要返回的政策数量上限 | 整数 | 100 | 否 | 指定要返回的政策数量。默认值为 100。最大值为 1000。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 结果
[{
'PolicyName': 'string',
'PolicyId': 'string',
'Arn': 'string',
'Path': 'string',
'DefaultVersionId': 'string',
'AttachmentCount': 123,
'PermissionsBoundaryUsageCount': 123,
'IsAttachable': True|False,
'Description': 'string',
'CreateDate': "2020-12-6T17:16:45",
'UpdateDate':"2020-12-6T17:16:45"
}]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
|
常规 |
CSV 表格 | 标题:IAM 政策 列: 政策名称 政策 ID 创建日期 更新日期 |
常规 |
附加政策
说明
将指定的托管式政策附加到身份(用户、群组、角色)。
参数
参数显示名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
身份类型 | DDL |
群组 | 是 | IAM 身份类型。 |
身份名称 | 字符串 | 不适用 | 是 | 要附加政策的身份的名称(易记名称,而非 ARN)。身份名称不得包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-. |
政策名称 | 字符串 | 不适用 | 是 | 要附加政策的政策的名称(友好名称,而非 ARN)。政策名称不得包含空格,并且只能包含字母数字字符和/或以下字符:+=.@_-. |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行:
操作应失败并停止 playbook 执行:
|
常规 |
停用用户访问权限
通过添加明确的内嵌拒绝政策,在 AWS 中停用用户访问权限。
此操作仅支持常规 AWS 用户,不支持联合身份用户或 IAM 角色。
实体
此操作在 User 实体上运行。
操作输入
不适用
操作输出
操作输出类型 | |
---|---|
案例墙附件 | 不适用 |
案例墙链接 | 不适用 |
“支持请求墙”表格 | 不适用 |
丰富化表 | 不适用 |
JSON 结果 | 可用 |
脚本结果 | 可用 |
JSON 结果
[
{
"Entity": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com",
"EntityResult": [
{
"fullResourceName": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com",
"activityType": "serviceAccountLastAuthentication",
"observationPeriod": {
"startTime": "2023-05-23T07:00:00Z",
"endTime": "2023-08-20T07:00:00Z"
},
"activity": {
"lastAuthenticatedTime": "2023-08-20T07:00:00Z",
"serviceAccount": {
"serviceAccountId": "example-account-id",
"projectNumber": "example-project-id",
"fullResourceName": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com"
}
}
}
]
}
]
脚本结果
脚本结果名称 | 值 |
---|---|
is_success | True/False |
案例墙
该操作会提供以下输出消息:
输出消息 | 消息说明 |
---|---|
|
操作成功。 |
Successfully added deny policy to the following users in AWS
IAM: USERNAME_LIST |
操作失败。 错误阻止了将拒绝政策应用于至少一个所提供的用户。 |
Error executing action "Disable User Access". Reason:
ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。