ブログ

AWS の BI ツール「Amazon QuickSight」の名前空間 ( Namespaces ) を活用しよう

Amazon QuickSight の名前空間 ( Namespaces ) はご利用ですか?

アウトプットって大事ですよね!?ですよね!?!?エンジニアの横田です。 

Amazon QuickSight の導入をご相談いただく機会が何度かあり、名前空間 ( Namespaces ) について調べることがありましたので自分自身が忘れないためにもブログ記事として執筆します。
アウトプット大事ですし!!!←

Amazon QuickSight の名前空間 ( Namespaces ) とは?

まずはじめに Amazon QuickSight は、AWS が提供するクラウドベースのビジネスインテリジェンス( BI )サービスです。
BI ツールは、ビッグデータや各種データソースから洞察を抽出し、分析した結果を視覚的で簡易的な形式で表示することが可能となっています。

その中で重要な役割を果たすのが 名前空間 ( Namespaces )です。
名前空間とは、 1 つの AWS アカウント内における、独立したワークスペースのことを指します。
1 つの AWS アカウントに作成できる Amazon QuickSight アカウントは1つですが、そのアカウントを名前空間というかたちで分割できます。各名前空間はそれぞれが独立し、お互いに影響を及ぼさないように設計されています。

そのため、複数のプロジェクトやチームが同じ AWS アカウントを共有していても、それぞれが独自の名前空間を持つことでデータを適切に分離し、管理することができます。

更に、名前空間はデータのセキュリティにも寄与します。
異なる名前空間間でデータを共有する際には、適切な権限設定が必要になります。
これにより、不必要な情報漏洩リスクを回避し、必要な情報のみを指定されたユーザーが閲覧することができる仕組みを構築することが可能となります。

Amazon QuickSight の名前空間の活用は、データの整理とセキュリティの強化、そして複数部署や関連会社での利用に非常に重要です。

名前空間を利用するにはサブスクリプションが Amazon QuickSight Enterprise Edition である必要があったり、 IAM ロールによるアクセスのみが許可されていたりと気にすべき制限事項がいくつかございますので、詳しくはユーザーガイド [*1] をご確認ください。

Amazon QuickSight で名前空間 ( Namespaces ) を活用するメリット

名前空間を利用するメリットとしてデータ管理の効率化とセキュリティの強化が挙げられます。

・データ管理の効率化
上述しましたとおり、Amazon QuickSight では1つのアカウント内で複数の名前空間を作成し、管理することができます。
複数の名前空間を活用すると、AWS アカウントを追加することなく、様々なデータを一元的に管理することが可能になります。
企業や組織が所有する異なるデータを別々の名前空間に割り当てることで、必要なデータセットのみを管理したり、各データに対応するダッシュボードの作成を一元化したりと、それぞれを効率的に行うことが可能になります。
これにより、組織全体の時間と人的リソースの浪費を減らし、結果的に生産性を高めることができます。

・セキュリティ強化
複数の名前空間を作成することにより、組織内の各チームや部署がアクセスすべき情報のみにアクセスすることが可能になります。
各名前空間はそれぞれが独立しており、作成するデータセットは他の名前空間のユーザーから接続することができません。
各名前空間で扱うデータを分離することにより、データ漏えいのリスクを抑えることが可能になります。

Amazon QuickSight の名前空間 ( Namespaces )  の使い方

それでは実際に Amazon QuickSight に名前空間を作成してみます。

基本的には AWS CLI での操作となりますので、必要に応じて AWS CLI Command Reference [*2]をご確認ください。

1 . エディション確認

まずは Amazon QuickSight のエディションを確認します。QuickSight のコンソール画面右上部から「 QuickSight の管理」を押下します。

遷移した画面の左上部にエディションの記載がありますので、エンタープライズ版であることをご確認ください。

※ スタンダード版の場合は名前空間は作成できません。

2 . 名前空間作成

次に名前空間を作成します。
まずは現在の名前空間を確認したいのですが、コンソール画面上からは確認することができません
AWS CLI の使用が必要になりますので、インストールされていない方はインストールをお願いします。

$ aws quicksight list-namespaces --aws-account-id <アカウントID>
{
    "Namespaces": [
        {
            "Name": "default",
            "Arn": "arn:aws:quicksight:<region>:<アカウントID>:namespace/default",
            "CapacityRegion": "<region>",
            "CreationStatus": "CREATED",
            "IdentityStore": "QUICKSIGHT"
        }
    ],
    "Status": 200,
    "RequestId": "00000000-0000-0000-0000-00000000"
}

Amazon QuickSight アカウントを作成した際の最初の名前空間名は default です。
ここに test という名前空間を追加します。

$ aws quicksight create-namespace --aws-account-id <アカウントID> --namespace test --identity-store QUICKSIGHT
{
    "Status": 202,
    "Name": "test",
    "CapacityRegion": "<region>",
    "CreationStatus": "CREATING",
    "IdentityStore": "QUICKSIGHT",
    "RequestId": "00000000-0000-0000-0000-00000000"
}

再び list してみると test という名前空間が作成されたことが確認できます。

$ aws quicksight list-namespaces --aws-account-id <アカウントID>
{
    "Namespaces": [
        {
            "Name": "default",
            "Arn": "arn:aws:quicksight:<region>:<アカウントID>:namespace/default",
            "CapacityRegion": "<region>",
            "CreationStatus": "CREATED",
            "IdentityStore": "QUICKSIGHT"
        },
        {
            "Name": "test",
            "Arn": "arn:aws:quicksight:<region>:<アカウントID>:namespace/test",
            "CapacityRegion": "<region>",
            "CreationStatus": "CREATED",
            "IdentityStore": "QUICKSIGHT"
        }
    ],
    "Status": 200,
    "RequestId": "00000000-0000-0000-0000-00000000"
}

名前空間 test にユーザーを追加しますが、ここで注意点が一つ。
オプションの --identity-type は QUICKSIGHT でもコマンドが通るのですが、実際は使用できず、  IAM のみが許可されてます。( 2023/07/03 時点)

名前空間を利用する場合は AWS のマネジメントコンソールへアクセスできる IAM ユーザーを作成しないといけないのでご注意ください。

$ aws quicksight register-user --aws-account-id <アカウントID> --namespace test --identity-type IAM --iam-arn arn:aws:iam::<アカウントID>:user/test --email <メールアドレス> --user-role AUTHOR
{
    "Status": 201,
    "User": {
        "Arn": "arn:aws:quicksight:<region>:<アカウントID>:user/test/test",
        "UserName": "test",
        "Email": "<メールアドレス>",
        "Role": "AUTHOR",
        "IdentityType": "IAM",
        "Active": false,
        "PrincipalId": "federated/iam/AIDAUKSZZDTTO7L767JYF"
    },
    "RequestId": "00000000-0000-0000-0000-00000000"
}

作成したユーザーで QuickSight のコンソールにログインすると自動的に所属する名前空間のコンソール画面に遷移します。

以下画面キャプチャの左側が作成した名前空間。右側が最初に作成された名前空間 default です。
それぞれデータセットが独立していることがご確認いただけます。

Amazon QuickSight の名前空間 ( Namespaces )  まとめ

いかがでしたでしょうか?
これまで Amazon QuickSight の名前空間を利用していなかった方のお役に少しでも立てれば幸いです。

また、QuickSight に限らず、「 AWS でこんなことできないかな?」「自社サーバーを AWS に引っ越したいな。」等々ございましたら、右上の[お問い合わせ]からお気軽にご相談ください。

ご参考: Amazon QuickSight | 名前空間 ( Namespaces )

*1「分離された名前空間によるマルチテナンシーのサポートhttps://docs.aws.amazon.com/ja_jp/quicksight/latest/user/namespaces.html

*2「AWS CLI Command Reference / quicksight
https://docs.aws.amazon.com/cli/latest/reference/quicksight/index.html

【筆者実行環境】

PC:MacBook Air (M1, 2020)
OS:macOS Venture 13.4.1
aws cli :aws-cli/2.12.5 Python/3.11.4 Darwin/22.5.0 source/arm64 prompt/off

元記事発行日: 2024年03月01日、最終更新日: 2024年02月19日