Azure Key Vault への資格情報の格納Store credential in Azure Key Vault

データ ストアや計算のための資格情報を Azure Key Vault に格納することができます。You can store credentials for data stores and computes in an Azure Key Vault. Azure Data Factory は、データ ストア/計算を使うアクティビティの実行時に、資格情報を取得します。Azure Data Factory retrieves the credentials when executing an activity that uses the data store/compute.

現時点では、カスタム アクティビティを除くすべてのアクティビティの種類が、この機能をサポートしています。Currently, all activity types except custom activity support this feature. 具体的なコネクタの構成について詳しくは、各コネクタ トピックの「リンクされたサービスのプロパティ」セクションをご覧ください。For connector configuration specifically, check the "linked service properties" section in each connector topic for details.

前提条件Prerequisites

この機能は、データ ファクトリのサービス ID に依存しています。This feature relies on the data factory service identity. データ ファクトリのサービス ID からの使用方法と、データ ファクトリに関連付けられていることを確認する方法について説明します。Learn how it works from Data factory service identity and make sure your data factory have an associated one.

ヒント

Azure Key Vault でシークレットを作成するときには、ADF のリンクされたサービスで要求されるシークレット プロパティの値全体 (例: 接続文字列/パスワード/サービス プリンシパル キー/その他) を指定します。In Azure Key Vault, when you create a secret, put the entire value of a secret property that ADF linked service asks for (e.g. connection string/password/service principal key/etc). たとえば、Azure Storage のリンクされたサービスの場合、DefaultEndpointsProtocol=http;AccountName=myAccount;AccountKey=myKey; を AKV シークレットとして指定し、次に ADF からの "connectionString" フィールドで参照します。Dynamics のリンクされたサービスの場合は、AKV シークレットとして myPassword を指定し、次に ADF からの "password" フィールドで参照します。For example, for Azure Storage linked service, put DefaultEndpointsProtocol=http;AccountName=myAccount;AccountKey=myKey; as AKV secret, then reference in "connectionString" field from ADF; for Dynamics linked service, put myPassword as AKV secret, then reference in "password" field from ADF. サポートされているプロパティの詳細については、各コネクタとコンピューティングの記事を参照してください。Refer to each connector/compute article on supported property details.

手順Steps

Azure Key Vault に格納されている資格情報を参照するには、次の手順に従う必要があります。To reference a credential stored in Azure Key Vault, you need to:

  1. ファクトリと共に生成された "サービス ID アプリケーション ID" の値をコピーして、データ ファクトリのサービス ID を取得します。Retrieve data factory service identity by copying the value of "SERVICE IDENTITY APPLICATION ID" generated along with your factory. ADF オーサリング UI を使用する場合、サービス ID が Azure Key Vault のリンクされたサービスの作成ウィンドウに表示されます。Azure portal から取得することもできます。「Retrieve data factory service identity」(データ ファクトリのサービス ID の取得) を参照してください。If you use ADF authoring UI, the service identity ID will be shown on the Azure Key Vault linked service creation window; you can also retrieve it from Azure portal, refer to Retrieve data factory service identity.
  2. サービス ID に、Azure Key Vault へのアクセス権を付与します。Grant the service identity access to your Azure Key Vault. キー コンテナーで、[アクセス ポリシー] -> [新規追加] を選択し、このサービス ID アプリケーション ID を検索して、[シークレットのアクセス許可] ドロップダウンで Get アクセス許可を付与します。In your key vault -> Access policies -> Add new -> search this service identity application ID to grant Get permission in Secret permissions dropdown. この指定されたファクトリで、キー コンテナー内のシークレットにアクセスできます。It allows this designated factory to access secret in key vault.
  3. Azure Key Vault をポイントするリンクされたサービスを作成します。Create a linked service pointing to your Azure Key Vault. Azure Key Vault のリンクされたサービス」をご覧ください。Refer to Azure Key Vault linked service.
  4. データ ストアのリンクされたサービスを作成します。その内部で、キー コンテナーに格納されている対応するシークレットを参照します。Create data store linked service, inside which reference the corresponding secret stored in key vault. キー コンテナーに格納されたシークレットの参照」をご覧ください。Refer to reference secret stored in key vault.

Azure Key Vault のリンクされたサービスAzure Key Vault linked service

Azure Key Vault のリンクされたサービスでは、次のプロパティがサポートされます。The following properties are supported for Azure Key Vault linked service:

プロパティProperty 説明Description 必須Required
typetype type プロパティは AzureKeyVault に設定する必要があります。The type property must be set to: AzureKeyVault. [はい]Yes
baseUrlbaseUrl Azure Key Vault の URL を指定します。Specify the Azure Key Vault URL. [はい]Yes

オーサリング UI の使用:Using authoring UI:

[接続] -> [リンクされたサービス] -> [+ 新規] の順にクリックし、"Azure Key Vault" を検索します。Click Connections -> Linked Services -> +New -> search for "Azure Key Vault":

AKV の検索

資格情報が格納されるプロビジョニングされた Azure Key Vault を選択します。Select the provisioned Azure Key Vault where your credentials are stored. テスト接続を実行し、AKV 接続が有効なことを確認します。You can do Test Connection to make sure your AKV connection is valid.

AKV の構成

JSON の例:JSON example:

{
    "name": "AzureKeyVaultLinkedService",
    "properties": {
        "type": "AzureKeyVault",
        "typeProperties": {
            "baseUrl": "https://<azureKeyVaultName>.vault.azure.net"
        }
    }
}

キー コンテナーに格納されたシークレットの参照Reference secret stored in key vault

キー コンテナーのシークレットを参照するリンクされたサービスのフィールドを構成する場合は、次のプロパティがサポートされます。The following properties are supported when you configure a field in linked service referencing a key vault secret:

プロパティProperty 説明Description 必須Required
typetype フィールドの type プロパティは AzureKeyVaultSecret に設定する必要があります。The type property of the field must be set to: AzureKeyVaultSecret. [はい]Yes
secretNamesecretName Azure Key Vault のシークレットの名前。The name of secret in azure key vault. [はい]Yes
secretVersionsecretVersion Azure Key Vault のシークレットのバージョン。The version of secret in azure key vault.
指定しない場合は、常に最新バージョンのシークレットが使用されます。If not specified, it always uses the latest version of the secret.
指定した場合は、その特定のバージョンに固定されます。If specified, then it sticks to the given version.
いいえ No
storestore 資格情報の格納に使用する Azure Key Vault のリンクされたサービスを表します。Refers to an Azure Key Vault linked service that you use to store the credential. [はい]Yes

オーサリング UI の使用:Using authoring UI:

データストア/コンピューティングへの接続を作成するときに、シークレット フィールドに対して Azure Key Vault を選択します。Select Azure Key Vault for secret fields while creating the connection to your data store/compute. プロビジョニングされた Azure Key Vault のリンクされたサービスを選択し、シークレット名を指定します。Select the provisioned Azure Key Vault Linked Service and provide the Secret name. シークレット バージョンも必要に応じて指定できます。You can optionally provide a secret version as well.

AKV シークレットの構成

JSON の例: ("password" セクションをご覧ください)JSON example: (see the "password" section)

{
    "name": "DynamicsLinkedService",
    "properties": {
        "type": "Dynamics",
        "typeProperties": {
            "deploymentType": "<>",
            "organizationName": "<>",
            "authenticationType": "<>",
            "username": "<>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name in AKV>",
                "store":{
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                }
            }
        }
    }
}

次の手順Next steps

Azure Data Factory のコピー アクティビティによってソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアの表をご覧ください。For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.