メインコンテンツまでスキップ

オンラインストアでの作業のための認証

この記事では、特徴量テーブルをオンライン ストアに公開し、オンライン ストアから特徴量テーブルを検索するための認証を構成する方法について説明します。

この表は、各アクションでサポートされている認証方法を示しています。

オンラインストアプロバイダー

公開

レガシーMLflow Model Servingでの特徴量検索

Model Servingでの特徴量検索

Amazon DynamoDB (Feature Engineeringクライアントの任意のバージョン、または Feature Store クライアント v0.3.8 以降)

インスタンスプロファイル attached to a Databricks クラスター または write_secret_prefix を使用したDatabricksシークレット AmazonDynamoDBSpec

AmazonDynamoDBSpecread_secret_prefix を使用したDatabricksシークレット。 インスタンスプロファイルは、レガシー機能の検索ではサポートされていません。

インスタンスプロファイル attached to a Databricks serving Endpoint または AmazonDynamoDBSpecread_secret_prefix を使用したDatabricksシークレット。 .

Amazon Aurora (MySQL 互換)

AmazonRdsMySqlSpecwrite_secret_prefix を使用したDatabricksシークレット。

AmazonRdsMySqlSpecread_secret_prefix を使用したDatabricksシークレット。

サポートされていません。

Amazon RDS MySQL

AmazonRdsMySqlSpecwrite_secret_prefix を使用したDatabricksシークレット。

AmazonRdsMySqlSpecread_secret_prefix を使用したDatabricksシークレット。

サポートされていません。

特徴量テーブルをオンラインストアに公開するための認証

特徴量テーブルを WILD に公開するには、書き込み認証を提供する必要があります。

Databricks では、Databricks クラスターにアタッチされたインスタンスプロファイルを使用して書き込み認証を行うことをお勧めします。または、 資格情報を Databricks シークレットに格納し、発行時に write_secret_prefix で参照することもできます。

インスタンスプロファイルまたは IAM ユーザーには、次のすべてのアクセス許可が必要です。

  • dynamodb:DeleteItem
  • dynamodb:DeleteTable
  • dynamodb:PartiQLSelect
  • dynamodb:DescribeTable
  • dynamodb:PartiQLInsert
  • dynamodb:GetItem
  • dynamodb:CreateGlobalTable
  • dynamodb:BatchGetItem
  • dynamodb:UpdateTimeToLive
  • dynamodb:BatchWriteItem
  • dynamodb:ConditionCheckItem
  • dynamodb:PutItem
  • dynamodb:PartiQLUpdate
  • dynamodb:Scan
  • dynamodb:Query
  • dynamodb:UpdateItem
  • dynamodb:DescribeTimeToLive
  • dynamodb:CreateTable
  • dynamodb:UpdateGlobalTableSettings
  • dynamodb:UpdateTable
  • dynamodb:PartiQLDelete
  • dynamodb:DescribeTableReplicaAutoScaling

Databricksクラスターにアタッチされたインスタンスプロファイルを通じて書き込み認証を提供する

Databricks Runtime10.5ML 以降 実行中のクラスターでは、DynamoDB オンラインストアに発行するときに、クラスターにアタッチされたインスタンスプロファイルを書き込み認証に使用できます。

注記

これらのステップは、DynamoDB オンラインストアに発行する際の書き込み認証にのみ使用してください。

  1. オンラインストアへの書き込み権限を持つ インスタンスプロファイル を作成します。

  2. インスタンスプロファイルを Databricks クラスターにアタッチするには、次の2つの手順に従います。

    1. インスタンスプロファイルを Databricksに追加します
    2. インスタンスプロファイルを使用してクラスターを起動します
  3. インスタンスプロファイルが添付されたクラスターを選択して、オンラインストアに公開するコードを実行します。 明示的なシークレット認証情報やwrite_secret_prefixをオンラインストアの仕様に提供する必要はありません。

Databricks シークレットを使用して書き込み資格情報を提供する

「Databricks シークレットを使用する」の手順に従います。

MLflow モデルが提供されているオンライン ストアから機能を検索するための認証

Databricks でホストされる MLflow モデルがオンライン ストアに接続して機能値を検索できるようにするには、読み取り認証を提供する必要があります。

Databricks では、Databricks提供されるモデルにアタッチされたインスタンスプロファイルを使用してルックアップ認証を提供することをお勧めします。または、 資格情報を Databricks シークレットに格納し、発行時に read_secret_prefix で参照することもできます。

提供されるモデルに設定されたインスタンスプロファイルを通じてルックアップ認証を提供する

  1. オンラインストアへの書き込み権限を持つ インスタンスプロファイル を作成します。

  2. インスタンスプロファイルを使用するようにDatabricksサービスエンドポイントを設定します。

注記

テーブルをパブリッシュするときに、 read_prefixを指定する必要はなく、指定した read_prefix はインスタンスプロファイルで上書きされます。

Databricks シークレットを使用して読み取り資格情報を提供する

「Databricks シークレットを使用する」の手順に従います。

Databricks シークレットを読み取りと書き込みの認証に使用します。

このセクションでは、Databricks シークレットを使用して認証を設定する手順を示します。 これらのシークレットの使用方法を示すコード例については、「 オンラインストアに機能を公開する」を参照してください。

  1. オンラインストアの資格情報を含む 2 つのシークレットスコープを作成します。1 つは読み取り専用アクセス (ここでは <read-scope>で表示) 用、もう 1 つは読み取り/書き込みアクセス用(ここでは <write-scope>で表示)。または、既存のシークレットスコープを再利用することもできます。

    書き込み認証にインスタンスプロファイル( Databricks クラスターレベルで設定)を使用する場合は、<write-scope>を含める必要はありません。読み取り認証にインスタンスプロファイルを使用する場合 ( Databricks Serving エンドポイントレベルで設定)、<read-scope>を含める必要はありません。

  2. ターゲットのオンラインストアの一意の名前を選択します(ここでは <prefix>と表示されています。

    DynamoDB (Feature エンジニアリングクライアント、および Feature Store クライアント v0.3.8 以降のいずれかのバージョンで動作) の場合は、次のシークレットを作成します。

    • ターゲットオンラインストアへの読み取り専用アクセス権を持つ IAM ユーザーのアクセスキー ID: databricks secrets put-secret <read-scope> <prefix>-access-key-id
    • ターゲットオンラインストアへの読み取り専用アクセス権を持つIAMユーザーのシークレットアクセスキー: databricks secrets put-secret <read-scope> <prefix>-secret-access-key
    • ターゲットオンラインストアへの読み取り/書き込みアクセス権を持つIAMユーザーのアクセスキーID: databricks secrets put-secret <write-scope> <prefix>-access-key-id
    • ターゲットのオンラインストアへの読み取り/書き込みアクセス権を持つIAMユーザーのシークレットアクセスキー: databricks secrets put-secret <write-scope> <prefix>-secret-access-key

    SQL ストアの場合は、次のシークレットを作成します。

    • 対象のオンラインストアへの読み取り専用アクセス権を持つユーザー: databricks secrets put-secret <read-scope> <prefix>-user
    • 対象のオンラインストアへの読み取り専用アクセス権を持つユーザーのパスワード: databricks secrets put-secret <read-scope> <prefix>-password
    • 対象のオンラインストアへの読み取り/書き込みアクセス権を持つユーザー: databricks secrets put-secret <write-scope> <prefix>-user
    • 対象のオンラインストアへの読み取り/書き込みアクセス権を持つユーザーのパスワード: databricks secrets put-secret <write-scope> <prefix>-password
注記

ワークスペースあたりのシークレットスコープの数には制限があります。 この制限に達しないように、すべてのオンラインストアにアクセスするための単一のシークレットスコープ を定義して共有できます