如何拥有公共 AWS CodeArtifact 存储库策略

Posted

技术标签:

【中文标题】如何拥有公共 AWS CodeArtifact 存储库策略【英文标题】:How to have a public AWS CodeArtifact Repository policy 【发布时间】:2021-06-04 09:36:27 【问题描述】:

是否可以在不需要任何凭据的情况下公开 AWS CodeArtifact 中的存储库?

我尝试了这个存储库策略,但没有奏效:


    "Version": "2012-10-17",
    "Statement": [
        
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "codeartifact:DescribePackageVersion",
                "codeartifact:DescribeRepository",
                "codeartifact:GetPackageVersionReadme",
                "codeartifact:GetRepositoryEndpoint",
                "codeartifact:ListPackageVersionAssets",
                "codeartifact:ListPackageVersionDependencies",
                "codeartifact:ListPackageVersions",
                "codeartifact:ListPackages",
                "codeartifact:ReadFromRepository"
            ],
            "Resource": "*"
        
    ]

【问题讨论】:

“没用” - 不具体。您到底尝试了什么,如何测试它,得到了什么结果(错误消息)。 【参考方案1】:

后来我找到了这个答案: https://***.com/a/66365401/2359762

上面写着:

不幸的是,在撰写本文时,这似乎是不可能的。

此外,只有一个 Gradle 插件允许生成令牌,我们无法使其在 android 项目中工作。 https://github.com/clarityai-eng/codeartifact-gradle-plugin

对于我们的特定用例,我们切换到 GitHub Packages。

【讨论】:

以上是关于如何拥有公共 AWS CodeArtifact 存储库策略的主要内容,如果未能解决你的问题,请参考以下文章

如何在云上创建自己的 Artifactory,例如 AWS 的 Codeartifact、Jfrog 的 Artifactory

AWS Codeartifact 未指向私有存储库

AWS CodeArtifact:mvn deploy:deploy-file 无法部署工件:无法传输工件 401 Unauthorized

AWS-EC2,如何仅使用一个实例设置多个公共站点?

如何从私有 AWS ALB 公开 API 端点

跨多个AWS地理区域的Mongodb副本