小编AWS*_*nar的帖子

从 Jenkins 管道推送到 ECR

我有预置的 Jenkins 服务器。我有创建 Docker 镜像的 Jenkins 文件,现在我想将该镜像推送到 AWS ECR。我是否必须创建一个特殊的 IAM 用户并提供其访问和秘密访问密钥?或者什么是最好的方法来做到这一点。

我在互联网上找到了下面

  withAWS(role:'Jenkins', roleAccount:'XXXX216610',duration: 900, roleSessionName: 'jenkinssession')
  sh ' eval \$(aws ecr get-login --no-include-email --region us-east-2) '
Run Code Online (Sandbox Code Playgroud)

但是由于我的 jenkins 服务器是本地部署,角色将如何工作?

amazon-web-services jenkins docker aws-ecr

4
推荐指数
2
解决办法
1万
查看次数

ECR 中的 Docker 镜像标记

我正在使用 Jenkins 在 AWS ECR 中推送 docker 镜像。

在推送图像时,我将标签提供为 $Build_Number.So 在 ECR 存储库中,我有带有 1、2、3、4 等标签的图像。

但是当我尝试使用 Jenkins 作业中的以下命令从 EC2 中提取图像时

       docker pull 944XXX.dkr.ecr.us-east-1.amazonaws.com/repository1:latest
Run Code Online (Sandbox Code Playgroud)

我收到错误,因为没有带有最新标签的图像。

在这里我想拉取最新的图像(带有标签 4)。我不能在这里硬编码标签号,因为 docker pull 命令将自动从 Jenkins 作业运行。那么我可以通过什么方式拉取最新的图像?

amazon-ec2 amazon-web-services jenkins docker aws-ecr

3
推荐指数
2
解决办法
5767
查看次数

使用默认 aws/S3 KMS 密钥进行解密对象的跨账户访问

在我的账户 A 中,我有 S3 存储桶,其中对象是加密的默认 AWS 托管密钥 aws/s3。

我想从帐户 B lambda 读取这些对象。但与帐户 A 中的对象一样,对象是使用 AWS 托管密钥 aws/s3 加密的,我无法在此处修改 KMS 密钥策略。

我尝试在帐户 A 中创建一个角色,该角色拥有所有 KMS 和 S3 权限,并信任帐户 B 中的角色。然后从帐户 B 我在 A 中承担此角色。但仍然得到

Access denied error in GetObject

我可以在这里做什么来从帐户 A 读取对象。请指导。

账户 A 中的角色

statement
{
   Action: kms:*
   Resource : "*"
   Effect: allow
}
{
  Action: S3:*
   Resource : 
      arn:aws:s3:::my-s3
      arn:aws:s3:::my-s3/*
   Effect: allow
}
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-iam aws-lambda amazon-kms

1
推荐指数
1
解决办法
1471
查看次数