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

適用対象: はいAzure Data Factory いいえAzure Synapse Analytics (プレビュー) APPLIES TO: yesAzure Data Factory noAzure Synapse Analytics (Preview)

データ ストアや計算のための資格情報を 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 managed identity. データ ファクトリのマネージド ID からの使用方法と、データ ファクトリに関連付けられていることを確認する方法について説明します。Learn how it works from Managed identity for Data factory and make sure your data factory have an associated one.

手順Steps

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

  1. ファクトリと共に生成された "マネージド ID オブジェクト ID" の値をコピーして、データ ファクトリのマネージド ID を取得します。Retrieve data factory managed identity by copying the value of "Managed Identity Object ID" generated along with your factory. ADF オーサリング UI を使用する場合、マネージド ID オブジェクト ID が Azure Key Vault のリンクされたサービスの作成ウィンドウに表示されます。Azure portal から取得することもできます。「Retrieve data factory service IDentity」(データ ファクトリのマネージド ID の取得) を参照してください。If you use ADF authoring UI, the managed identity object 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 managed identity.
  2. マネージド ID に、Azure Key Vault へのアクセス権を付与します。Grant the managed identity access to your Azure Key Vault. キー コンテナーで、[アクセス ポリシー]、[アクセス ポリシーの追加] の順に選択し、このマネージド ID を検索して、[シークレットのアクセス許可] ドロップダウンで GET アクセス許可を付与します。In your key vault -> Access policies -> Add Access Policy, search this managed identity 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 プロパティは、次のように設定する必要があります:AzureKeyVaultThe type property must be set to: AzureKeyVault. はいYes
baseUrlbaseUrl Azure Key Vault の URL を指定します。Specify the Azure Key Vault URL. はいYes

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

[接続] -> [リンクされたサービス] -> [新規] を選択します。Select Connections -> Linked Services -> New. 新しいリンクされたサービスで、"Azure Key Vault" を検索して選択します。In New linked service, search for and select "Azure Key Vault":

Azure Key Vault の検索

資格情報が格納されるプロビジョニングされた 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.

Azure Key Vault を構成する

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.

ヒント

SQL Server や Blob ストレージなどのリンクされたサービスにおける接続文字列を使用した接続については、AKV でのパスワードなどの secret フィールドのみを格納するか、AKV の接続文字列全体を確認するかを選択できます。For connectors using connection string in linked service like SQL Server, Blob storage, etc., you can choose either to store only the secret field e.g. password in AKV, or to store the entire connection string in AKV. どちらのオプションも UI で入手できます。You can find both options on the UI.

Azure Key Vault のシークレットの構成

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.