Unity Catalog サービスの資格情報を使用して外部クラウド サービスに接続する

プレビュー

この機能はパブリックプレビュー段階です。

この記事では、 Unity Catalog でサービス資格情報を使用して外部クラウド サービスに接続する方法について説明します。 Unity Catalog のサービス資格情報オブジェクトは、ユーザーが Databricks から接続する必要がある外部クラウド サービスへのアクセスを提供する長期的なクラウド資格情報をカプセル化します。

関連項目は次を参照してください。

始める前に

サービス資格情報を使用して外部クラウド サービスに接続するには、次のものが必要です。

  • Unity Catalog に対して有効になっている Databricks ワークスペース。

  • Databricks Runtime 15.4 LTS 以上にあるコンピュート リソース。SQLウェアハウスはサポートされていません。

  • Unity Catalog メタストアで作成された、クラウド サービスへのアクセスを許可するサービス資格情報。

  • サービス資格情報に対する ACCESS 権限またはサービス資格情報の所有権。

コードでサービス資格情報を使用する

このセクションでは、ノートブックでサービス資格情報を使用する例を示します。 パブリック プレビュー期間中は Python のみがサポートされています。 プレースホルダー値を置き換える。

例: 特定のサービス資格情報を使用するように boto3 セッションを構成する

import boto3
boto3_session = boto3.Session(botocore_session=dbutils.credentials.getServiceCredentialsProvider('your-service-credential'), region_name='your-aws-region')
sm = boto3_session.client('secretsmanager')

コンピュート リソースのデフォルト サービス資格情報を指定します

オプションで、環境変数を設定することで、all-purpose クラスターまたはジョブ コンピュート クラスターのデフォルト サービス資格情報を指定できます。 デフォルトでは、認証が提供されていない場合、SDK はそのサービス資格情報を使用します。 ユーザーは、外部クラウド サービスに接続するために、そのサービス資格情報に ACCESS する必要があります。 Databricks では、コードでサービス資格情報に名前を付けるよりもコードの移植性が低くなるため、このアプローチはお勧めしません。

注:

サーバレス コンピュート と SQLウェアハウスは環境変数をサポートしていないため、デフォルト サービスの資格情報をサポートしていません。

  1. クラスターの編集ページを開きます。

    「コンピュートの管理」を参照してください。

  2. ページの下部にある [詳細オプション ] をクリックし、[ Spark ] タブに移動します。

  3. [環境変数] に次のエントリを追加し、<your-service-credential>を置き換えます。

    DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>

次のコード サンプルでは、サービス資格情報は指定されていません。 代わりに、 DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME 環境変数で指定されたサービス資格情報を使用します。

import boto3
sm = boto3.client('secretsmanager', region_name='your-aws-region')

例の例: 特定のサービス資格情報を使用するように boto3 セッションを構成すると、資格情報の仕様が追加されます。

boto3_session = boto3.Session(botocore_session=dbutils.credentials.getServiceCredentialsProvider('your-service-credential'), region_name='your-aws-region')