翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Quick でデータベース認証情報の代わりに AWS Secrets Manager シークレットを使用する
| 対象者: Amazon Quick Administrators と Amazon Quick Developer |
AWS Secrets Manager は、データベース認証情報、API キー、およびその他のシークレット情報を保護するために使用できるシークレットストレージサービスです。シークレットはコードに保存されていないため、キーの使用はお客様のコードを調べている誰かがシークレットを漏らさないようにするのに役立ちます。この概要については、「AWS Secrets Manager ユーザーガイド」を参照してください
クイック管理者は、Secrets Manager で作成したシークレットへの読み取り専用アクセスを Amazon Quick に付与できます。これらのシークレットは、Quick API を使用してデータソースを作成および編集するときに、データベース認証情報の代わりに使用できます。
認証情報ペア認証をサポートするデータソースタイプでのシークレットの使用をすばやくサポートします。現在、Jira および ServiceNow はサポートされていません。
注記
Quick AWS Secrets Manager で を使用する場合、AWS Secrets Manager 料金表ページ
以下のセクションで説明する手順に従って、Secrets Manager を Amazon Quick と統合します。
トピック
Amazon Quick に Secrets Manager と選択したシークレットへのアクセスを許可する
管理者で Secrets Manager にシークレットがある場合は、選択したシークレットへの Amazon Quick 読み取り専用アクセスを許可できます。
Secrets Manager と選択したシークレットへの Amazon Quick アクセスを許可するには
-
Amazon Quick で、右上のユーザーアイコンを選択し、Manage Quick を選択します。
-
左側の [Security & permissions] (セキュリティとアクセス権限) を選択します。
-
Amazon で AWS リソースへのクイックアクセスを管理する を選択します。
-
[Allow access and autodiscovery for these resources] (これらのリソースへのアクセスと自動検出を許可) で AWS Secrets Manager、[Select secrets] (シークレットを選択) を選択します。
[AWS Secrets Manager シークレット] ページが開きます。
-
Amazon Quick に読み取り専用アクセスを許可するシークレットを選択します。
Amazon Quick サインアップリージョンのシークレットが自動的に表示されます。ホームリージョン外のシークレットを選択するには、[他の AWS リージョンのシークレット] を選択して、これらのシークレットの Amazon リソースネーム (ARN) を入力します。
-
入力後、[Finish] (完了) を選択します。
Amazon Quick は、
aws-quicksight-secretsmanager-role-v0アカウントに という IAM ロールを作成します。これは、指定されたシークレットへの読み取り専用アクセス権をアカウント内のユーザーに付与するもので、以下のようになります。Amazon Quick ユーザーがシークレットを含むデータソースを使用するダッシュボードから分析を作成または表示すると、Amazon Quick はこの Secrets Manager IAM ロールを引き受けます。シークレットのアクセス許可ポリシーの詳細については、「AWS Secrets Manager ユーザーガイド」の「 AWS Secrets Managerの認証とアクセスコントロール」を参照してください。
Amazon Quick IAM ロールで指定されたシークレットには、アクセスを拒否する追加のリソースポリシーがある場合があります。詳細については、「AWS Secrets Manager ユーザーガイド」の「アクセス許可ポリシーをシークレットにアタッチする」を参照してください。
AWS マネージド AWS KMS キーを使用してシークレットを暗号化している場合、Amazon Quick は Secrets Manager で追加のアクセス許可を設定する必要はありません。
カスタマーマネージドキーを使用してシークレットを暗号化する場合は、Amazon Quick IAM ロールに アクセス
kms:Decrypt許可aws-quicksight-secretsmanager-role-v0があることを確認してください。詳細については、「AWS Secrets Manager ユーザーガイド」の「KMS キーのアクセス許可」を参照してください。AWS Key Management Service で使用されるキーのタイプの詳細については、「 Key AWS Management Service ガイド」の「カスタマーキーとキー AWS」を参照してください。
Amazon Quick API を使用したシークレット認証情報を使用したデータソースの作成または更新
Amazon Quick 管理者が Secrets Manager への Amazon Quick 読み取り専用アクセス権を付与したら、管理者が認証情報として選択したシークレットを使用して API でデータソースを作成および更新できます。
以下は、Amazon Quick でデータソースを作成するための API コールの例です。この例は、create-data-source API オペレーションを使用します。また、update-data-source オペレーションを使用することもできます。詳細については、Amazon Quick API リファレンスのCreateDataSource」とUpdateDataSource」を参照してください。
次の API コール例のアクセス許可で指定されたユーザーは、Amazon Quick で指定された MySQL データソースのデータソースを削除、表示、編集できます。また、データソースのアクセス許可の表示と更新を実行することも可能です。Amazon Quick のユーザー名とパスワードの代わりに、シークレット ARN がデータソースの認証情報として使用されます。
aws quicksight create-data-source --aws-account-idAWSACCOUNTID\ --data-source-idDATASOURCEID\ --nameNAME\ --typeMYSQL\ --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"}' \ --regionus-west-2
この呼び出しでは、Amazon Quick は、IAM サービスロールのポリシーではなく、API 発信者の IAM ポリシーに基づいてシークレットsecretsmanager:GetSecretValueへのアクセスを許可します。IAM サービスロールはアカウントレベルで機能し、ユーザーが分析やダッシュボードを表示するときに使用されます。ユーザーがデータソースを作成または更新するときのシークレットへのアクセスの許可には使用できません。
Amazon Quick UI でデータソースを編集すると、ユーザーは を認証情報タイプ AWS Secrets Manager として使用するデータソースのシークレット ARN を表示できます。シークレットを編集したり、別のシークレットを選択したりすることはできません。データベースサーバーやポートなどに変更を加える必要がある場合、ユーザーはまず認証情報ペアを選択し、Amazon Quick アカウントのユーザー名とパスワードを入力する必要があります。
シークレットは、UI でデータソースが変更されると、データソースから自動的に削除されます。シークレットをデータソースに復元するには、update-data-source API オペレーションを使用します。
シークレットの内容
Amazon Quick がシークレットにアクセスするには、次の JSON 形式が必要です。
{ "username": "username", "password": "password" }
Amazon Quick がシークレットにアクセスするには、 username および passwordフィールドが必要です。他のすべてのフィールドはオプションであり、Amazon Quick では無視されます。
JSON 形式は、データベースのタイプに応じて異なります。詳細については、「 AWS Secrets Manager ユーザーガイド」のAWS Secrets Manager 「データベース認証情報シークレットの JSON 構造」を参照してください。
シークレットの変更
シークレットを変更するには、Secrets Manager を使用します。シークレットに変更を加えると、Amazon Quick が次回シークレットへのアクセスをリクエストしたときに更新が利用可能になります。