
QuickSightのアセットをAaBでクロスアカウント移行する手順と注意点
QuickSight のアセット(データセットや分析、ダッシュボード)を、別 AWS アカウントへ移行できるかどうかを試しました(開発環境から本番環境への移行を想定)。QuickSight はアカウント間の移行が意外と難しく、「開発 → 本番」「外注 → 顧客アカウント」など、実務でよくあるケースでも簡単には移行できず困ることがあります。
QuickSight Assets as Bundle(AaB)を使うと、これらのアセットをまとめてエクスポート/インポートできますが、実際にやってみると注意点やハマりどころも多いです。
この記事では、CLI を使ってアカウント間移行を実際に試し、どこまで移行できるのか、どこでつまずくのかを整理しました。過去に移行で苦労した方にも役立つ内容になっています。
目次[非表示]
- 1.まず最初に:ファイルアップロード型データセットは移行できない
- 2.今回用意したサンプル構成
- 3.S3 に配置するサンプルデータ
- 4.Athenaで参照するGlueテーブル定義の作成
- 5.移行元アカウントで、アセット作成
- 6.移行元アカウントからアセットバンドルエクスポート
- 6.1.移行対象のダッシュボードのARNを取得
- 6.2.エクスポート実行
- 6.3.エクスポート状況確認
- 6.4.QS ファイルのダウンロード
- 7.移行先アカウントにアセットバンドルインポート
- 7.1.インポート前準備
- 7.2.設定のオーバーライドについて(今回の移行では不要でした)
- 7.3.インポート実施
- 7.4.インポート確認
- 7.5.ダッシュボード
- 7.6.分析
- 7.7.データセット
- 7.8.データセット
- 7.9.データソース
- 8.アセットの所有者変更
- 8.1.ダッシュボード
- 9.分析
- 10.データセット
- 11.データソース
- 12.つまずきポイント
- 13.まとめ
【おすすめ関連記事】
・AWSでIoTデータを可視化するなら?主要3サービスを徹底比較
・QuickSight連携術|URLパラメータで別ダッシュボードへ条件を引き継ぐ
・CONEXIOBlackBearでAWS IoT Greengrassを使ってみる
まず最初に:ファイルアップロード型データセットは移行できない
まず最初に把握しておかなければならないことですが、QuickSight には、ファイル(CSV / Excel など)を直接アップロードして作成する「ファイルアップロード型のデータセット」がありますが、これを QuickSight Assets as Bundle(AaB) では移行することができません。
もし既存ダッシュボードで、「ファイルアップロード型のデータセット」を使っている場合は、データを外部データソースに置き換える必要があります。
たとえば、以下のような対応が必要です。
- データを外部ストレージ(S3 など)に配置する
- 外部データソース(Athena / RDS / Redshift / S3 マニュフェストファイル など)として再定義する
- QuickSight でデータセットを作り直す
- 分析画面で データセットを置き換える
今回の検証では、S3 + Athena ベースのデータセット のみであるため、この制約には引っかかりませんでした。
【補足】これに関しては、実際にエクスポートを実行したところ、エラーになることを確認しました。以下のように特定のダッシュボードを対象に Asset Bundle Export を実行し、describe-asset-bundle-export-job で結果を確認したところ、以下のように FAILED となりました。
{ "Status": 200, "JobStatus": "FAILED", "Errors": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:100000000001:dataset/gggg7777-gggg-7777-gggg-777777777777", "Type": " com.amazonaws.services.quicksight.model.InvalidParameterValueException", "Message":"File source type is not supported in Public API" } ], ・ } |
今回用意したサンプル構成
移行元AWSアカウントでは、以下の構成を作成しました。これをすべて、移行先AWSアカウントへ移行します。
- データソース × 2(test_device_master、test_sensor_log)
- データセット × 2(test_device_master、test_sensor_log)
- 分析(Analysis) × 1(test_aab_analysis)
- ビジュアル ×2(テーブル・折れ線グラフ)
- ダッシュボード × 1(test_aab_dashboard)
デバイスのマスタ情報 と、センサーの時系列ログ の 2 種類の CSV を S3 に配置し、Athena テーブルを作成して QuickSight に取り込んでいます。
S3 に配置するサンプルデータ
デバイスのマスタ情報 と、センサーの時系列ログ の 2 種類の CSV を S3 に配置しています。以下、CSVファイル例です。
device_master.csv
device_id,device_type,location,installed_at dev-001,temperature,Room-A,2026-01-01 dev-002,humidity,Room-A,2026-01-02 dev-003,camera,Entrance,2026-01-05 dev-004,temperature,Room-B,2026-01-10 dev-005,camera,Hall,2026-01-12 |
sensor_log.csv
timestamp,device_id,value,status 2026-04-01T10:00:00,dev-001,22.5,normal 2026-04-01T10:00:00,dev-002,45.0,normal 2026-04-01T10:00:00,dev-003,1,active 2026-04-01T10:10:00,dev-001,22.8,normal 2026-04-01T10:10:00,dev-002,44.7,normal 2026-04-01T10:10:00,dev-003,1,active 2026-04-01T10:20:00,dev-001,23.1,normal 2026-04-01T10:20:00,dev-002,44.3,normal 2026-04-01T10:20:00,dev-003,1,active 2026-04-01T10:30:00,dev-001,23.4,normal 2026-04-01T10:30:00,dev-002,44.9,normal 2026-04-01T10:30:00,dev-003,1,active 2026-04-01T10:40:00,dev-001,23.0,normal 2026-04-01T10:40:00,dev-002,45.2,normal 2026-04-01T10:40:00,dev-003,1,active 2026-04-01T10:50:00,dev-001,22.6,normal 2026-04-01T10:50:00,dev-002,45.5,normal 2026-04-01T10:50:00,dev-003,1,active |
Athenaで参照するGlueテーブル定義の作成
前述の S3 上の CSV を Athena から参照できるよう、Glue Data Catalog にデータベース、テーブル定義を作成します。以下、SQLクエリ例です。
device_master
CREATE EXTERNAL TABLE IF NOT EXISTS test_db.device_master ( device_id string, device_type string, location string, installed_at string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( "separatorChar" = ",", "quoteChar" = "\"", "escapeChar" = "\\" ) LOCATION 's3://conexio-xxxxxx/device_master/' TBLPROPERTIES ("skip.header.line.count"="1"); |
sensor_log
CREATE EXTERNAL TABLE IF NOT EXISTS test_db.sensor_log ( timestamp string, device_id string, value double, status string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( "separatorChar" = ",", "quoteChar" = "\"", "escapeChar" = "\\" ) LOCATION 's3://conexio-xxxxxx/sensor_log/' TBLPROPERTIES ("skip.header.line.count"="1"); |
移行元アカウントで、アセット作成
移行元アカウントで、以下のアセットをそれぞれ作成しています。
データソース

データセット

分析


ダッシュボード


移行元アカウントからアセットバンドルエクスポート
QuickSight Assets as Bundle(AaB)は、ダッシュボードを指定すると 依存する データソース、データセット、分析を全部エクスポートしてくれます。今回の場合、データソース2つ、データセット 2つ、分析 1つ、ダッシュボード 1つ 全てのARNを取得してそれぞれでエクスポートする必要はありません。 ダッシュボードの指定だけで、そのダッシュボードに関連するアセットが全部エクスポートされます。
移行対象のダッシュボードのARNを取得
エクスポートで必要となる移行対象のダッシュボードのARNを取得します。
以下は、指定したダッシュボード名のダッシュボード情報のみを出力するコマンド例です。出力された情報の Arn をエクスポートで使用します。
コマンド:
$ACCOUNT_ID = "<移行元AWSアカウントID>" $PROFILE = "<移行元プロファイル>" $DASHBOARD_NAME = "<移行対象ダッシュボード名>" aws quicksight list-dashboards ` --aws-account-id $ACCOUNT_ID ` --profile $PROFILE ` | ConvertFrom-Json ` | Select-Object -ExpandProperty DashboardSummaryList ` | Where-Object { $_.Name -eq $DASHBOARD_NAME } |
実行例:
> $ACCOUNT_ID = "100000000001" > $PROFILE = "conexio-1000" > $DASHBOARD_NAME = "test_aab_dashboard" > aws quicksight list-dashboards ` >> --aws-account-id $ACCOUNT_ID ` >> --profile $PROFILE ` >> | ConvertFrom-Json ` >> | Select-Object -ExpandProperty DashboardSummaryList ` >> | Where-Object { $_.Name -eq $DASHBOARD_NAME } Arn : arn:aws:quicksight:ap-northeast-1:100000000001:dashboard/aaaa1111-aaaa-1111-aaaa-111111111111 DashboardId : aaaa1111-aaaa-1111-aaaa-111111111111 Name : test_aab_dashboard CreatedTime : 2026/04/22 10:38:47 LastUpdatedTime : 2026/04/22 10:38:47 PublishedVersionNumber : 1 LastPublishedTime : 2026/04/22 10:38:47 |
エクスポート実行
エクスポートを実行します。コマンド実行例は以下になります。
エクスポート処理は非同期処理となっており、次の「エクスポート状況確認」で、ここで“asset-bundle-export-job-id”に指定したJOB ID(例では、export-test-aab)を指定することにより、処理状況を確認します。
コマンド:
$ACCOUNT_ID = "<移行元AWSアカウントID>" $PROFILE = "<移行元プロファイル>" $DASHBOARDID= "<移行対象ダッシュボードID>" $DASHBOARD_ARN = "arn:aws:quicksight:ap-northeast-1:${ACCOUNT_ID}:dashboard/${DASHBOARDID}" aws quicksight start-asset-bundle-export-job ` --aws-account-id $ACCOUNT_ID ` --asset-bundle-export-job-id export-test-aab ` --resource-arns "$DASHBOARD_ARN" ` --include-all-dependencies ` --export-format QUICKSIGHT_JSON ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "100000000001" > $PROFILE = "conexio-1000" > $DASHBOARDID= "aaaa1111-aaaa-1111-aaaa-111111111111" > $DASHBOARD_ARN = "arn:aws:quicksight:ap-northeast-1:${ACCOUNT_ID}:dashboard/${DASHBOARDID}" > aws quicksight start-asset-bundle-export-job ` >> --aws-account-id $ACCOUNT_ID ` >> --asset-bundle-export-job-id export-test-aab ` >> --resource-arns "$DASHBOARD_ARN" ` >> --include-all-dependencies ` >> --export-format QUICKSIGHT_JSON ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 202, "Arn": "arn:aws:quicksight:ap-northeast-1:100000000001:asset-bundle-export-job/export-test-aab", "AssetBundleExportJobId": "export-test-aab", "RequestId": "5f8dc9a8-5efa-47c4-b8e6-e780192c951b" } |
エクスポート状況確認
エクスポート状況確認を実行します。コマンド実行例は以下になります。
エクスポートの実行が完了すると("JobStatus": "SUCCESSFUL")、QS ファイルのダウンロードURLを得ることができます。“DownloadUrl”に出力されるURLクリックすることで、QS ファイルをダウンロードすることができます。
コマンド:
$ACCOUNT_ID = "<移行元AWSアカウントID>" $PROFILE = "<移行元プロファイル>" aws quicksight describe-asset-bundle-export-job ` --aws-account-id $ACCOUNT_ID ` --asset-bundle-export-job-id export-test-aab ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "100000000001" > $PROFILE = "conexio-1000" > aws quicksight describe-asset-bundle-export-job ` >> --aws-account-id $ACCOUNT_ID ` >> --asset-bundle-export-job-id export-test-aab ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "JobStatus": "SUCCESSFUL", "DownloadUrl": "https://quicksight-asset-bundle-export-job-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/100000000001/export-test-aab/5f8dc9a8-5efa-47c4-b8e6-e780192c951b/assetbundle-export-test-aab.qs?X-Amz-Security-Token=IQoJb3Jp...(truncated) ", "Arn": "arn:aws:quicksight:ap-northeast-1:100000000001:asset-bundle-export-job/export-test-aab", "CreatedTime": "2026-04-22T11:00:17+09:00", "AssetBundleExportJobId": "export-test-aab", "AwsAccountId": "100000000001", "ResourceArns": [ "arn:aws:quicksight:ap-northeast-1:100000000001:dashboard/aaaa1111-aaaa-1111-aaaa-111111111111" ], "IncludeAllDependencies": true, "ExportFormat": "QUICKSIGHT_JSON", "RequestId": "5605f1b6-8033-4d97-a827-860ae8790166", "IncludePermissions": false, "IncludeTags": false, "IncludeFolderMemberships": false, "IncludeFolderMembers": "NONE" } |
QS ファイルのダウンロード
前の「エクスポート状況確認」で取得したQS ファイルのダウンロードURL にアクセスして、ファイルをダウンロードします。

QS ファイルは、ファイル名「assetbundle-{エクスポートジョブ名}」でダウンロードされます。このファイルは、 ZIP 化されています。解凍すると、指定したダッシュボードと、依存関係にあるアセットの定義 JSON ファイルが各フォルダに格納されています。JSON ファイル名は、各々のアセットIDになっています。解凍したイメージは以下の通りです。
├─analysis │ bbbb2222-bbbb-2222-bbbb-222222222222.json │ ├─dashboard │ aaaa1111-aaaa-1111-aaaa-111111111111.json │ ├─dataset │ cccc3333-cccc-3333-cccc-333333333333.json │ dddd4444-dddd-4444-dddd-444444444444.json │ └─datasource eeee5555-eeee-5555-eeee-555555555555.json ffff6666-ffff-6666-ffff-666666666666.json |
移行先アカウントにアセットバンドルインポート
インポート前準備
QuickSight のアセットバンドルはデータの実体までは移行してくれないため、ターゲット環境側でデータの参照元を事前に用意しておく必要があります。
今回は、前述の「S3 に置いたサンプルデータ」のS3への配置 及び、「Athena で参照する Glue テーブル定義の作成」を移行先の環境用の設定で行っています。
以下は代表的な準備内容の一例です。
データセットの元となるファイルを、ターゲットアカウントの S3 バケットへ配置する。
QuickSight が参照する Glue テーブル定義(データベース/テーブル)をターゲット側で作成する。
QuickSight のデータセットが参照するデータベース(RDS / Aurora / Redshift / DynamoDB など)をターゲット環境側で作成する。
設定のオーバーライドについて(今回の移行では不要でした)
よく見かけるアセットバンドルインポート実施例では、「override-parameters を使って DataSource の名前や ARN を書き換える」という手順が紹介されることが多いのですが、今回のケースでは、移行先で名前や ARN を変更する必要がなかったので不要でした。(オーバーライド設定をしようとしたことで インポートが失敗し、ハマりました。)
インポート実施
インポートを実行します。コマンド実行例は以下になります。QS ファイルは S3 に置いて実行することもできますが、今回はローカルのファイルを指定しています。エクスポート処理と同様に非同期処理となっており、次の「インポート状況確認」で、ここで“asset-bundle-import-job-id”に指定したJOB ID(例では、import-test-aab)を指定することにより、処理状況を確認します。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight start-asset-bundle-import-job ` --aws-account-id $ACCOUNT_ID ` --asset-bundle-import-job-id import-test-aab ` --asset-bundle-import-source-bytes fileb://C:\work\quicksight-export\assetbundle-export-test-aab.qs ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight start-asset-bundle-import-job ` >> --aws-account-id $ACCOUNT_ID ` >> --asset-bundle-import-job-id import-test-aab ` >> --asset-bundle-import-source-bytes fileb://C:\work\quicksight-export\assetbundle-export-test-aab.qs ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 202, "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:asset-bundle-import-job/import-test-aab", "AssetBundleImportJobId": "import-test-aab", } |
インポート確認
エクスポート状況確認を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight describe-asset-bundle-import-job ` --aws-account-id $ACCOUNT_ID ` --asset-bundle-import-job-id import-test-aab ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight describe-asset-bundle-import-job ` >> --aws-account-id $ACCOUNT_ID ` >> --asset-bundle-import-job-id import-test-aab ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "JobStatus": "SUCCESSFUL", "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:asset-bundle-import-job/import-test-aab", "CreatedTime": "2026-04-23T14:05:15+09:00", "AssetBundleImportJobId": "import-test-aab", "AwsAccountId": "200000000002", "AssetBundleImportSource": { "Body": "https://quicksight-asset-bundle-import-job-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/200000000002/import-test-aab/95b44b27-4709-45a5-a746-6c7598335012/body.zip?X-Amz-Security-Token=IQoJb3Jp...(truncated)" }, "FailureAction": "ROLLBACK", "RequestId": "0050ff9e-2a66-4cf7-8361-be58ba975498" } |
インポートの実行が完了したら("JobStatus": "SUCCESSFUL")、各アセットがインポートされたか確認します。
ダッシュボード
ダッシュボードの存在確認を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight list-dashboards ` --aws-account-id $ACCOUNT_ID ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight list-dashboards ` >> --aws-account-id $ACCOUNT_ID ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "DashboardSummaryList": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:dashboard/aaaa1111-aaaa-1111-aaaa-111111111111", "DashboardId": "aaaa1111-aaaa-1111-aaaa-111111111111", "Name": "test_aab_dashboard", "CreatedTime": "2026-04-23T14:05:39.944000+09:00", "LastUpdatedTime": "2026-04-23T14:05:40.141000+09:00", "PublishedVersionNumber": 1, "LastPublishedTime": "2026-04-23T14:05:41.883000+09:00" } ], "Status": 200, "RequestId": "c25bcd3b-2fed-4eee-b7cc-7bc54fdb80ac" } |
分析
分析の存在確認を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight list-analyses ` --aws-account-id $ACCOUNT_ID ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight list-analyses ` >> --aws-account-id $ACCOUNT_ID ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "AnalysisSummaryList": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:analysis/bbbb2222-bbbb-2222-bbbb-222222222222", "AnalysisId": "bbbb2222-bbbb-2222-bbbb-222222222222", "Name": "test_aab_analysis", "Status": "CREATION_SUCCESSFUL", "CreatedTime": "2026-04-23T14:05:35.519000+09:00", "LastUpdatedTime": "2026-04-23T14:05:35.728000+09:00" } ], "Status": 200, "RequestId": "7ad2938b-f5f9-4cae-8db8-99073db4f7c2" } |
データセット
データセットの存在確認を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight list-data-sets ` --aws-account-id $ACCOUNT_ID ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight list-data-sets ` >> --aws-account-id $ACCOUNT_ID ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "DataSetSummaries": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:dataset/cccc3333-cccc-3333-cccc-333333333333", "DataSetId": "cccc3333-cccc-3333-cccc-333333333333", "Name": "test_device_master", "CreatedTime": "2026-04-23T14:05:32.015000+09:00", "LastUpdatedTime": "2026-04-23T14:05:32.015000+09:00", "ImportMode": "DIRECT_QUERY", "RowLevelPermissionTagConfigurationApplied": false, "ColumnLevelPermissionRulesApplied": false }, { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:dataset/dddd4444-dddd-4444-dddd-444444444444", "DataSetId": "dddd4444-dddd-4444-dddd-444444444444", "Name": "test_sensor_log", "CreatedTime": "2026-04-23T14:05:30.033000+09:00", "LastUpdatedTime": "2026-04-23T14:05:30.033000+09:00", "ImportMode": "DIRECT_QUERY", "RowLevelPermissionTagConfigurationApplied": false, "ColumnLevelPermissionRulesApplied": false } ], "Status": 200, "RequestId": "cc7a4a42-1349-4c05-ba68-10b5be04548e" } |
データセット
データセットの存在確認を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight list-data-sets ` --aws-account-id $ACCOUNT_ID ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight list-data-sets ` >> --aws-account-id $ACCOUNT_ID ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "DataSetSummaries": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:dataset/cccc3333-cccc-3333-cccc-333333333333", "DataSetId": "cccc3333-cccc-3333-cccc-333333333333", "Name": "test_device_master", "CreatedTime": "2026-04-23T14:05:32.015000+09:00", "LastUpdatedTime": "2026-04-23T14:05:32.015000+09:00", "ImportMode": "DIRECT_QUERY", "RowLevelPermissionTagConfigurationApplied": false, "ColumnLevelPermissionRulesApplied": false }, { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:dataset/dddd4444-dddd-4444-dddd-444444444444", "DataSetId": "dddd4444-dddd-4444-dddd-444444444444", "Name": "test_sensor_log", "CreatedTime": "2026-04-23T14:05:30.033000+09:00", "LastUpdatedTime": "2026-04-23T14:05:30.033000+09:00", "ImportMode": "DIRECT_QUERY", "RowLevelPermissionTagConfigurationApplied": false, "ColumnLevelPermissionRulesApplied": false } ], "Status": 200, "RequestId": "cc7a4a42-1349-4c05-ba68-10b5be04548e" } |
データソース
データソースの存在確認を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight list-data-sources ` --aws-account-id $ACCOUNT_ID ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight list-data-sources ` >> --aws-account-id $ACCOUNT_ID ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "DataSources": [ { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:datasource/eeee5555-eeee-5555-eeee-555555555555", "DataSourceId": "eeee5555-eeee-5555-eeee-555555555555", "Name": "test_sensor_log", "Type": "ATHENA", "Status": "CREATION_SUCCESSFUL", "CreatedTime": "2026-04-23T14:05:23.624000+09:00", "LastUpdatedTime": "2026-04-23T14:05:26.279000+09:00", "DataSourceParameters": { "AthenaParameters": { "WorkGroup": "primary", "IdentityCenterConfiguration": { "EnableIdentityPropagation": false } } }, "SslProperties": { "DisableSsl": false } }, { "Arn": "arn:aws:quicksight:ap-northeast-1:200000000002:datasource/ffff6666-ffff-6666-ffff-666666666666", "DataSourceId": "ffff6666-ffff-6666-ffff-666666666666", "Name": "test_device_master", "Type": "ATHENA", "Status": "CREATION_SUCCESSFUL", "CreatedTime": "2026-04-23T14:05:20.619000+09:00", "LastUpdatedTime": "2026-04-23T14:05:22.591000+09:00", "DataSourceParameters": { "AthenaParameters": { "WorkGroup": "primary", "IdentityCenterConfiguration": { "EnableIdentityPropagation": false } } }, "SslProperties": { "DisableSsl": false } } ], "Status": 200, "RequestId": "6f438f17-f11f-4220-9e7f-7617e2124044" } |
アセットの所有者変更
前の「インポート確認」で、各アセットが正常にインポートされていることが確認できました。しかし、実際のQuick SightのUI を見ると、何も表示されません。どうやら 所有者がログインユーザー自身になっており、適切な権限がないと、自身のUIには表示されないようです。インポート時に権限設定する方法があるかもしれませんが、今回はインポート後に権限設定を行いました。

ダッシュボード
ダッシュボードの権限設定を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight update-dashboard-permissions ` --aws-account-id $ACCOUNT_ID ` --dashboard-id aaaa1111-aaaa-1111-aaaa-111111111111 ` --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDashboard,quicksight:ListDashboardVersions,quicksight:UpdateDashboardPermissions,quicksight:QueryDashboard,quicksight:UpdateDashboard,quicksight:DeleteDashboard,quicksight:UpdateDashboardPublishedVersion,quicksight:DescribeDashboardPermissions ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight update-dashboard-permissions ` >> --aws-account-id $ACCOUNT_ID ` >> --dashboard-id aaaa1111-aaaa-1111-aaaa-111111111111 ` >> --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDashboard,quicksight:ListDashboardVersions,quicksight:UpdateDashboardPermissions,quicksight:QueryDashboard,quicksight:UpdateDashboard,quicksight:DeleteDashboard,quicksight:UpdateDashboardPublishedVersion,quicksight:DescribeDashboardPermissions ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "DashboardArn": "arn:aws:quicksight:ap-northeast-1:200000000002:dashboard/aaaa1111-aaaa-1111-aaaa-111111111111", "DashboardId": "aaaa1111-aaaa-1111-aaaa-111111111111", "Permissions": [ { "Principal": "arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai", "Actions": [ "quicksight:DescribeDashboard", "quicksight:ListDashboardVersions", "quicksight:UpdateDashboardPermissions", "quicksight:QueryDashboard", "quicksight:UpdateDashboard", "quicksight:DeleteDashboard", "quicksight:DescribeDashboardPermissions", "quicksight:UpdateDashboardPublishedVersion" ] } ], "RequestId": "9184faaa-579e-4583-b53f-0ae4fe337b52", "LinkSharingConfiguration": { "Permissions": [] } } |
権限設定後、自身のUIに表示されるようになりました。


分析
分析の権限設定を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight update-analysis-permissions ` --aws-account-id $ACCOUNT_ID ` --analysis-id bbbb2222-bbbb-2222-bbbb-222222222222 ` --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeAnalysis,quicksight:DescribeAnalysisPermissions,quicksight:UpdateAnalysis,quicksight:UpdateAnalysisPermissions,quicksight:DeleteAnalysis,quicksight:QueryAnalysis,quicksight:RestoreAnalysis ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight update-analysis-permissions ` >> --aws-account-id $ACCOUNT_ID ` >> --analysis-id bbbb2222-bbbb-2222-bbbb-222222222222 ` >> --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeAnalysis,quicksight:DescribeAnalysisPermissions,quicksight:UpdateAnalysis,quicksight:UpdateAnalysisPermissions,quicksight:DeleteAnalysis,quicksight:QueryAnalysis,quicksight:RestoreAnalysis ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "AnalysisArn": "arn:aws:quicksight:ap-northeast-1:200000000002:analysis/bbbb2222-bbbb-2222-bbbb-222222222222", "AnalysisId": "bbbb2222-bbbb-2222-bbbb-222222222222", "Permissions": [ { "Principal": "arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai", "Actions": [ "quicksight:RestoreAnalysis", "quicksight:UpdateAnalysisPermissions", "quicksight:DeleteAnalysis", "quicksight:DescribeAnalysisPermissions", "quicksight:QueryAnalysis", "quicksight:DescribeAnalysis", "quicksight:UpdateAnalysis" ] } ], "RequestId": "0fd7d6f0-1a0d-4baa-85f5-914610c999d0" } |

権限設定後、自身のUIに表示されるようになりました。

データセット
データセットの権限設定を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight update-data-set-permissions ` --aws-account-id $ACCOUNT_ID ` --data-set-id cccc3333-cccc-3333-cccc-333333333333 ` --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDataSet,quicksight:DescribeDataSetPermissions,quicksight:PassDataSet,quicksight:DescribeIngestion,quicksight:ListIngestions,quicksight:UpdateDataSet,quicksight:DeleteDataSet,quicksight:CreateIngestion,quicksight:CancelIngestion,quicksight:UpdateDataSetPermissions ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight update-data-set-permissions ` >> --aws-account-id $ACCOUNT_ID ` >> --data-set-id cccc3333-cccc-3333-cccc-333333333333 ` >> --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDataSet,quicksight:DescribeDataSetPermissions,quicksight:PassDataSet,quicksight:DescribeIngestion,quicksight:ListIngestions,quicksight:UpdateDataSet,quicksight:DeleteDataSet,quicksight:CreateIngestion,quicksight:CancelIngestion,quicksight:UpdateDataSetPermissions ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "DataSetArn": "arn:aws:quicksight:ap-northeast-1:200000000002:dataset/cccc3333-cccc-3333-cccc-333333333333", "DataSetId": "cccc3333-cccc-3333-cccc-333333333333", "RequestId": "ba15b5ef-784d-421d-a4a1-c7a4ecb05cdb" } > aws quicksight update-data-set-permissions ` >> --aws-account-id $ACCOUNT_ID ` >> --data-set-id dddd4444-dddd-4444-dddd-444444444444 ` >> --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDataSet,quicksight:DescribeDataSetPermissions,quicksight:PassDataSet,quicksight:DescribeIngestion,quicksight:ListIngestions,quicksight:UpdateDataSet,quicksight:DeleteDataSet,quicksight:CreateIngestion,quicksight:CancelIngestion,quicksight:UpdateDataSetPermissions ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "DataSetArn": "arn:aws:quicksight:ap-northeast-1:200000000002:dataset/dddd4444-dddd-4444-dddd-444444444444", "DataSetId": "dddd4444-dddd-4444-dddd-444444444444", "RequestId": "350b42b1-4a68-42a4-bbd5-3fae09036e7f" } |
権限設定後、自身のUIに表示されるようになりました。



データソース
データソースの権限設定を実行します。コマンド実行例は以下になります。
コマンド:
$ACCOUNT_ID = "<移行先AWSアカウントID>" $PROFILE = "<移行先プロファイル>" aws quicksight update-data-source-permissions ` --aws-account-id $ACCOUNT_ID ` --data-source-id eeee5555-eeee-5555-eeee-555555555555 ` --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDataSource,quicksight:DescribeDataSourcePermissions,quicksight:PassDataSource,quicksight:UpdateDataSource,quicksight:DeleteDataSource,quicksight:UpdateDataSourcePermissions ` --region ap-northeast-1 ` --profile $PROFILE |
実行例:
> $ACCOUNT_ID = "200000000002" > $PROFILE = "conexio-2000" > aws quicksight update-data-source-permissions ` >> --aws-account-id $ACCOUNT_ID ` >> --data-source-id eeee5555-eeee-5555-eeee-555555555555 ` >> --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDataSource,quicksight:DescribeDataSourcePermissions,quicksight:PassDataSource,quicksight:UpdateDataSource,quicksight:DeleteDataSource,quicksight:UpdateDataSourcePermissions ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "DataSourceArn": "arn:aws:quicksight:ap-northeast-1:200000000002:datasource/eeee5555-eeee-5555-eeee-555555555555", "DataSourceId": "eeee5555-eeee-5555-eeee-555555555555", "RequestId": "4ad9fc45-8020-4c7a-9d90-cb00152adf5c" } > aws quicksight update-data-source-permissions ` >> --aws-account-id $ACCOUNT_ID ` >> --data-source-id ffff6666-ffff-6666-ffff-666666666666 ` >> --grant-permissions Principal=arn:aws:quicksight:ap-northeast-1:200000000002:user/default/conexio.arai,Actions=quicksight:DescribeDataSource,quicksight:DescribeDataSourcePermissions,quicksight:PassDataSource,quicksight:UpdateDataSource,quicksight:DeleteDataSource,quicksight:UpdateDataSourcePermissions ` >> --region ap-northeast-1 ` >> --profile $PROFILE { "Status": 200, "DataSourceArn": "arn:aws:quicksight:ap-northeast-1:200000000002:datasource/ffff6666-ffff-6666-ffff-666666666666", "DataSourceId": "ffff6666-ffff-6666-ffff-666666666666", "RequestId": "51d0b7b0-3738-4c04-89fd-f128d5c1e15b" } |
権限設定後、自身のUIに表示されるようになりました。



つまずきポイント
“ファイルアップロード型データセット”がは移行不可。
インポート時の上書き設定(override-parameters を使って DataSource の名前や ARN を書き換える 等)を行うと失敗することが多い。
インポート時のDataSourceArn の書き換えは今回不要だった。
移行先アカウントで、データソース、データセット を事前に作成する必要はなかった。
所有者権限は移行されない。
まとめ
QuickSight のアセットを別AWSアカウントへ移行できるかどうか、QuickSight Assets as Bundle(AaB)を使って検証しました。特に、インポート時にデータを上書きしなくてもエクスポートしたデータがそのままインポートできた という点は、実際に試してみて初めて分かったポイントでした。同じように移行を検討している方の参考になれば幸いです。
コネクシオでは、IoTゲートウェイや通信だけでなく、資格を持ったエンジニアが、AWSを中心としたクラウドアプリケーション開発まで行います。
ぜひ、IoTクラウド基盤やアプリケーションの開発もご相談ください。
【お役立ち資料】コネクシオのIoTソリューションをご紹介









