オンラインストアを操作するための認証
この記事では、特徴量テーブルをオンライン ストアに公開し、オンライン ストアから特徴量テーブルを検索するための認証を構成する方法について説明します。
次の表に、各アクションでサポートされる認証方法を示します。
オンラインストアプロバイダー |
公開 |
レガシ MLflow Model Servingでの機能検索 |
Model Servingでの機能検索 |
---|---|---|---|
Amazon DynamoDB (Feature Engineeringクライアントの任意のバージョン、または Feature Store クライアント v0.3.8 以降) |
Databricks クラスターにアタッチされたインスタンスプロファイル 又は
|
インスタンスプロファイルは、レガシー機能ルックアップではサポートされていません。 |
Databricks サービング エンドポイントにアタッチされたインスタンスプロファイル 又は |
Amazon Aurora (MySQL 互換) |
|
|
サポートされていません。 |
Amazon RDS MySQL |
|
|
サポートされていません。 |
特徴量テーブルをオンライン ストアに公開するための認証
特徴量テーブルを 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 オンラインストアに発行する際の書き込み認証にのみ使用してください。
オンラインストアへの書き込みアクセス許可を持つ インスタンスプロファイル を作成します。
インスタンスプロファイルを Databricks クラスターにアタッチするには、次の 2 つのステップに従います。
インスタンスプロファイルがアタッチされたクラスターを選択して、オンラインストアに発行するコードを実行します。 明示的なシークレット資格情報や
write_secret_prefix
を オンラインストア仕様に提供する必要はありません。
Databricks シークレットを使用して書き込み資格情報を提供する
「 Databricks シークレットを使用する」の手順に従います。
提供されたMLflowモデルを使用してオンラインストアから特徴量を検索するための認証
Databricks でホストされる MLflow モデルがオンライン ストアに接続して特徴量を検索できるようにするには、読み取り認証を提供する必要があります。
Databricks では、 Databricks が提供するモデルにアタッチされたインスタンスプロファイルを使用して参照認証を提供することをお勧めします。 または、資格情報を Databricks シークレットに格納し、発行時に read_secret_prefix
で参照することもできます。
提供されるモデルに設定されたインスタンスプロファイルを介してルックアップ認証を提供する
オンラインストアへの書き込みアクセス許可を持つ インスタンスプロファイル を作成します。
インスタンスプロファイルを使用するように Databricks サービング エンドポイントを構成します。..note:: テーブルをパブリッシュする際に、
read_prefix
を指定する必要はなく、指定したread_prefix
はインスタンスプロファイルで上書きされる。
Databricks シークレットを使用して読み取り資格情報を提供する
「 Databricks シークレットを使用する」の手順に従います。
読み取りおよび書き込み認証に Databricks シークレットを使用します。
このセクションでは、Databricks シークレットを使用して認証を設定するために従う手順を示します。 これらのシークレットの使用方法を示すコード例については、「 オンラインストアに機能を発行する」を参照してください。
オンラインストアの認証情報を含む 2 つのシークレットスコープを作成します 。1 つは読み取り専用アクセス用 (ここでは
<read-scope>
と表示) 用、もう 1 つは読み取り/書き込みアクセス用 (ここでは<write-scope>
と表示) です。または、既存のシークレットスコープを再利用できます。書き込み認証にインスタンス プロファイルを使用する場合 (Databricks クラスター レベルで構成)、
<write-scope>
を含める必要はありません。 読み取り認証にインスタンス プロファイルを使用する場合 (Databricks Serving エンドポイント レベルで構成)、<read-scope>
を含める必要はありません。ターゲットオンラインストアの一意の名前を選択します(ここでは
<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 つのシークレットスコープを定義して共有します。