aws-codeartifact - AWS CodeArtifact 存储库策略
问题描述
对 AWS Codeartifact 中的存储库策略有疑问。我们已经在工件中创建了域和存储库。现在我们需要限制存储库,以便用户只能从本地机器上从 codeartifact 存储库中提取,而不能发布到该存储库。我们在 repo 上设置了以下策略
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<domainowner>:user/<**username>"
},
"Action": [
"codeartifact:DescribePackageVersion",
"codeartifact:DescribeRepository",
"codeartifact:GetPackageVersionReadme",
"codeartifact:GetRepositoryEndpoint",
"codeartifact:ListPackageVersionAssets",
"codeartifact:ListPackageVersionDependencies",
"codeartifact:ListPackageVersions",
"codeartifact:ListPackages",
"codeartifact:ReadFromRepository"
],
"Resource": "*"
}
]
}
但不幸的是,用户可以通过对这个 codeartifact repo执行npm login
和发布。npm publish
此用户具有 AdministratorAccess 和 AWSCodeArtifactReadOnlyAccess 组。
不完全确定我们在这里做错了什么。任何想法/建议都会有很大帮助。谢谢大家。
解决方案
为了解决这个问题,我们为拥有管理员访问权限的用户创建了一个明确拒绝的自定义策略codeartifact:PublishPackageVersion
,删除了管理员用户的 AWSCodeArtifactReadOnlyAccess,一切似乎都运行良好。理想情况下,可能不是正确的解决方案。使用其中一些策略创建单独的用户可能会更好。但是,目前这似乎对我们有用。
推荐阅读
- django - 为什么 django 页面可能无法加载?
- javascript - Angularjs ng-repeat 从多个选择框中删除选定的选项
- python-3.x - 用 selenium 抓取动态网页
- tensorflow - 如何在 LSTM (Tensorflow) 中检索每个时间步的状态
- javascript - React 如何监听状态变化
- r - 如何从 R 中的数字高程模型绘制高程?
- python-3.x - Python guilds.join Discord OAuth2 的麻烦
- ansible - 如何运行剧本并指向不同但新定义的 groupvar?
- gekko - 对可以在时间范围内使用有限次且也是二进制的输入进行建模
- python-3.x - ValueError:无法将字符串转换为浮点数:(pd.Series)