Quick Suite でデータベース認証情報の代わりに AWS Secrets Manager シークレットを使用する - Amazon Quick Suite

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Quick Suite でデータベース認証情報の代わりに AWS Secrets Manager シークレットを使用する

   対象者: Amazon Quick Suite 管理者と Amazon Quick Suite 開発者 

AWS Secrets Manager は、データベース認証情報、API キー、およびその他のシークレット情報を保護するために使用できるシークレットストレージサービスです。シークレットはコードに保存されていないため、キーの使用はお客様のコードを調べている誰かがシークレットを漏らさないようにするのに役立ちます。この概要については、「AWS Secrets Manager ユーザーガイド」を参照してください

Quick Suite 管理者は、Secrets Manager で作成したシークレットへの読み取り専用アクセスを Amazon Quick Suite に許可できます。これらのシークレットは、Quick Suite API を使用してデータソースを作成および編集するときに、データベース認証情報の代わりに使用できます。

Quick Suite は、認証情報ペア認証をサポートするデータソースタイプでのシークレットの使用をサポートしています。現在、Jira および ServiceNow はサポートされていません。

注記

Quick Suite AWS Secrets Manager で を使用する場合、AWS Secrets Manager 料金表ページの説明に従って、アクセスとメンテナンスの料金が請求されます。請求明細書では、コストは Amazon Quick Suite ではなく Secrets Manager で明細化されます。

以下のセクションで説明する手順に従って、Secrets Manager を Amazon Quick Suite と統合します。

Amazon Quick Suite に Secrets Manager と選択したシークレットへのアクセスを許可する

管理者で Secrets Manager にシークレットがある場合は、選択したシークレットへの読み取り専用アクセスを Amazon Quick Suite に付与できます。

Amazon Quick Suite に Secrets Manager と選択したシークレットへのアクセスを許可するには
  1. Amazon Quick Suite で、右上のユーザーアイコンを選択し、Manage Quick Suite を選択します。

  2. 左側の [Security & permissions] (セキュリティとアクセス権限) を選択します。

  3. Amazon Quick Suite で AWS リソースへのアクセスを管理するを選択します。

  4. [Allow access and autodiscovery for these resources] (これらのリソースへのアクセスと自動検出を許可) で AWS Secrets Manager[Select secrets] (シークレットを選択) を選択します。

    [AWS Secrets Manager シークレット] ページが開きます。

  5. Amazon Quick Suite に読み取り専用アクセスを許可するシークレットを選択します。

    Amazon Quick Suite サインアップリージョンのシークレットが自動的に表示されます。ホームリージョン外のシークレットを選択するには、[他の AWS リージョンのシークレット] を選択して、これらのシークレットの Amazon リソースネーム (ARN) を入力します。

  6. 入力後、[Finish] (完了) を選択します。

    Amazon Quick Suite は、aws-quicksight-secretsmanager-role-v0アカウントに という IAM ロールを作成します。これは、指定されたシークレットへの読み取り専用アクセス権をアカウント内のユーザーに付与するもので、以下のようになります。

    Amazon Quick Suite ユーザーがシークレットを持つデータソースを使用するダッシュボードから分析を作成または表示すると、Amazon Quick Suite はこの Secrets Manager IAM ロールを引き受けます。シークレットのアクセス許可ポリシーの詳細については、「AWS Secrets Manager ユーザーガイド」の「 AWS Secrets Managerの認証とアクセスコントロール」を参照してください。

    Amazon Quick Suite IAM ロールで指定されたシークレットには、アクセスを拒否する追加のリソースポリシーがある場合があります。詳細については、「AWS Secrets Manager ユーザーガイド」の「アクセス許可ポリシーをシークレットにアタッチする」を参照してください。

    AWS マネージド AWS KMS キーを使用してシークレットを暗号化している場合、Amazon Quick Suite は Secrets Manager で追加のアクセス許可を設定する必要はありません。

    カスタマーマネージドキーを使用してシークレットを暗号化する場合は、Amazon Quick Suite IAM ロールに アクセスkms:Decrypt許可aws-quicksight-secretsmanager-role-v0があることを確認してください。詳細については、「AWS Secrets Manager ユーザーガイド」の「KMS キーのアクセス許可」を参照してください。

    AWS Key Management Service で使用されるキーのタイプの詳細については、「 Key AWS Management Service ガイド」の「カスタマーキーとキー AWS」を参照してください。

Amazon Quick Suite API を使用したシークレット認証情報を使用したデータソースの作成または更新

Amazon Quick Suite 管理者が Secrets Manager への読み取り専用アクセス権を Amazon Quick Suite に付与したら、管理者が認証情報として選択したシークレットを使用して API でデータソースを作成および更新できます。

以下は、Amazon Quick Suite でデータソースを作成するための API コールの例です。この例は、create-data-source API オペレーションを使用します。また、update-data-source オペレーションを使用することもできます。詳細については、Amazon Quick Suite API リファレンスCreateDataSource」とUpdateDataSource」を参照してください。

次の API コール例のアクセス許可で指定されたユーザーは、Amazon Quick Suite で指定された MySQL データソースのデータソースを削除、表示、編集できます。また、データソースのアクセス許可の表示と更新を実行することも可能です。Amazon Quick Suite のユーザー名とパスワードの代わりに、シークレット ARN がデータソースの認証情報として使用されます。

aws quicksight create-data-source --aws-account-id AWSACCOUNTID \ --data-source-id DATASOURCEID \ --name NAME \ --type MYSQL \ --permissions '[{"Principal": "arn:aws:quicksight:region:accountID:user/namespace/username", "Actions": ["quicksight:DeleteDataSource", "quicksight:DescribeDataSource", "quicksight:DescribeDataSourcePermissions", "quicksight:PassDataSource", "quicksight:UpdateDataSource", "quicksight:UpdateDataSourcePermissions"]}]' \ --data-source-parameters='{"MySQLParameters":{"Database": "database", "Host":"hostURL", "Port":"port"}}' \ --credentials='{"SecretArn":"arn:aws:secretsmanager:region:accountID:secret:secretname"}' \ --region us-west-2

この呼び出しでは、Amazon Quick Suite は、IAM サービスロールのポリシーではなく、API 呼び出し元の IAM ポリシーに基づいてシークレットsecretsmanager:GetSecretValueへのアクセスを許可します。IAM サービスロールはアカウントレベルで機能し、ユーザーが分析やダッシュボードを表示するときに使用されます。ユーザーがデータソースを作成または更新するときのシークレットへのアクセスの許可には使用できません。

Amazon Quick Suite UI でデータソースを編集すると、ユーザーは を認証情報タイプ AWS Secrets Manager として使用するデータソースのシークレット ARN を表示できます。シークレットを編集したり、別のシークレットを選択したりすることはできません。データベースサーバーやポートなどに変更を加える必要がある場合、ユーザーはまず認証情報ペアを選択し、Amazon Quick Suite アカウントのユーザー名とパスワードを入力する必要があります。

シークレットは、UI でデータソースが変更されると、データソースから自動的に削除されます。シークレットをデータソースに復元するには、update-data-source API オペレーションを使用します。

シークレットの内容

Amazon Quick Suite がシークレットにアクセスするには、次の JSON 形式が必要です。

{ "username": "username", "password": "password" }

Amazon Quick Suite がシークレットにアクセスするには、 username および passwordフィールドが必要です。他のすべてのフィールドはオプションであり、Amazon Quick Suite では無視されます。

JSON 形式は、データベースのタイプに応じて異なります。詳細については、「 AWS Secrets Manager ユーザーガイド」のAWS Secrets Manager 「データベース認証情報シークレットの JSON 構造」を参照してください。

シークレットの変更

シークレットを変更するには、Secrets Manager を使用します。シークレットを変更すると、Amazon Quick Suite が次回シークレットへのアクセスをリクエストしたときに更新が利用可能になります。