AWS 访问策略语言创建库
项目描述
关于
awacs - 亚马逊网络访问控制子系统
通过编写 Python 代码来描述 AWS 策略,awacs 库允许更轻松地创建 AWS 访问策略语言 JSON。为了便于尽早捕获策略格式或 JSON 错误,库在类中内置了属性和类型检查。
注意:旧的awacs.aws.Policy对象将在未来被弃用,优先于awacs.aws.PolicyDocument类。这是由于旧对象和troposphere.iam.Policy对象之间出现的混淆 。
安装
awcs 可以使用 python 的 pip 分发系统安装,方法是:
$ pip install awacs
或者,您可以通过克隆此存储库并发出以下命令来运行使用 setup.py 进行安装:
$ python setup.py install
例子
使用此功能的示例来自AWS IAM文档。这显示了创建附加到 Amazon S3 存储桶的策略:
from awacs.aws import Action, Allow, PolicyDocument, Principal, Statement
from awacs.iam import ARN as IAM_ARN
from awacs.s3 import ARN as S3_ARN
account = "123456789012"
user = "user/Bob"
pd = PolicyDocument(
Version="2012-10-17",
Id="S3-Account-Permissions",
Statement=[
Statement(
Sid="1",
Effect=Allow,
Principal=Principal("AWS", [IAM_ARN(user, '', account)]),
Action=[Action("s3", "*")],
Resource=[S3_ARN("my_corporate_bucket/*"),],
),
],
)
print(pd.to_json())
会产生这个 json 策略:
{
"Id": "S3-Account-Permissions",
"Statement": [
{
"Action": [
"s3:*"
],
"Effect": "Allow",
"Principal": [
{
"AWS": [
"arn:aws:iam::123456789012:user/Bob"
]
}
],
"Resource": [
"arn:aws:s3:::my_corporate_bucket/*"
],
"Sid": "1"
}
],
"Version": "2012-10-17"
}
社区
我们有一个 google 组cloudtools-dev,您可以在其中提出问题并与 cloudtools/awacs 社区互动。问题和请求请求总是受欢迎的!
贡献新动作
要更新操作,有一个生成器工具可以从 AWS 的文档资源中抓取策略并自动生成新文件。可以运行以下命令(使用 Python 3.7+)来更新存储库:
$ python3 -m pip install -r scrape/requirements.txt
$ python3 -m pip install .
$ python3 ./scrape/scrape.py
$ git diff
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
awacs-2.2.0.tar.gz
(147.3 kB
查看哈希)
内置分布
awacs-2.2.0-py3-none-any.whl
(275.6 kB
查看哈希)
关
awacs-2.2.0- py3 -none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 34ca2ed83e8cda79b6426a9f4190c62523d5341c373d4555553605cdbb16d14d |
|
MD5 | f0202d6e9f561a166cb0b86505f78507 |
|
布莱克2-256 | 6dfeb6e50f45e9da119719136be5d4d9be6efd58daeb7960a3ff067b07c254ea |