AWSQuicksight-クイックガイド

AWS Quicksightは、最も強力なビジネスインテリジェンスツールの1つであり、インタラクティブなダッシュボードを数分以内に作成して、組織にビジネスインサイトを提供できます。ダッシュボードを作成できる視覚化またはグラフィック形式は多数あります。ダッシュボードは、データが更新またはスケジュールされると自動的に更新されます。Quicksightで作成したダッシュボードをWebアプリケーションに埋め込むこともできます。

Quicksightは、機械学習インサイトとも呼ばれる最新のMLインサイトを使用して、組み込みのアルゴリズムを使用して、履歴データ内のあらゆる種類の異常やピークを検出します。これは、これらの洞察に基づいて、事前にビジネス要件に備えるのに役立ちます。Quicksightの使用を開始するためのクイックガイドは次のとおりです。

以下はAWSの公式製品説明ページです-

https://aws.amazon.com/quicksight/

下記の情報を入力して[続行]ボタンをクリックして、AWSトライアルアカウントをサブスクライブすることもできます。

AWS Quicksightツールにアクセスするには、このURLをWebブラウザーに渡すか、次のURLに移動して直接開くことができます。 AWS Console → Services

https://aws.amazon.com/quicksight/

このURLを開いたら、右上隅にあるをクリックします “Sign in to the Console”

Quicksightツールにログインするには、以下の詳細を入力する必要があります-

  • アカウントIDまたはエイリアス
  • IAMユーザー名
  • Password

Quicksightにログインすると、以下の画面が表示されます-

上の画像でマークされているように、

Section A−「新しい分析」アイコンは、新しい分析を作成するために使用されます。これをクリックすると、データセットを選択するように求められます。以下に示すように、新しいデータセットを作成することもできます-

Section B−「データの管理」アイコンには、Quicksightにすでに入力されているすべてのデータセットが表示されます。このオプションを使用すると、分析を作成せずにデータセットを管理できます。

Section C−すでに接続しているさまざまなデータソースが表示されます。新しいデータソースに接続したり、ファイルをアップロードしたりすることもできます。

Section D −このセクションには、すでに作成された分析のアイコン、公開されたダッシュボード、およびQuicksightについて詳細に説明するチュートリアルビデオが含まれています。

各タブをクリックすると、以下のように表示できます-

すべての分析

ここでは、レポートやダッシュボードなど、AWSQuicksightアカウントの既存のすべての分析を確認できます。

すべてのダッシュボード

このオプションは、AWSQuicksightアカウントの既存のダッシュボードのみを表示します。

チュートリアルビデオ

Quicksightコンソールを開く他のオプションは、以下のURLを使用してAWSコンソールに移動することです-

https://aws.amazon.com/console/

ログインしたら、[サービス]タブに移動し、検索バーでQuicksightを検索する必要があります。AWSアカウントでQuicksightサービスを最近使用した場合は、[履歴]タブに表示されます。

AWS Quicksightは、さまざまなソースからのデータを受け入れます。ホームページの「新しいデータセット」をクリックすると、使用できるすべてのデータソースのオプションが表示されます。

以下は、すべての内部および外部ソースのリストを含むソースです-

Quicksightを最も一般的に使用されるデータソースのいくつかに接続してみましょう-

システムからのファイルのアップロード

.csv、.tsv、.clf、.elf.xlsx、およびJson形式のファイルのみを入力できます。ファイルを選択すると、Quicksightは自動的にファイルを認識し、データを表示します。クリックするとUpload a File ボタンをクリックすると、データセットの作成に使用するファイルの場所を指定する必要があります。

S3形式のファイルを使用する

以下のような画面が表示されます。[データソース名]で、作成されるデータセットに表示される名前を入力できます。また、ローカルシステムからマニフェストファイルをアップロードするか、マニフェストファイルのS3の場所を指定する必要があります。

マニフェストファイルはjson形式のファイルで、入力ファイルのURL /場所とその形式を指定します。形式が同じであれば、複数の入力ファイルを入力できます。マニフェストファイルの例を次に示します。入力ファイルの場所を渡すために使用される「URI」パラメーターはS3です。

{
   "fileLocations": [
      {
         "URIs": [
            "url of first file",
            "url of second file",
            "url of 3rd file and so on"
         ]
      },
   
   ],
}
"globalUploadSettings": {
   "format": "CSV",
   "delimiter": ",",
   "textqualifier": "'",
   "containsHeader": "true"
}

渡されたパラメータ globalUploadSettingsデフォルトのものです。要件に応じて、これらのパラメーターを変更できます。

MySQL

データベースに接続するには、フィールドにデータベース情報を入力する必要があります。データベースに接続すると、そこからデータをインポートできます。

RDBMSデータベースに接続する場合は、次の情報が必要です-

  • DSN名
  • 接続の種類
  • データベースサーバー名
  • Port
  • データベース名
  • ユーザー名
  • Password

以下のRDBMSベースのデータソースがQuicksightでサポートされています-

  • アマゾンアテナ
  • アマゾンオーロラ
  • AmazonRedshift
  • Amazon Redshift Spectrum
  • アマゾンS3
  • Amazon S3 Analytics
  • Apache Spark2.0以降
  • MariaDB10.0以降
  • Microsoft SQL Server2012以降
  • MySQL5.1以降
  • PostgreSQL9.3.1以降
  • Presto0.167以降
  • Snowflake
  • Teradata14.0以降

アテナ

Athenaは、テーブルに対してクエリを実行するためのAWSツールです。Athenaから任意のテーブルを選択するか、それらのテーブルに対してカスタムクエリを実行して、Quicksightでそれらのクエリの出力を使用できます。データソースを選択するには、いくつかの手順があります

アテナを選択すると、以下の画面が表示されます。Quicksightで、データソースに付ける任意のデータソース名を入力できます。クリック“Validate Connection”。接続が検証されたら、をクリックします“Create new source” ボタン

次に、ドロップダウンからテーブル名を選択します。ドロップダウンには、Athenaに存在するデータベースが表示され、さらにそのデータベースのテーブルが表示されます。それ以外の場合は、をクリックできます“Use custom SQL” Athenaテーブルでクエリを実行します。

完了したら、をクリックできます “Edit/Preview data” または “Visualize” データを編集するか、要件に応じてデータを直接視覚化します。

データソースの削除

Quicksightダッシュボードのいずれかで使用されているデータソースを削除すると、関連するデータセットが使用できなくなる可能性があります。これは通常、SQLベースのデータソースをクエリするときに発生します。

に基づいてデータセットを作成する場合 S3, Sales force or SPICE、データはSPICEに保存されるため、データセットを使用する機能には影響しません。ただし、この場合、更新オプションは使用できません。

データソースを削除するには、データソースを選択します。データセットページの作成で[既存のデータソースから]タブに移動します。

削除する前に、データソースの推定テーブルサイズやその他の詳細を確認することもできます。

Quicksightツールでさまざまなデータソースを使用する場合、データソースに基づいて適用される特定の制限があります。

ファイル

マニフェストファイルで指定された合計サイズの最大25GBを使用できます。この制限は、SPICEにインポートされた後のファイルサイズによって異なります。

マニフェストファイルでサポートされるファイルの数は1000であり、各ファイルの列数にも制限があります。

テーブルとクエリ

大きなテーブルをクエリする場合は、WhereまたはHaving条件を使用して、SPICEにインポートされるデータの数を減らすことをお勧めします。SPICEにインポートされるクエリ結果は25GBを超えてはなりません。

SPICEにデータをインポートするときに、一部の列の選択を解除できます。

データソースにQuicksightでサポートされていないデータ型が含まれている場合、AWSQuicksightはそれらの値をスキップします。

個人ID 販売日
001 2017年10月14日 12.43
002 2017年5月3日 25.00
003 わからない 18.17
004 2019年3月8日 86.02

上記の値から、Quicksightは、このデータをデータセットにインポートするときに、日付なしの値の行を削除します。Quicksightでは次のデータ型がサポートされています-

データベースソース 数値データ型 文字列データ型 日時データ型 ブールデータ型
Amazon Athena,Presto
  • bigint
  • decimal
  • double
  • integer
  • real
  • smallint
  • tinyint
  • char
  • varchar
  • date
  • timestamp
  • Boolean
Amazon Aurora, MariaDB,and MySQL
  • bigint
  • decimal
  • double
  • int
  • integer
  • mediumint
  • numeric
  • smallint
  • tinyint
  • char
  • enum
  • set
  • text
  • varchar
  • date
  • datetime
  • timestamp
  • year
PostgreSQL
  • bigint
  • decimal
  • double
  • integer
  • numeric
  • precision
  • real
  • smallint
  • char
  • character
  • text
  • varchar
  • さまざまなキャラクター
  • date
  • timestamp
  • Boolean
Apache Spark
  • bigint
  • decimal
  • double
  • integer
  • real
  • smallint
  • tinyint
  • varchar
  • date
  • timestamp
  • Boolean
Snowflake
  • bigint
  • byteint
  • decimal
  • double
  • doubleprecision
  • float
  • float4
  • float8
  • int
  • integer
  • number
  • numeric
  • real
  • smallint
  • tinyint
  • char
  • character
  • string
  • text
  • varchar
  • date
  • datetime
  • time
  • timestamp
  • timestamp_*
  • Boolean
Microsoft SQL Server
  • bigint
  • bit
  • decimal
  • int
  • money
  • numeric
  • real
  • smallint
  • smallmoney
  • tinyint
  • char
  • nchar
  • nvarchar
  • text
  • varchar
  • date
  • datetime
  • datetime2
  • datetimeoffset
  • smalldatetime
  • bit

Quicksightで使用する新しいデータセットを作成すると、次のメッセージが表示されます。要件に応じてデータをプレビューまたは編集できます。特定のフィールドのタイプを変更したり、ヘッダーの名前を変更したり、入力フィールドに基づいて計算フィールドを追加したりできます。

[データの編集/プレビュー]をクリックすると、入力データセットのヘッダーとフィールドが表示されます。これがサンプルデータセットです-

計算フィールドを追加するオプションもあります。入力フィールドで組み込み関数を使用して、新しいフィールドを作成できます。複数のフィールドを連結する、単一のフィールドを複数のフィールドにストリング解除する、日付間の時差など、いくつかのオプションがあります。完全なリストを以下に示します-

フィールドの追加または変更が完了したら、上部にある[保存して視覚化]または[保存]をクリックするだけです。「保存」ボタンを押すと既存の画面が表示され、「保存して視覚化」ボタンを押すとビジュアル作成画面が表示されます。

変更をキャンセルするには、上部の[キャンセル]ボタンをクリックします。

分析は、1つ以上のビジュアルの組み合わせです。ビジュアルとは、データをグラフィック、チャート、または表形式で表現したものです。ビジュアルを作成するために利用できるフォーマットは多数あります。これには、円グラフ、横棒グラフ、縦棒グラフ、ピボットテーブルが含まれます。

入力データセットがビジネス要件に従って変更されたら、データセットをダブルクリックし、視覚化をクリックして新しい分析の作成を開始します。以下の画面またはワークスペースが表示されます。

フィールドを選択すると、Quicksightはフィールドに応じてビジュアルのタイプを自動的に選択します。ビジュアルタイプを変更したい場合は、ビジュアルタイプの1つを選択できます。

たとえば、ビジュアルタイプの下の水平バーを選択することから始めます。まず、中央のビジュアル内の任意の1つのフィールドをドラッグします。上部には、ビジュアルで使用されるフィールドと対応する軸を含む「フィールドウェル」が表示されます。最後にユーザー名のすぐ下にある下矢印をクリックできます。

これにより、ビューが拡大されます。Y軸の性別とグループ/色の下のジョブファミリーを選択しました。ドロップダウンからフィールドを変更できます。valueの下で、任意の数値フィールドを追加し、そのフィールドで集計関数を使用できます。デフォルトでは、ビジュアルには行数が表示されます。

ビジュアルは次のように表示されます-

ビジュアルの見出し/タイトルおよびその他のフォーマットオプションの数を変更するオプションがあります。右端のドロップダウンをクリックします。オプションが展開されます。「ビジュアルフォーマット」を選択します。左側のタブの[ビジュアルのフォーマット]の下にさまざまなオプションが表示されます。

X-Axis/Y-Axis−これにより、それぞれの軸にラベルまたはフィールド名を表示する場合のオプションが提供されます。また、これらのラベルの名前を変更することもできます。

Group/Color −これは、ビジュアルのデフォルトの色を変更するオプションを提供します。

Legend−これは、ビジュアル内のタイトルとタイトルの位置を変更するオプションを提供します。タイトルをクリックするだけで名前を変更することもできます。

Data labels −これは、各バーの正確な値と値を表示する必要がある位置を表示するオプションを提供します。

以下の画面は、すべてがオンになっているビジュアルを示しています-

新しいビジュアルを追加するには、をクリックします “Add”上部に署名します。別の長方形のスペースが分析に追加されます。さまざまなビジュアルタイプとフィールドを選択して、別のビジュアルを作成できます。

[追加]ボタンをクリックすると、既存の分析に以下を追加するオプションがあります-

  • ビジュアルを追加
  • インサイトを追加
  • 表題を加える
  • 説明を追加
  • 計算フィールドの追加
  • パラメータを追加

ビジュアルをフォーマットするには、チャートの右上隅にあるドロップダウン矢印ボタンを使用することもできます。以下のオプションが利用可能です-

  • Maximize
  • ビジュアルのフォーマット
  • 凡例を隠す
  • CSVにエクスポート
  • 「その他」のカテゴリを非表示
  • URLアクション
  • Delete

Quicksightを使用すると、作成中のビジュアルにフィルターを追加できます。任意の分析またはすべてのビジュアルの下で、単一のビジュアルのみにフィルターを適用するオプションがあります。フィルタを追加するには、左側のタブの「フィルタ」アイコンをクリックします。存在する場合は既存のフィルターが表示されるか、要件に従ってフィルターを作成できます。以下の例では、既存のフィルターがないため、「作成する」オプションが提供されています。

[作成]をクリックすると、フィルターを作成できます。これにより、1つまたはすべてのビジュアルにフィルターを追加するかどうかを選択できます。また、フィルターを適用するフィールドを選択することもできます。

上記の例では、入力データセットの「生年月日」フィールドにフィルターを追加し、日付を指定しています。現在、ビジュアルには、さまざまな職種と職種の従業員の平均在職期間が含まれていますが、生年月日が1980-01-01以降の従業員のみが含まれています。

Amazonは、機械学習機能を使用してデータを分析し、洞察を提供します。インサイトは、データの傾向を示し、ビジネスメトリックの予測に役立ち、主要な推進要因を特定します。手動で分析して作成する時間を大幅に節約できます。洞察の助けを借りて、あなたはあなたが最良の決定を決定して行うのに役立つ様々なポイントを簡単に理解し、あなたの目標を達成することができます。

インサイトをクリックすると、左側のパネルの「推奨されるインサイト」の下に、Quicksightによって自動的に計算および作成されたインサイトが表示されます。

各洞察の見出しの右側にカーソルを合わせると、「+」記号と3つのドットが表示されます。「+」記号は分析に洞察を追加するために使用され、3つのドットは既存の洞察にフィルターを追加するオプションを提供します。インサイトを追加するには、上部の「追加」記号をクリックし、「インサイトの追加」をクリックします。

さらに、実行する計算タイプを選択して、その洞察を分析に追加できます。「予測」と異常検出は機械学習を利用しており、Quicksightの「エンタープライズエディション」で利用できます。

ストーリーは、一連の画面をキャプチャして1つずつ再生するオプションです。たとえば、さまざまなフィルタオプションを使用してビジュアルを表示する場合は、ストーリーを使用できます。ストーリーを作成するには、左端のパネルで[ストーリー]をクリックします。デフォルトでは、ストーリーボード1という名前のストーリーがあります。次に、上部の右端のパネルにあるキャプチャアイコンを使用して画面をキャプチャします。画面の各キャプチャは、シーンとも呼ばれます。複数のシーンをキャプチャすることができ、それらは「ストーリーボード1」の下に追加されます。メインデータソースが更新されると、ストーリー内のデータは自動的に更新されます。

パラメータは、ダッシュボードを変更するためのユーザーの制御を渡すために作成される変数です。パラメータは、入力データセットのフィールドを使用して、または分析用に作成されたフィルタで作成できます。たとえば、フィルターを使用してパラメーターを作成すると、ダッシュボードユーザーはフィルターを作成せずに直接フィルターを適用できます。

パラメータの作成

このセクションでは、パラメータを作成する方法を説明します-

Step 1−パラメータの名前を入力します。性別をパラメータとして考えてみましょう。

Step 2−データ型を選択します。デフォルトでは、文字列です。

Step 3 −以下のように可能なオプションを選択してください。

パラメータが追加されます。ダッシュボードにコントロールを追加することを選択できます。

分析の準備ができたら、これを電子メールまたは他のQuicksightユーザーがユーザーと共有できます。右上のメニューには、“Share” アイコン

デフォルトでは、分析には作成者または管理者のみがアクセスできます。分析を表示できるようにするには、ユーザーにアクセス権を提供する必要があります。「分析アクセスの管理」をクリックすると、登録されているすべてのユーザーが表示されます。アクセスを拡張するユーザーを選択し、「ユーザーを招待」をクリックできます。ユーザーは電子メール通知を受け取り、通知を受け入れると、電子メールで分析を取得できるようになります。

ダッシュボードには、分析のスクリーンショットが表示されます。分析とは異なり、ダッシュボードはスクリーンショットとしてのみ読み取られます。ビジュアルで作成されたパラメーターとフィルターを使用して、同じチャートで新しいビジュアルを作成できます。

作成した分析のダッシュボードを生成するには、共有アイコンの下にあるダッシュボードの公開をクリックするだけです。ダッシュボードに任意の名前を付けて、「ダッシュボードの公開」アイコンをクリックします。

ダッシュボードをこのアカウントのすべてのユーザーと共有するか、特定のユーザーのみと共有するかを選択できます。

これで、ダッシュボードが下に表示されます “All dashboards” ホーム画面のタブ。

これは、フィルターが接続されたサンプルダッシュボードです。ビジュアルの作成中に追加されたフィルターを適用する以外に、ダッシュボードを編集するオプションがないことがわかります。

Quicksightの管理は、現在のアカウントを管理することです。それぞれの役割を持つユーザーを追加したり、サブスクリプションを管理したり、SPICEの容量を確認したり、ドメインの埋め込みをホワイトリストに登録したりできます。このページでアクティビティを実行するには、管理者アクセスが必要です。

ユーザープロファイルの下に、Quicksightを管理するためのオプションがあります。

[サブスクリプションの管理]をクリックすると、以下の画面が表示されます。このアカウントのユーザーとそれぞれの役割が表示されます。

検索オプションもあります。Quicksightで既存のユーザーを特に検索したい場合に備えて。

有効なメールアドレスを持つユーザーを招待することも、有効なIAMアカウントを持つユーザーを追加することもできます。IAMロールを持つユーザーは、Quicksightアカウントにログインして、アクセスできるダッシュボードを表示できます。

サブスクリプションには、サブスクライブしているQuicksightのエディションが表示されます。

SPICE容量は、選択されている計算エンジンの容量とこれまでに使用された量を示します。必要に応じて、より多くの容量を購入するオプションがあります。

アカウント設定には、Quicksightアカウントの詳細が表示されます-通知メールアドレス、QuicksightへのAWSリソースのアクセス許可、またはアカウントを閉鎖するオプションもあります。

Quicksightアカウントを閉じると、以下のオブジェクトに関連するすべてのデータが削除されます-

  • データソース
  • データセット
  • Analyses
  • 公開されたダッシュボード

VPC接続の管理を使用すると、VPC接続を管理してQuicksightに追加できます。新しいVPC接続を追加するには、次の詳細を提供する必要があります-

ドメインと埋め込みを使用すると、ユーザーのQuicksightダッシュボードを埋め込むドメインをホワイトリストに登録できます。Quicksightでホワイトリストに登録するhttps://ドメインのみをサポートします-

https://example.com

以下に示すチェックボックスを選択して、使用する場合は任意のサブドメインを含めることもできます。[追加]ボタンをクリックすると、Quicksightで埋め込みが許可されているドメイン名のリストにドメインが追加されます。

許可されたドメインを編集するには、ドメイン名の横にある[編集]ボタンをクリックする必要があります。変更を加えて[更新]をクリックできます。

AWS Quicksightは、サポートされるユーザー管理、権限、機能によって異なるさまざまなエディションをサポートします- Standard そして Enterprise。これらのエディションは両方とも、データの視覚化を作成および共有するためのすべてのQuicksight機能をサポートしています。

Enterprise Editionは、AWSディレクトリへのActiveDirectory統合のサポートを提供します。以下に示すように、Enterpriseエディションでサポートされている他のさまざまな機能があります-

サポートされている機能 標準版 Enterprise Edition
無料の著者の数 1 1
無料トライアル作成者の数(60日) 4 4
含まれているSPICE容量 10GB /ユーザー 10GB /ユーザー
読者 該当なし $ 0.30 /セッション
追加のSPICE容量 $ 0.25 / GB /月。 $ 0.38 / GB /月。
スプレッドシート、データベース、データレイク、ビジネスアプリに接続する ✓✓ ✓✓
AutoGraphでデータを簡単に分析 ✓✓ ✓✓
高速でスケーラブルな視覚化 ✓✓ ✓✓
インタラクティブなデータアクセス用のダッシュボードを公開する ✓✓ ✓✓
SAMLまたはOpenIDConnectを使用したシングルサインオン ✓✓ ✓✓
Webおよびモバイルアクセス ✓✓ ✓✓
詳細へのドリルダウンとフィルターのカスタマイズ ✓✓ ✓✓
AWSCloudTrailで監査ログを有効にする ✓✓ ✓✓
リーダーの役割 ✓✓
プライベートVPCとオンプレミスのデータに安全にアクセスする ✓✓
行レベルのセキュリティ ✓✓
SPICEデータの1時間ごとの更新 ✓✓
保管時の安全なデータ暗号化 ✓✓
ActiveDirectoryに接続する ✓✓
ActiveDirectoryグループを使用する ✓✓

AWSQuicksightのサブスクリプションタイプは次のコマンドで確認できます Manage Quicksight オプション。

Enterprise Editionでは、AWS Quicksightを使用すると、以下のいずれかの方法を使用してユーザーを管理できます-

  • Microsoft Active Directoryの使用:Enterpriseエディションでは、Microsoft Active Directoryグループを追加/削除して、ユーザーアカウントを作成および非アクティブ化できます。ディレクトリグループには、直接アクセスするか、ADコネクタを使用してアクセスできます。

  • フェデレーションログイン。

  • メールでユーザーを招待します。

QuicksightでADユーザー/グループを管理するには、に移動する必要があります Manage Quicksight → Manage users/Manage groups

ドロップダウンリストをクリックして、既存のユーザーの役割を変更することもできます-

  • Admin
  • Author
  • Reader

AWS Quicksight管理者は、以下に示すように、[ユーザーの管理]オプションを使用して既存のユーザーのパスワードをリセットすることもできます-

[アカウントの管理]オプションを使用して、AQS QuicksightStandardエディションからEnterpriseエディションに更新できます。アップグレードを実行するには、ユーザーはAWSQuicksight管理者権限を持っている必要があります。

右上隅にあるプロフィールアイコンをクリック→今すぐアップグレード。

[アップグレード]をクリックすると、次の画面が表示されます。アップグレードを完了するには、[アップグレード]ボタンをクリックします。

Note −サブスクリプションをStandardエディションからEnterpriseエディションに変更すると、ロールバックすることはできません。

QuicksightアカウントのIAMポリシーを管理するには、rootユーザーまたはIAM認証情報を使用できます。rootユーザーではなく、IAM認証情報を使用してリソースアクセスとポリシーを管理することをお勧めします。

Amazon Quicksightにサインアップして使用するには、次のポリシーが必要です-

標準版

  • ds:AuthorizeApplication
  • ds:CheckAlias
  • ds:CreateAlias
  • ds:CreateIdentityPoolDirectory
  • ds:DeleteDirectory
  • ds:DescribeDirectories
  • ds:DescribeTrusts
  • ds:UnauthorizeApplication
  • iam:CreatePolicy
  • iam:CreateRole
  • iam:ListAccountAliases
  • quicksight:CreateUser
  • quicksight:CreateAdmin
  • quicksight:Subscribe

Enterprise Edition

上記のポリシーとは別に、EnterpriseEditionでは以下の権限が必要です-

  • quicksight:GetGroupMapping
  • quicksight:SearchDirectoryGroups
  • quicksight:SetGroupMapping

また、許可することができます user to manage permissions for AWS resources in Quicksight。次のIAMポリシーは、両方のエディションで割り当てる必要があります-

  • iam:AttachRolePolicy
  • iam:CreatePolicy
  • iam:CreatePolicyVersion
  • iam:CreateRole
  • iam:DeletePolicyVersion
  • iam:DeleteRole
  • iam:DetachRolePolicy
  • iam:GetPolicy
  • iam:GetPolicyVersion
  • iam:GetRole
  • iam:ListAttachedRolePolicies
  • iam:ListEntitiesForPolicy
  • iam:ListPolicyVersions
  • iam:ListRoles
  • s3:ListAllMyBuckets

AWS管理者がQuicksightの登録を解除できないようにするために、すべてのユーザーを拒否できます “quicksight:Unsubscribe”

ダッシュボード埋め込みのIAMポリシー

AWS QuciksightダッシュボードURLをWebページに埋め込むには、次のIAMポリシーをユーザーに割り当てる必要があります-

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Action": "quicksight:RegisterUser",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "quicksight:GetDashboardEmbedUrl", 
         "Resource": "arn:aws:quicksight:us-east-1: 
         868211930999:dashboard/ 
         f2cb6cf2-477c-45f9-a1b3-639239eb95d8 ",
         "Effect": "Allow"
      }
   ]
}

QuicksightのIAMポリシーシミュレータを使用して、これらのロールとポリシーを管理およびテストできます。以下は、IAMポリシーシミュレータにアクセスするためのリンクです-

https://policysim.aws.amazon.com/home/index.jsp?#

Quicksightダッシュボードを外部アプリケーション/ウェブページに埋め込んだり、AWSCognitoサービスを使用してユーザーアクセスを制御したりすることもできます。ユーザー制御を実行するには、CognitoでユーザープールとIDプールを作成し、埋め込みダッシュボードポリシーをIDプールに割り当てることができます。

AWS Cognitoは、管理者が一時ユーザーを作成および管理してアプリケーションへのアクセスを提供できるようにするIAMサービスです。IDプールを使用すると、これらのユーザープールのアクセス許可を管理できます。

安全なダッシュボードURLを生成し、ユーザー制御を実行する方法を見てみましょう-

ステップ1-ユーザープールとユーザーの作成

AWS Cognitoでユーザープールを作成し、ユーザーを作成します。に移動Amazon Cognito → Manage User Pools → Create a User Pool

ステップ2-IDプールを作成する

ユーザープールが作成されたら、次のステップはIDプールを作成することです。に移動https://console.aws.amazon.com/cognito/home?region=us-east-1

「新しいIDプールの作成」をクリックします。

IDプールの適切な名前を入力します。「認証プロバイダー」セクションに移動し、「Cognito」オプションを選択します。

ステップ3-Cognitoロールを作成する

ユーザープールID(ユーザープールID)とアプリクライアントIDを入力します(ユーザープールのアプリクライアントに移動し、IDをコピーします)。

次に、[プールの作成]をクリックし、[許可]をクリックして、IAMでIDプールのロールを作成します。2つのCognitoロールを作成します。

ステップ4-カスタムポリシーの割り当て

次のステップは、上記のステップで作成されたIDロールにカスタムポリシーを割り当てることです-

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Action": "quicksight:RegisterUser",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "quicksight:GetDashboardEmbedUrl",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "sts:AssumeRole",
         "Resource": "*",
         "Effect": "Allow"
      }
   ]
}

「*」の代わりに「quicksight:GetDashboardEmbedUrl」の下でダッシュボードAmazonリソース名(ARN)を渡して、ユーザーが1つのダッシュボードにのみアクセスするように制限できます。

ステップ5-Cognitoアプリケーションにログインする

次のステップは、ユーザープール内のユーザー資格情報を使用してCognitoアプリケーションにログインすることです。ユーザーがアプリケーションにログインすると、Cognitoは3つのトークンを生成します-

  • IDToken
  • AccessToken
  • トークンの更新

一時的なIAMユーザーを作成するための資格情報は、次のとおりです。

AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
   IdentityPoolId:"Identity pool ID", Logins: {
      'cognito-idp.us-east-1.amazonaws.com/UserPoolID': AccessToken
   }
});

一時的なIAM認証情報を生成するには、以下のパラメータを使用してsts.assumeロールメソッドを呼び出す必要があります-

var params = {
   RoleArn: "Cognito Identity role arn", RoleSessionName: "Session name"
};
sts.assumeRole(params, function (err, data) {
   if (err) console.log( err, err.stack); 
   // an error occurred
   else {
      console.log(data);
   })
}

ステップ6-Quicksightにユーザーを登録する

次のステップは、ステップ3で生成された資格情報に対して「quicksight.registerUser」を使用して以下のパラメーターでユーザーをQuicksightに登録することです。

var params = {
   AwsAccountId: “account id”,
   Email: 'email',
   IdentityType: 'IAM' ,
   Namespace: 'default',
   UserRole: ADMIN | AUTHOR | READER | RESTRICTED_AUTHOR | RESTRICTED_READER,
   IamArn: 'Cognito Identity role arn',
   SessionName: 'session name given in the assume role creation',
};
quicksight.registerUser(params, function (err, data1) {
   if (err) console.log("err register user”); 
   // an error occurred
   else {
      // console.log("Register User1”);
   }
})

ステップ7-AWS設定ファイルを更新する

次に、ステップ5で生成されたユーザーのAWS設定を更新します。

AWS.config.update({
   accessKeyId: AccessToken,
   secretAccessKey: SecretAccessKey ,
   sessionToken: SessionToken,
   "region": Region
});

ステップ8-Quicksightダッシュボードの埋め込みURLを生成する

手順5で作成した認証情報を使用して、以下のパラメーターを指定してquicksight.getDashboardEmbedUrlを呼び出し、URLを生成します。

var params = {
   AwsAccountId: "Enter AWS account ID",
   DashboardId: "Enter dashboard Id",
   IdentityType: "IAM",
   ResetDisabled: true,
   SessionLifetimeInMinutes: between 15 to 600 minutes,
   UndoRedoDisabled: True | False
}
quicksight.getDashboardEmbedUrl(params,function (err, data) {
   if (!err) {
      console.log(data);
   } else {
      console.log(err);
   }
});

上記で生成されたURLを使用して、アプリケーションから「QuickSightEmbedding.embedDashboard」を呼び出す必要があります。

Amazon Quicksightと同様に、埋め込みダッシュボードも次の機能をサポートしています-

  • ドリルダウンオプション
  • カスタムアクション(新しいタブへのリンク)
  • 画面上のフィルター
  • CSVにダウンロード
  • ビジュアルで並べ替え
  • メールレポートのオプトイン
  • ダッシュボードをデフォルトオプションにリセット
  • ダッシュボードの元に戻す/やり直しアクション

AWS Quicksight SDKを使用して、以下を管理できます-

  • ユーザーとグループの管理
  • ダッシュボードの埋め込み

以下に、埋め込みダッシュボードを表示するために使用されるサンプルHTMLコードを示します-

<!DOCTYPE html>
<html>
   <head>
      <title>Sample Embed</title>
      <script type="text/javascript" src="https://unpkg.com/[email protected]/dist/quicksight-embedding-js-sdk.min.js"></script>
      <script type="text/javascript">
         function embedDashboard() {
            var containerDiv = document.getElementById("dashboardContainer");
            var params = {
               url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/xxx-x-x-xx-x-x-x-x-x-x-x-xx-xx-x-xx",
               container: containerDiv,
               parameters: {
                  country: 'United States'
               },
               height: "600px",
               width: "800px"
            };
            var dashboard = QuickSightEmbedding.embedDashboard(params);
            dashboard.on('error', function() {});
            dashboard.on('load', function() {});
            dashboard.setParameters({country: 'Canada'});
         }
      </script>
   </head>
<html>

AWS SDKを使用するには、次のことに精通している必要があります-

  • JSON

  • ウェブサービス

  • HTTPリクエスト

  • JavaScript、Java、Python、C#などの1つ以上のプログラミング言語。

以下の職務は、AWSQuicksight開発者によって実行されます-

  • 分析、レポート、ビジネスインテリジェンスツールに関連する実務経験が必要です。

  • ETLおよびビジネスインテリジェンス環境をセットアップするためのAWSの顧客要件と設計ソリューションを理解する。

  • さまざまなAWSサービス、それらの使用と構成を理解する。

  • 大規模で異種のデータセットを使用するビジネス環境で、SQL、ETL、データウェアハウスソリューション、およびデータベースを使用する能力。

  • 複雑な定量的およびデータ分析スキル。

  • AWS IAMポリシー、AWSサービスのロールと管理者を理解する。