# データベース統合

## **目的**

\
公開またはプライベートのデータベースに一つ或いはそれ以上のインテグレーションを追加することで、AIエージェントの力を用いて安全にデータを問い合わせる高度なアプリケーションや他の機能を有効にします。

### **サポート**

SkyDeck AIは現在、AWS上でホストされるPostgresqlデータベースとRedshiftデータウェアハウスをサポートしています。他のデータソースをサポートすることは特に難しくありませんが、どこかから始めなければなりません。 もしご利用になりたい他のデータソースがあれば、あなたのニーズに合ったインテグレーションを優先的に行うため、サポートまでお問い合わせください。

### **手順**

**以下は、SkyDeck AIとデータベースを統合する手順です:**

1. 接続URLを取得または作成します。
2. その接続URLをコントロールセンターの統合セクションに追加します。
3. その統合を、コントロールセンターのツールセクション内のスマートツールまたはAIエージェントに割り当てます。

### 接続URL

幸運な場合、データベース管理者がすぐに使用できる標準URLを提供してくれ、それがあなたのデータベースを指しています。そうでない場合、SkyDeckへのアクセスをデータベースに追加するために一つのURLを作成する必要があります。これらの指示はそのタスクをかなり簡単にします。

\
\
Amazon AWSでホストされているPostgreSQLまたはAmazon Redshiftデータベースへの接続URLを設定するためには、データベースに関するいくつかの情報、すなわちホスト、ポート番号、データベース名、ユーザ名、パスワードが必要です。以下にステップバイステップのガイドを示します：

#### PostgreSQL データベース

1. **ホスト**: これはあなたのデータベースがホストされているサーバーのアドレスです。AWS RDS PostgreSQLの場合、`your-db-instance-name.region-name.rds.amazonaws.com`のようなものであるべきです。Amazon Redshiftの場合は、`your-cluster-name.region-name.redshift.amazonaws.com`のようなものです。
2. **ポート番号**: これはあなたのデータベースサーバーがリッスンしているポートです。PostgreSQLのデフォルトのポートは5432で、Amazon Redshiftの場合は5439です。
3. **データベース名**: これは接続したいデータベースの名前です。
4. **ユーザー名とパスワード**: これらはデータベースに認証するために必要な資格情報です。

一般的な接続URLのフォーマットは次のようになります：

```
protocol://username:password@host:port/database
```

接続URLの作成方法は以下の通りです：

1. プロトコルから始めます。PostgreSQLの場合は 'postgresql'、Amazon Redshiftの場合は 'redshift'です。

   ```
    postgresql://
   ```
2. 次に、ユーザー名とパスワードをコロンで区切って追加します。ユーザー名やパスワードに特殊文字が含まれている場合は、それらをURLエンコードする必要があります。たとえば、ユーザー名が 'user'で、パスワードが 'pass'の場合、次のようになります：

   ```
    postgresql://user:pass@
   ```
3. 次に、ホストとポートをコロンで区切って追加します：

   ```
    postgresql://user:pass@your-db-instance-name.region-name.rds.amazonaws.com:5432/
   ```
4. 最後に、データベース名を追加します：

   ```
    postgresql://user:pass@your-db-instance-name.region-name.rds.amazonaws.com:5432/your-database-name
   ```

以上で完了です！接続URLが作成できました。'user'、'pass'、'your-db-instance-name.region-name.rds.amazonaws.com'、'5432'、'your-database-name'を実際のデータベースの詳細に置き換えてください。

このURLは、ユーザー名やパスワードなどの機密情報を含んでいるため、他人と共有しないようにしてください。

#### RedShift DWH

RedshiftデータベースのURLは非常に似ていますが、いくつかの重要な違いがあります：

1. プロトコルは 'postgresql' ではなく 'jdbc:redshift' となります。これは、JDBC(Java Database Connectivity)がRedshiftデータベースに接続するために一般的に使用されるからです。
2. Redshiftのデフォルトポートは5432ではなく、5439です。

Redshift接続URLの一般的な形式は以下の通りです：

```
jdbc:redshift://host:port/database
```

したがって、Redshiftの接続URLを作成すると、次のようになります：

```
jdbc:redshift://user:pass@your-cluster-name.region-name.redshift.amazonaws.com:5439/your-database-name
```

'user'、'pass'、'your-cluster-name.region-name.redshift.amazonaws.com'、'5439'、および 'your-database-name'を実際のデータベースの詳細に置き換えてください。

### インテグレーションの追加

接続URLを「資格情報」セクションの「インテグレーションの追加」に貼り付けます。PostgreSQLまたはRedshiftデータベースのいずれかを選択できます。インテグレーションには任意の名前を使用できますが、特定のデータベースを識別するのに役立つ名前を選ぶことをお勧めします。

<figure><img src="https://720905222-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsiydoRlbdoZIKixs2u5N%2Fuploads%2Fgit-blob-840c1b54fd0c835e2e67aebe57392cd9fc743395%2FAdd%20a%20DB%20Integration%20to%20Control%20Center.png?alt=media" alt="Add a DB Integration to Control Center"><figcaption></figcaption></figure>

### SkyDeckAIを通じてデータにアクセスする

今日、ユーザーはGenStudioで利用可能なアナリストツールを使用してデータベースにアクセスできます。管理者として、Control Centerのツールセクションでアナリストツールに統合を割り当てることができます。その後、そのツールにタグを割り当てて、認可された人だけがそのツールとそのデータベースアクセスにSkyDeck AI GenStudioワークスペースでアクセスできるようにします。

<figure><img src="https://720905222-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsiydoRlbdoZIKixs2u5N%2Fuploads%2Fgit-blob-0fa47d142fb2e7f7a20caeec6a8f4f6756b81d2f%2FAdding%20a%20DB%20Integration%20to%20Analyst%20Bob.png?alt=media" alt="アナリストボブにデータベース統合を追加"><figcaption><p>組織のメンバーとアクセスを共有するために、それをサポートするツールにデータベース統合を追加します。</p></figcaption></figure>

#### セキュリティノート

* SkyDeck AI統合に使用するために、データベースに読み取り専用ユーザー（ロール）を作成してください。SkyDeckはシステムに書き込む必要はなく、必要以上の権限を持たない資格情報を使用することが最も安全です。ただし、ユーザーはデータシステムの構造を理解するためにクエリを実行できる必要があります。
* 機密接続情報が含まれているため、アクセスURLを共有しないでください。
* アナリストボブのコピーなど、それを使用するツールに、アクセスを希望するユーザーにのみ対応するタグが割り当てられていることを確認することで、組織内のどのユーザーが各データベースにアクセスできるかを制限できます。
