Часто мы сталкиваемся с тем, что нам необходимо авторизоваться в 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 включают:
- Хранение образов: ECR позволяет вам сохранять и управлять Docker-образами в приватном репозитории. Вы можете загружать, обновлять и удалять образы по мере необходимости.
- Управление доступом: ECR интегрируется с AWS Identity and Access Management (IAM), что позволяет настраивать политики доступа и контролировать, кто может просматривать, загружать или выполнять другие операции с образами в репозитории.
- Интеграция с AWS-сервисами: ECR легко интегрируется с другими сервисами AWS, такими как Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) и AWS Fargate, что облегчает развертывание контейнерных приложений.
- Масштабируемость и доступность: ECR предлагает масштабируемое хранение образов и обеспечивает высокую доступность для обеспечения доступности ваших контейнерных образов.
Использование репозитория ECR обеспечивает удобный и безопасный способ управления и развертывания Docker-образов в AWS-окружении, особенно при использовании других сервисов AWS для оркестрации контейнеров.
Что такое ARN
ARN (Amazon Resource Name) - это уникальный идентификатор ресурса в Amazon Web Services (AWS). Он используется для идентификации и доступа к различным ресурсам в AWS, таким как компьютерные экземпляры (EC2), бакеты S3, роли IAM, очереди SQS и многое другое.
ARN состоит из следующих компонентов:
- arn: - это префикс, указывающий, что это является ARN.
- partition: - это раздел, который указывает на используемый раздел AWS, такой как "aws" для общего доступа или "aws-cn" для региона AWS China.
- service: - это имя службы AWS, к которой относится ресурс, например, "ec2" для компьютерных экземпляров или "s3" для бакетов S3.
- region: - это регион AWS, в котором находится ресурс. Например, "us-east-1" для Северной Вирджинии или "eu-west-2" для Лондона.
- account-id: - это идентификатор вашей учетной записи AWS, к которой относится ресурс.
- 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" может принимать различные форматы и именования, но его основная цель остается одинаковой: обеспечить уникальность идентификации и разделение данных между разными арендаторами в системе многопользовательской аренды.