Когда аналитик переносит дашборд из аккаунта разработки в продакшн через Asset Bundle APIs, ресурс получает новый ARN — потому что в адресе зашит ID аккаунта AWS. Все права доступа, настроенные в исходной среде, при этом не переезжают: они ссылаются на группы и пользователей другого аккаунта, которых в целевой среде попросту не существует.
Amazon Resource Name — это уникальный идентификатор любого ресурса в AWS. Его структура напоминает почтовый адрес: партиция (aws / aws-cn / aws-gov-us), сервис (quicksight), регион, ID аккаунта, тип ресурса и уникальный идентификатор самого ресурса. Пример: arn:aws:quicksight:us-east-1:123456789012:dashboard/sales-dash-001. Если перенести дашборд в другой аккаунт, изменится только сегмент с ID аккаунта — регион и Resource ID могут остаться прежними, но AWS будет считать это уже другим ресурсом.
| Компонент ARN | Аналогия | Что означает |
|---|---|---|
| aws | Планета | Партиция AWS: aws / aws-cn / aws-gov-us |
| quicksight | Страна | Сервис внутри партиции |
| us-east-1 | Штат | Регион AWS |
| 111111111111 | Город | ID аккаунта AWS |
| dashboard | Улица | Тип ресурса |
| sales-dash-001 | Номер дома | Уникальный идентификатор ресурса |
На практике это выглядит так. Компания AnyCompany держит три аккаунта: Development (111111111111), QA (222222222222) и Production (333333333333). Аналитик Саанви создаёт дашборд продаж в Development — он получает ARN с идентификатором 111111111111. После миграции в QA тот же дашборд живёт по адресу с идентификатором 222222222222. Группа DataAnalysts из аккаунта разработки не имеет никакого отношения к одноимённой группе в QA: у каждой свой ARN, и разрешения не переносятся автоматически. Их нужно явно переустановить в целевой среде — либо во время импорта, либо сразу после.
Права доступа не переносятся автоматически — они привязаны к ARN конкретного аккаунта и должны быть переустановлены в целевой среде.

Дашборд редко существует сам по себе: он ссылается на датасет, тот — на источник данных. У каждого объекта свой ARN. Asset Bundle APIs при импорте автоматически обновляют все внутренние ссылки на ARN, подставляя ID целевого аккаунта. Но это работает только для ресурсов, включённых в бандл. Если экспортировать дашборд без датасета и источника данных, в целевом аккаунте он будет ссылаться на несуществующие ресурсы. Поэтому при экспорте рекомендуется использовать параметр IncludeAllDependencies=True.
Ещё одна типичная ситуация: в QA уже настроен источник данных для QA-базы, и создавать дублирующий при импорте не нужно. Для этого в методе StartAssetBundleImportJob предусмотрен параметр OverrideParameters. Он позволяет переопределить параметры подключения и учётные данные для каждого источника данных прямо во время импорта. Поддерживаются три способа передачи credentials: пара логин/пароль (CredentialPair), копирование из существующего источника (CopySourceArn) и прямая ссылка на секрет в AWS Secrets Manager (SecretArn). Последний вариант предпочтителен, если организация централизованно хранит пароли к базам данных в Secrets Manager.
Отдельный нюанс касается именования. Сервис сегодня называется Amazon Quick, однако в ARN и во всех API-эндпоинтах по-прежнему используется строка quicksight. Это сделано намеренно: существующие IAM-политики, скрипты и интеграции продолжают работать без изменений. Менять ничего не нужно — идентификатор quicksight в ARN указывает на возможности Quick Sight внутри платформы Amazon Quick.



