Использование облачного объектного хранилища в AWS
Рекомендация для предоставления рабочим нагрузкам внутри вашего кластера EKS доступа к облачным сервисам заключается в использовании ролей IAM. Для ArcGIS Enterprise вы можете разрешить доступ к облачному хранилищу объектов организации и хранилищам резервных копий в корзинах AWS S3 с помощью удостоверения модуля или IAM-роли на основе группы узлов.
Рекомендуется, чтобы ваша организация использовала удостоверение модуля для обработки аутентификации рабочих нагрузок Kubernetes, поскольку это обеспечивает наиболее детальный контроль над правами доступа, предоставляемыми модулям. Если ваша организация использует IAM-роль на основе группы узлов для управления правами доступа, рекомендуется выполнить перенос на использование удостоверений модулей при обновлении или модернизации.
Использование удостоверения модуля EKS
ArcGIS Enterprise on Kubernetes использует различные учетные записи сервисов для рабочих нагрузок в зависимости от требуемых прав доступа к серверу API Kubernetes. Этим учетным записям сервисов также требуются различные права доступа при обращении к интегрированным облачным сервисам. Вы можете использовать удостоверение модуля для создания связи между каждой учетной записью службы и IAM-ролью с необходимыми правами доступа.
Важно:
Перед развертыванием ArcGIS Enterprise on Kubernetes или созданием других зависимостей в AWS необходимо установить в кластере надстройку EKS Pod Identity Agent. Инструкции см. в разделе Настройка агента удостоверения модуля Amazon EKS.
Роли и политики IAM
Перед развертыванием и настройкой ArcGIS Enterprise on Kubernetes с облачным объектным хранилищем AWS S3 и хранилищем резервных копий настройте следующие роли и политики IAM:
Доступ на чтение и запись к облачному объектному хранилищу и хранилищам резервных копий
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject", "s3:GetLifecycleConfiguration", "s3:PutLifecycleConfiguration", "s3:ListMultipartUploadParts", "s3:GetBucketLocation", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<cloudObjectStoreBucket>/*", "arn:aws:s3:::<cloudObjectStoreBucket>", "arn:aws:s3:::<backupStoreBucket>/*", "arn:aws:s3:::<backupStoreBucket>" ] } ] }Доступ на чтение и запись к облачному объектному хранилищу
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject", "s3:GetLifecycleConfiguration", "s3:PutLifecycleConfiguration", "s3:ListMultipartUploadParts", "s3:GetBucketLocation", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<cloudObjectStoreBucket>/*", "arn:aws:s3:::<cloudObjectStoreBucket>" ] } ] }Доступ только для чтения к облачному объектному хранилищу
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<cloudObjectStoreBucket>/*", "arn:aws:s3:::<cloudObjectStoreBucket>" ] } ] }
Примечание:
Дополнительные политики могут быть созданы для каждой роли IAM, чтобы разрешить доступ к корзинам пользовательского хранилища в дополнение к системному объектному хранилищу и хранилищам резервных копий.
Связи удостоверения модуля
Внутри кластера EKS добавьте связи удостоверения модуля, чтобы сопоставить каждую учетную запись службы с соответствующей IAM-ролью. Инструкции см. в разделе документации AWS Присвоение роли IAM учетной записи сервиса Kubernetes.
В следующей таблице перечислены требуемые роли IAM для каждой учетной записи сервиса:
| Учетная запись сервиса | Роль IAM |
|---|---|
| arcgis-admin-serviceaccount | Доступ на чтение и запись к облачным хранилищам объектов и резервных копий |
| arcgis-disasterrecovery-serviceaccount | Доступ на чтение и запись к облачным хранилищам объектов и резервных копий |
| arcgis-spatiotemporalindex-serviceaccount | Доступ на чтение и запись к облачным хранилищам объектов и резервных копий |
| arcgis-cloudservice-readwrite-serviceaccount | Доступ на чтение и запись к облачному хранилищу объектов |
| arcgis-cloudservice-readonly-serviceaccount | Доступ на чтение к облачному хранилищу объектов |
Имена учетных записей сервисов в таблице отражают имя площадки по умолчанию, arcgis. Если вы настроили другое имя площадки, это имя будет использоваться в качестве префикса учетной записи сервиса вместо arcgis. Проверьте текущие настройки организации, если вы не уверены в имени площадки для вашей организации.
Использование роли IAM на основе группы узлов
Если вы не можете использовать удостоверение модуля, ArcGIS Enterprise on Kubernetes также может использовать IAM-роль, назначенную группе узлов кластера Kubernetes, для получения права доступа к облачным службам.
Внимание:
При использовании роли IAM на основе группы узлов все рабочие нагрузки, выполняемые на этих узлах, имеют эквивалентные права доступа. Это приведет к тому, что некоторые рабочие нагрузки будут иметь права доступа, которые им не требуются.
Чтобы использовать роль IAM на основе группы узлов, создайте единую комбинированную политику чтения-записи:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject",
"s3:GetLifecycleConfiguration",
"s3:PutLifecycleConfiguration",
"s3:ListMultipartUploadParts",
"s3:GetBucketLocation",
"s3:AbortMultipartUpload"
],
"Resource": [
"arn:aws:s3:::<systemObjectStoreBucket>/*",
"arn:aws:s3:::<systemObjectStoreBucket>",
"arn:aws:s3:::<backupStoreBucket>/*",
"arn:aws:s3:::<backupStoreBucket>"
]
}
]
}
Перенос на удостоверение модуля EKS
Организациям, использующим IAM-роль на основе группы узлов, следует запланировать перенос на удостоверение модуля EKS во время обновления или модернизации организации. Это минимизирует сбои, поскольку все модули требуют перезапуска после создания связей удостоверения модуля. Модули перезапускаются автоматически во время обновлений и модернизаций организации.
Выполните следующие шаги для переноса на использование удостоверения модуля для управления правами доступа:
Установите надстройку агента удостоверения модуля EKS.
Обновление ArcGIS Enterprise.
Проверьте, что службы и критические рабочие нагрузки функционируют.
Удалите политику IAM из роли IAM группы узлов, которая разрешает доступ к хранилищу S3.
Снова проверьте, что службы и критические рабочие нагрузки функционируют.
Если на этом шаге обнаружена проблема, добавьте исходную политику IAM обратно в роль IAM группы узлов. Это позволит вам восстановить функциональность, пока вы завершаете дальнейшую проверку состояния надстройки, IAM-ролей и политик удостоверения модуля, а также связей удостоверения модуля.