チュートリアル: Amazon Bedrock MantleをUnity Gatewayにオンボードする
このチュートリアルでは、Amazon Bedrock Powered by AWS Mantle (Bedrock Mantle) を Unity Gateway に接続し、チームがモデルを使用できるようにします。Mantle は、モデルリクエストを実行するための Amazon Bedrock のエンジンです。認証を設定し、アクセス権を持つユーザーを選択し、ブラウザでテストリクエストを送信します。
このチュートリアルでは、Unity Catalogサービス資格情報を使用してAWSロールで認証を行います。他のプロバイダーおよび認証オプションについては、「プロバイダーの作成と管理」を参照してください。
要件
以下のものが必要です。
- Unity Catalogが有効になっており、Unity GatewayおよびUnity CatalogにアクセスできるDatabricks ワークスペース。
- Unity Catalog で承認されたカタログとスキーマ。カタログには
USE CATALOG、スキーマにはUSE SCHEMAとCREATE SERVICEがあります。必要に応じて、管理者に カタログの作成 または スキーマの作成 を依頼してください。 - ステップ3で認証情報を作成するには、メタストアに対する
CREATE SERVICE CREDENTIAL特権を持っているか、そのステップを完了してくれる管理者がいる必要があります。 - ステップ2および3でAWSロールを構成するには、AWS Identity and Access Management(IAM)ロールを作成し、ポリシーをアタッチして、その信頼ポリシーを更新する権限、またはそれらのタスクを完了するAWS管理者の権限が必要です。
- ワークスペースのAWSリージョンのBedrock Mantle endpointでのClaude Haiku 4.5へのアクセス。モデルのAmazon Bedrockの前提条件を完了します。
- プロバイダーへのアクセス権を受け取る Databricks アカウントグループ。
このチュートリアルでは、プロバイダーに bedrock_mantle、サービス認証情報に bedrock_mantle_credential を使用します。組織で承認された名前を使用します。<catalog>、<schema>、および <team-group> を、お使いのカタログ、スキーマ、およびアカウントグループに置き換えます。<provider-owner> を、プロバイダーを登録して所有するユーザーまたはService PrincipalのEメールアドレスまたはアプリケーションIDに置き換えます。
Mantleのサービス認証情報を既にお持ちの場合は、その所有者にサービス認証情報の要件を確認してください。ステップ1を完了してから、その認証情報を使用してステップ4を続行します。
ステップ1: モデルの例とリージョンを選択する
Anthropic Messages APIで次の設定を使用します。
設定 | 値の例 |
|---|---|
AWSリージョン |
|
モデル | Claude Haiku 4.5 |
Mantle モデルID |
|
API | Anthropic Messages |
この例ではus-east-1を使用します。IAMポリシーとプロバイダーの両方に、ワークスペースのAWSリージョンを使用してください。別のリージョンまたはモデルについては、Amazon Bedrock endpointを確認し、Anthropic MessagesをサポートするMantleモデルを選択してください。モデルのアクセス権は、ステップ6で要求を送信することで確認できます。
ステップ2: AWS IAMロールを作成する
必要なIAM権限がない場合は、AWS管理者がこのステップを完了します。
-
一時的な信頼ポリシーを設定した専用ロールを作成するには、IAMロールを作成するに従ってください。以下のアクセス許可ポリシーを、AWS GlueまたはSecrets Managerの例の代わりに使用します。
-
ロールのAmazonリソースネーム(ARN)を記録します。
-
このJSONからIAM権限ポリシーを作成します。
<aws-region>、<aws-account-id>、および<iam-role-name>を実際の値に置き換えます。<iam-role-name>にはロールパスを含めます。JSON{"Version": "2012-10-17","Statement": [{"Sid": "InvokeBedrockMantle","Effect": "Allow","Action": "bedrock-mantle:CreateInference","Resource": "arn:aws:bedrock-mantle:<aws-region>:<aws-account-id>:project/*"},{"Sid": "AssumeThisRole","Effect": "Allow","Action": "sts:AssumeRole","Resource": "arn:aws:iam::<aws-account-id>:role/<iam-role-name>"}]}AWS管理者に、ポリシーを組織で承認されたプロジェクトとモデルに制限するよう依頼します。「Bedrock Mantle IAM権限」を参照してください。
-
ポリシーをIAMロールにアタッチします。
ステップ3: サービス資格情報を作成して検証する
管理者が資格情報を作成した場合は、ステップ4に進む前に、管理者に以下の3つのセクションすべてを完了してもらってください。
資格情報の作成
- カタログ > 接続 > 資格情報 に移動します。
- 資格情報の作成 をクリックして、 サービス資格情報 を選択します。
- 資格情報名 に
bedrock_mantle_credentialを入力し、 IAMロール (ARN) にステップ2のロールARNを入力します。 - 作成 をクリックします。
- ロール構成の手順で、 [ポリシーをコピー] をクリックして、 [信頼ポリシー] のJSONをコピーします。指示ページを開いたままにします。
ロールの信頼ポリシーを更新する
AWS管理者がこのセクションを完了します。
-
AWS IAMコンソールで、ステップ2で作成したロールを開きます。
-
信頼関係 を開き、 信頼ポリシーの編集 をクリックします。
-
一時的な信頼ポリシーをDatabricksからコピーした完全なJSONに置き換えてから、[ ポリシーの更新 ]をクリックします。
ロールを再利用する場合は、「IAMロールポリシーを更新する」に従って、他のワークロードに必要な信頼ポリシーを保持してください。
資格情報を検証してアクセス権を付与する
サービス資格情報の所有者またはメタストア管理者がこれらのチェックを完了し、以下を付与します:
-
カタログ > 接続 > 認証情報 に戻り、
bedrock_mantle_credentialを開きます。 -
構成を検証 をクリックします。チェックが失敗した場合は、役割の信頼ポリシーと生成されたポリシーを比較し、続行する前に再試行します。
-
認証情報が特定のワークスペースに制限されている場合は、ワークスペースをバインディングに追加します。
-
他の誰かがプロバイダーを登録して所有している場合は、資格情報に
ACCESSを付与します:SQLGRANT ACCESS ON SERVICE CREDENTIAL bedrock_mantle_credentialTO `<provider-owner>`;
プロバイダーの所有者は、認証情報に ACCESS を保持する必要があります。
ステップ4: モデルプロバイダーサービスを登録する
Unity Gatewayは、プロバイダーの接続設定をUnity Catalogの「モデルプロバイダーサービス」として保存します。
- ワークスペースのサイドバーで、[ Unity Gateway ] をクリックします。
- [ プロバイダー ]tabを開き、 プロバイダー をクリックします。
- 名前として
bedrock_mantleを入力し、承認済みのカタログとスキーマを選択します。 - プロバイダーとして Amazon Bedrock Mantle を選択します。
- ステップ1で選択したワークスペースリージョン、または
us-east-1を AWSリージョン に入力します。 - 認証方法 を サービス資格情報 に設定し、
bedrock_mantle_credentialまたは既存の資格情報を選択します。 - モデル で、 すべて許可し、新しいモデルを自動インポートする のチェックを外します。
anthropic.claude-haiku-4-5、またはステップ1のモデルを選択します。- 作成 をクリックします。
カタログエクスプローラーで<catalog>.<schema>.bedrock_mantleを開き、そのプロバイダーとモデルを確認します。
ステップ5: アクセス権を付与する
- モデルプロバイダーサービスの Permissions tab で、 Grant をクリックします。
- プリンシパル で、アカウントグループを選択します。
- Privileges の下で、 EXECUTE を選択します。
- 確認 をクリックします。
- カタログまたはスキーマの所有者に、グループに
USE CATALOGとUSE SCHEMAがまだ付与されていない場合は付与するよう依頼してください。
付与権限を持つ管理者は、以下のランも可能です。
GRANT USE CATALOG ON CATALOG <catalog> TO `<team-group>`;
GRANT USE SCHEMA ON SCHEMA <catalog>.<schema> TO `<team-group>`;
GRANT EXECUTE ON MODEL PROVIDER SERVICE <catalog>.<schema>.bedrock_mantle
TO `<team-group>`;
これらの権限により、グループはサービス資格情報にアクセスせずにプロバイダーにクエリーを行うことができます。外部モデルプロバイダー (モデルプロバイダーサービス) へのアクセスを検出および管理するをご覧ください。
ステップ6: ブラウザでプロバイダーをテストする
このテストでは、AWSの利用料金が発生します。該当するUnity Gatewayの予算に容量があることを確認してください。テスト後、チュートリアルのリソースを削除できます。
-
カタログエクスプローラーで、
<catalog>.<schema>.bedrock_mantleを開きます。 -
概要 tabの 最初の要求を行う で、ステップ1でモデルを選択します。APIセレクターが表示された場合は、 Anthropic Messages を選択します。
-
[ブラウザで試す] をクリックします。
-
Request の内容をこの完全なJSONオブジェクトに置き換えます:
JSON{"model": "anthropic.claude-haiku-4-5","max_tokens": 256,"messages": [{"role": "user","content": "Say hello in one sentence."}]}プロンプトを変更するには、
messages[0].contentを編集します。別のモデルを選択した場合は、そのMantleモデルIDを使用してmodelを更新します。 -
リクエストを送信 をクリックします。
-
レスポンス にアシスタントメッセージが含まれていることを確認します。レスポンス テキストは異なりますが、構造はこの抜粋と一致しています。
JSON{"type": "message","role": "assistant","content": [{"type": "text","text": "Hello! How can I help you today?"}]} -
グループメンバーに自身の Databricks ID でテストを繰り返してもらい、アクセス権を確認します。
リクエストが失敗した場合は、該当する項目を確認してください:
- ロールの引き受けエラーについては、クレデンシャルの検証と生成された信頼ポリシーを再確認してください。
- Databricksの権限エラーについては、呼び出し元のカタログ、スキーマ、プロバイダーの権限、資格情報の所有者の
ACCESS、および資格情報のワークスペースバインディングを確認してください。 - AWSのアクセス拒否エラーについては、
bedrock-mantle:CreateInferenceのIAMポリシーとAWSモデルのアクセス権を確認してください。 - モデルが見つからない、またはサポートされていないAPIエラーの場合は、MantleモデルID、リージョン、選択したモデル、およびリクエスト形式を確認してください。
- 予算ブロックエラーの場合は、再試行する前に該当する予算を確認してください。
オプション: クリーンアップ
このチュートリアルのためだけにリソースを作成した場合は、完了したら削除してください:
- Unity Gatewayまたはカタログエクスプローラーでプロバイダーを開き、メニューから 削除 を選択します。
- 他のリソースがそのサービス資格情報を使用していない場合は、削除します。
- 他のワークロードがそれらを使用していないことを確認した後、AWS管理者に専用のIAMロールとポリシーを削除するよう依頼してください。
- カタログまたはスキーマの所有者に依頼し、グループに不要になったチュートリアル固有の権限のみを取り消します。承認されたカタログ、スキーマ、および既存の権限は保持します。
次のステップ
- 「外部モデルプロバイダー (モデルプロバイダーサービス) にクエリーする」を使用してアプリケーションを接続します。
- コーディングエージェントの構成を使用してコーディングエージェントを接続します。クライアントのモデルおよびAPIの要件を確認してください。
- モデルの使用状況を追跡してリクエストを検査し、推定外部モデル支出を確認します。
- アクセスを拡大する前に、レート制限と予算を構成してください。