Найти тему

Как авторизоваться в AWS для DOCKER

Оглавление

Часто мы сталкиваемся с тем, что нам необходимо авторизоваться в AWS так как образ для контейнера лежит в облаке amazon.

Проверьте что у вас есть доступ к amazon web services

Обычно это можно сделать на странице

https://myapplications.microsoft.com/

Список доступных приложений

Если этого доступа нет, запросите его в Service Desk

Установите aws-azure-login

Перейдите по ссылке

https://github.com/aws-azure-login/aws-azure-login

и установите aws-azure-login через npm или через docker

npm install -g aws-azure-login

Найдите ваши данные tenant_id

Эти данные вам пригодятся для того чтобы авторизоваться в AWS

Azure Tenant ID:

Azure App ID URI:

Подробнее можно посмотреть здесь
https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant

или здесь
https://github.com/aws-azure-login/aws-azure-login

После заполнения данных, авторизуйтесь в AWS

Проброс данных авторизации в docker

Ваши данные авторизации уже есть на локальном компьютере, нужно прокинуть их в Докер, вот команда

aws ecr get-login-password --region %region_name% | docker login --username AWS --password-stdin %ARN%.dkr.ecr.%region_name%.amazonaws.com

Найдите ваш регион и ARN c помощью вашего администратора

Что такое репозиторий ECR

Amazon Elastic Container Registry (ECR) - это управляемый сервис от Amazon Web Services (AWS), предназначенный для хранения, управления и доставки контейнерных образов. ECR предоставляет приватные Docker-репозитории, в которых можно хранить Docker-образы, используемые для развертывания контейнерных приложений.

Основные особенности репозитория ECR включают:

  1. Хранение образов: ECR позволяет вам сохранять и управлять Docker-образами в приватном репозитории. Вы можете загружать, обновлять и удалять образы по мере необходимости.
  2. Управление доступом: ECR интегрируется с AWS Identity and Access Management (IAM), что позволяет настраивать политики доступа и контролировать, кто может просматривать, загружать или выполнять другие операции с образами в репозитории.
  3. Интеграция с AWS-сервисами: ECR легко интегрируется с другими сервисами AWS, такими как Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) и AWS Fargate, что облегчает развертывание контейнерных приложений.
  4. Масштабируемость и доступность: ECR предлагает масштабируемое хранение образов и обеспечивает высокую доступность для обеспечения доступности ваших контейнерных образов.

Использование репозитория ECR обеспечивает удобный и безопасный способ управления и развертывания Docker-образов в AWS-окружении, особенно при использовании других сервисов AWS для оркестрации контейнеров.

Что такое ARN

ARN (Amazon Resource Name) - это уникальный идентификатор ресурса в Amazon Web Services (AWS). Он используется для идентификации и доступа к различным ресурсам в AWS, таким как компьютерные экземпляры (EC2), бакеты S3, роли IAM, очереди SQS и многое другое.

ARN состоит из следующих компонентов:

  1. arn: - это префикс, указывающий, что это является ARN.
  2. partition: - это раздел, который указывает на используемый раздел AWS, такой как "aws" для общего доступа или "aws-cn" для региона AWS China.
  3. service: - это имя службы AWS, к которой относится ресурс, например, "ec2" для компьютерных экземпляров или "s3" для бакетов S3.
  4. region: - это регион AWS, в котором находится ресурс. Например, "us-east-1" для Северной Вирджинии или "eu-west-2" для Лондона.
  5. account-id: - это идентификатор вашей учетной записи AWS, к которой относится ресурс.
  6. resource: - это конкретный идентификатор ресурса в рамках выбранной службы AWS.

Пример ARN:

arn:aws:s3:::my-bucket

В этом примере ARN относится к бакету S3 с именем "my-bucket" в стандартной общедоступной разделе AWS.

ARN используется для уникальной идентификации ресурсов в AWS и может быть использован для управления доступом, настройки политик безопасности, определения ролей и т. д.

Что такое tenant_id

Термин "tenant_id" обычно относится к понятию "идентификатор арендатора" и часто используется в контексте учетных записей и систем многопользовательской аренды.

В области облачных вычислений и услуг SaaS (Software-as-a-Service), концепция многопользовательской аренды предусматривает, что один экземпляр приложения или сервиса может обслуживать несколько клиентов, называемых арендаторами или тенантами. Каждый арендатор имеет свою отдельную изолированную среду и свои учетные данные, чтобы обеспечить конфиденциальность и безопасность.

Таким образом, "tenant_id" - это уникальный идентификатор, который присваивается каждому арендатору в системе многопользовательской аренды. Он используется для идентификации и разграничения данных и ресурсов между разными арендаторами внутри системы.

Каждый "tenant_id" обычно связан с отдельной учетной записью или организацией, которая арендует или использует услугу. Это позволяет провайдерам услуг или разработчикам отслеживать и управлять данными и настройками каждого арендатора независимо.

В зависимости от контекста и конкретной системы, "tenant_id" может принимать различные форматы и именования, но его основная цель остается одинаковой: обеспечить уникальность идентификации и разделение данных между разными арендаторами в системе многопользовательской аренды.