mar*_*ram 6 pip amazon-web-services aws-codeartifact
我需要一个用于我公司的 Python 包的包存储库。我已经设置了 AWS CodeArtifact 存储库并设法发布和安装我的包。
要使pip能够使用此存储库,AWS 建议执行以下操作之一:
aws codeartifact login --tool pip | twine --domain my-domain --domain-owner domain-owner-id --repository my-repo
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为我已经使用我的凭证配置了我的 AWS 客户端。不过,我更愿意像这样安装:他们应该能够轻松安装这些软件包,例如通过
pip install --extra-index-url https://repository-name.d.codeartifact.eu-west-1.amazonaws.com/pypi/repository/ package_name
Run Code Online (Sandbox Code Playgroud)
出于两个原因,我希望它无需凭据即可工作:
因此我的问题是: 如何在 VPC(虚拟私有云)中公开/公开地访问 AWS CodeArtifact 存储库,而无需凭证?
用户(通过 VPN)和第 3 方应用程序均已配置为位于同一 VPC 内。
不幸的是,在撰写本文时这似乎不可能。我面临着类似的问题,CodeArtifact 不能很好地支持尝试在 Windows Docker 中使用 pip 包的用户。今天早上我与 AWS 支持人员讨论了这个问题,还检查是否有一种方法可以使用 IAMRoles 而不是 aws cli 进行身份验证,但这现在也不是一个选择,尽管我采访的工程师表示他们将为此创建一个内部请求。
什么可能对你有用,我目前正在考虑的是在 S3 中创建一个 pypi 存储库。
S3+CDN+WAF
您可以使用 s3pypi pip 包来管理它,并在其前面设置 cloudfront 和 WAF 以阻止外部流量(https://www.november Five.co/blog/opensource-pypi-package-repository-tutorial)
S3 + Lambda + API 网关
设置一个 S3 存储库,其中 api 网关 + lambda 作为端点。这个存储库可能会帮助您入门https://github.com/berislavlopac/plambdapi。理论上,您可以将端点设置在 VPC 中,然后以这种方式控制流量。
托管您自己的
作为替代方案,您可以在 VPC 内安装 Artifactory 并将其用作 pypi 存储库。
归档时间: |
|
查看次数: |
5168 次 |
最近记录: |