オンラインストアを操作するための認証

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

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

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

公開

レガシ MLflow Model Servingでの機能検索

Model Servingでの機能検索

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

Databricks クラスターにアタッチされたインスタンスプロファイル

又は

write_secret_prefix を使用したDatabricksシークレット AmazonDynamoDBSpec

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

インスタンスプロファイルは、レガシー機能ルックアップではサポートされていません。

Databricks サービング エンドポイントにアタッチされたインスタンスプロファイル

又は

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 ランタイム 10.5 機械学習以降を実行しているクラスターでは、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. オンラインストアへの書き込みアクセス許可を持つ インスタンスプロファイル を作成します。

    1. インスタンスプロファイルを使用するように Databricks サービング エンドポイントを構成します。..note:: テーブルをパブリッシュする際に、 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 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

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