簡體   English   中英

使用 Boto3 無法在 Fargate 容器中找到憑據

[英]Unable to locate credentials inside fargate container, using Boto3

我正在嘗試創建一個拆分文件然后將它們上傳到 S3 容器的容器。 該過程按預期工作,但在嘗試將文件發送到 S3 時失敗,並出現錯誤Unable to locate credentials inside fargate container

我的 dockerfile 看起來像這樣:

FROM python:3.8-slim

RUN apt-get update \
    && apt-get install -y wget \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir /tmp/splitter

RUN pip install --upgrade pip && \
    pip install --no-cache-dir requests boto3

RUN wget -O /tmp/init.sh (WHATEVER) \
    && chmod +x /tmp/init.sh

CMD /tmp/init.sh

我的角色設置類似於亞馬遜文檔中出現的 ecsTaskExecutionRole。

ecsTaskExecutionRole不適用於您的容器訪問 S3。 ECS 本身能夠,例如,從 ECR 中提取您的 docker 映像。

對於容器中的應用程序權限,您需要一個任務角色,而不是任務執行角色。 這可能會令人困惑,因為兩者的名稱相似並且都具有相同的信任策略。

任務角色可以與任務執行角色一起指定:

在此處輸入圖像描述

角色也可以在任務定義級別設置:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM