次の方法で共有


Azure Database for PostgreSQL フレキシブル サーバーで Azure Storage 拡張機能を構成する

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

Azure Storage 拡張機能を使用できるようにするには、次の手順に従う必要があります。

  1. Azure Storage アカウントを識別する
  2. 承認の種類の選択
  3. 拡張機能のライブラリを読み込む
  4. 拡張機能を許可リストする
  5. 拡張機能を作成する
  6. 拡張機能を使用してデータをインポートおよびエクスポートする

Azure Storage アカウントを特定する

拡張機能のユーザーがデータのインポート先またはエクスポート先の Azure Storage アカウントを特定します。

承認の種類の選択

これらの各 Azure Storage アカウントの BLOB サービスに対して行われた要求に使用する承認の種類を決定します。 azure_storage 拡張機能では、共有キーによる承認と Microsoft Entra ID による承認がサポートされます。

これら 2 種類の承認のうち、Microsoft Entra ID は、共有キーよりも優れたセキュリティと使いやすさを提供し、Microsoft が推奨する認証です。

各ケースで必要な前提条件を満たすには、対応するセクションの手順に従います。

Microsoft Entra ID で承認を使用するには

  1. Azure Database for PostgreSQL フレキシブル サーバーで システム割り当てマネージド ID を 有効にします。
  2. システム割り当てマネージド ID を有効にした後、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスを再起動します。
  3. Azure Storage アカウント上の BLOB データにアクセスするためのロールベースのアクセス制御 (RBAC) アクセス許可を、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスのシステム割り当てマネージド ID に割り当てます。

システム割り当てマネージド ID を有効にする

システム割り当てマネージド ID を有効にするスクリーンショット。

共有キーで承認を使用するには

  1. ストレージ アカウントでキーへのアクセスが許可されていることを確認する
  2. ストレージ アカウントの 2 つのアクセス キーのいずれかをフェッチする

ストレージ アカウントでキーへのアクセスが許可されていることを確認する

Azure Storage アカウントでは、 ストレージ アカウント キーのアクセスを許可 する必要があります (つまり、 AllowSharedKeyAccess プロパティを false に設定することはできません)。

[ストレージ アカウント キーのアクセスを許可する] が有効になっていることを確認するスクリーンショット。

ストレージ アカウントの 2 つのアクセス キーのいずれかをフェッチする

これを azure_storage.account_add 関数に渡すには、Azure Storage アカウントの 2 つのアクセス キーのいずれかをフェッチします。

ストレージ アカウントのアクセス キーのコピーのスクリーンショット。

拡張機能のライブラリを読み込む

起動時に azure_storage バイナリ モジュールが読み込まれるようにサーバーを構成します。

サーバー パラメーターのshared_preload_librariesでazure_storageを選択しているスクリーンショット。 shared_preload_librariesは静的であるため、変更を有効にするにはサーバーを再起動する必要があります。保存して再起動するには、shared_preload_librariesの変更時に表示されるダイアログのスクリーンショット。

拡張機能を許可リストする

ユーザーが CREATE EXTENSION、DROP EXTENSION、ALTER EXTENSION、COMMENT ON EXTENSION を実行できるように、拡張機能を許可リストする必要があります。

サーバー パラメーターで azure.extensions でazure_storageを選択しているスクリーンショット。

拡張機能を作成する

好みのクライアント ( たとえば、PostgreSQL for Visual Studio Code 拡張機能、psql、pgAdmin など) を使用して、Azure Database for PostgreSQL フレキシブル サーバーで、Azure Storage 拡張機能を使用するデータベースに接続します。

azure_storage拡張機能を使用して Azure Storage アカウントのインスタンスと対話できるすべての SQL オブジェクト (テーブル、型、関数、ビューなど) を作成するには、次のステートメントを実行します。

CREATE EXTENSION azure_storage;

拡張機能を使用してデータをインポートおよびエクスポートする

これで、( azure_storage.account_add 関数を使用して) 対話するストレージ アカウントを追加する準備ができました。 その後、 azure_storage.blob_get 関数または COPY FROM ステートメントを使用して Azure Storage アカウントのファイルに格納されているデータをインポートするか、 azure_storage.blob_put 関数または COPY TO ステートメントを使用して、PostgreSQL から Azure Storage アカウント内のファイルにデータをエクスポートできます。

クイック スタートの例の一覧を確認してください。

拡張機能によって提供されるすべての関数とそれぞれの詳細を確認する必要がある場合は、完全なリファレンスを確認します。

また、いくつかのトラブルシューティングを行う必要がある場合は、拡張機能で生成できる エラーの一覧 と、発生する可能性があるコンテキストを確認します。

Von Bedeutung

Azure Storage アカウントのアクセス キーを指定する必要がある認証の種類の場合、Azure Storage アクセス キーはストレージ アカウントのルート パスワードに似ています。 常に保護に注意してください。 キーを安全に管理およびローテーションするには、Azure Key Vault を使用します。 azure_storage拡張機能は、azure_storage.accounts ロールのメンバーが読み取ることができるテーブル pg_read_all_dataにこれらのキーを格納します。