有没有办法以编程方式列出 AWS 服务的所有可用操作?
Is there a way to programmatically list all of the available actions for an AWS service?
我正在寻找一种方法来列出可在 AWS IAM 策略中使用的所有操作。
这是一个使用 IAM 操作的示例策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1457442845000",
"Effect": "Allow",
"Action": [
"iam:CreatePolicy",
"iam:CreatePolicyVersion",
"iam:GetGroupPolicy",
"iam:CreateGroup",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRolePolicy",
"iam:ListAttachedGroupPolicies"
],
"Resource": [
"*"
]
}
]
}
我想从一个文件中搜索动作,为此我想要所有可用的动作。我还找不到获取该列表的方法。任何方向表示赞赏。
每个服务的可用操作都在这些服务的文档中,例如 IAM 操作列表在 IAM documentation, and the list of EC2 actions is in the EC2 documentation。
运行 进入同一个问题,除了正在寻找与不仅仅是 AWS 服务 IAM 相关的操作。解决者:
- 为所有服务提取 Javascript 的 AWS SDK(参见 https://sdk.amazonaws.com/builder/js/)。
- 加载生成的缩小 javascript 文件 ( aws-sdk-2.680.0.min.js ) 作为小型自定义 HTML 文档的一部分。
- 编写一个 javascript 函数获取所需的服务,并循环遍历对象
AWS.apiLoader.services[ 'iam' ][ Version ].operations
,拉取操作列表。 (请注意,'Version' 的格式为 yyyy-mm-dd
,在缩小的 javascript 文件中,每个 AWS 服务只有一个条目。)
- 正在导出结果。
希望有人觉得这很有帮助,因为这是我能够以编程方式获取与 AWS 服务关联的操作的完整列表的唯一方法...
可在此处的 IAM 参考文档中找到每项服务可用的所有操作的列表:
定义了操作、资源和适用条件。
我喜欢 Trentium 的回答,但它需要维护。
我想我会使用 AWS Policy Generator call for the policies.js 文件
亚马逊提供了一个策略生成器,它自己知道当前时间点所有可能的 API 和操作。
可以从 AWS 策略生成器生成操作列表 policies.js
:
curl --header 'Connection: keep-alive' \
--header 'Pragma: no-cache' \
--header 'Cache-Control: no-cache' \
--header 'Accept: */*' \
--header 'Referer: https://awspolicygen.s3.amazonaws.com/policygen.html' \
--header 'Accept-Language: en-US,en;q=0.9' \
--silent \
--compressed \
'https://awspolicygen.s3.amazonaws.com/js/policies.js' |
cut -d= -f2 |
jq -r '.serviceMap[] | .StringPrefix as $prefix | .Actions[] | "\($prefix):\(.)"' |
sort |
uniq
如果您的机器上安装了节点,只需在终端中输入 npx get-aws-actions
。无需安装任何东西。此 npx 命令从 AWS 策略生成器文件 https://awspolicygen.s3.amazonaws.com/js/policies.js
中获取操作,并支持文本搜索以查明特定 AWS 服务的操作(例如,搜索 s3:
以列出所有 S3 操作)。
我正在寻找一种方法来列出可在 AWS IAM 策略中使用的所有操作。
这是一个使用 IAM 操作的示例策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1457442845000",
"Effect": "Allow",
"Action": [
"iam:CreatePolicy",
"iam:CreatePolicyVersion",
"iam:GetGroupPolicy",
"iam:CreateGroup",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRolePolicy",
"iam:ListAttachedGroupPolicies"
],
"Resource": [
"*"
]
}
]
}
我想从一个文件中搜索动作,为此我想要所有可用的动作。我还找不到获取该列表的方法。任何方向表示赞赏。
每个服务的可用操作都在这些服务的文档中,例如 IAM 操作列表在 IAM documentation, and the list of EC2 actions is in the EC2 documentation。
运行 进入同一个问题,除了正在寻找与不仅仅是 AWS 服务 IAM 相关的操作。解决者:
- 为所有服务提取 Javascript 的 AWS SDK(参见 https://sdk.amazonaws.com/builder/js/)。
- 加载生成的缩小 javascript 文件 ( aws-sdk-2.680.0.min.js ) 作为小型自定义 HTML 文档的一部分。
- 编写一个 javascript 函数获取所需的服务,并循环遍历对象
AWS.apiLoader.services[ 'iam' ][ Version ].operations
,拉取操作列表。 (请注意,'Version' 的格式为yyyy-mm-dd
,在缩小的 javascript 文件中,每个 AWS 服务只有一个条目。) - 正在导出结果。
希望有人觉得这很有帮助,因为这是我能够以编程方式获取与 AWS 服务关联的操作的完整列表的唯一方法...
可在此处的 IAM 参考文档中找到每项服务可用的所有操作的列表:
定义了操作、资源和适用条件。
我喜欢 Trentium 的回答,但它需要维护。
我想我会使用 AWS Policy Generator call for the policies.js 文件
亚马逊提供了一个策略生成器,它自己知道当前时间点所有可能的 API 和操作。
可以从 AWS 策略生成器生成操作列表 policies.js
:
curl --header 'Connection: keep-alive' \
--header 'Pragma: no-cache' \
--header 'Cache-Control: no-cache' \
--header 'Accept: */*' \
--header 'Referer: https://awspolicygen.s3.amazonaws.com/policygen.html' \
--header 'Accept-Language: en-US,en;q=0.9' \
--silent \
--compressed \
'https://awspolicygen.s3.amazonaws.com/js/policies.js' |
cut -d= -f2 |
jq -r '.serviceMap[] | .StringPrefix as $prefix | .Actions[] | "\($prefix):\(.)"' |
sort |
uniq
如果您的机器上安装了节点,只需在终端中输入 npx get-aws-actions
。无需安装任何东西。此 npx 命令从 AWS 策略生成器文件 https://awspolicygen.s3.amazonaws.com/js/policies.js
中获取操作,并支持文本搜索以查明特定 AWS 服务的操作(例如,搜索 s3:
以列出所有 S3 操作)。