次の方法で共有


チュートリアル - カスタマーマネージド keytab モードで Active Directory (AD) コネクタをデプロイする

この記事では、カスタマーマネージド keytab モードで Active Directory (AD) コネクタをデプロイする方法について説明します。 このコネクタは、Azure Arc 対応 SQL Managed Instance 上で Active Directory 認証を有効にする上で重要なコンポーネントです。

カスタマーマネージド keytab モードの Active Directory コネクタ

カスタマーマネージド keytab モードの場合、Active Directory コネクタは、マネージド インスタンスからの DNS 要求を 2 つのアップストリーム DNS サービスのいずれかに中継する DNS プロキシ サービスをデプロイします。

  • Active Directory DNS サーバー
  • Kubernetes DNS サーバー

AD コネクタを使うと、SQL が AD ログインを認証するために必要な環境を簡単に用意できます。

次の図は、カスタマーマネージド keytab モードでの AD Connector と DNS プロキシ サービスの機能を示しています。

Active Directory connector

前提条件

作業を進めるには、次が必要です。

  • サポートされているバージョンの Kubernetes に配置されているデータ コントローラーのインスタンス
  • Active Directory (AD) ドメイン

Active Directory (AD) コネクタをデプロイするための入力

Active Directory コネクタのインスタンスをデプロイするには、Active Directory ドメイン環境から複数の入力が必要です。

これらの入力は、AD コネクタ インスタンスの YAML 仕様で提供されます。

AD ドメインに関する次のメタデータは、AD コネクタのインスタンスを展開する前に使用可能である必要があります。

  • Active Directory ドメインの名前
  • ドメイン コントローラーの一覧 (完全修飾ドメイン名)
  • DNS サーバーの IP アドレスの一覧

次の入力フィールドは、Active Directory コネクタ仕様のユーザーに公開されます。

  • 必須

    • spec.activeDirectory.realm 大文字表記の Active Directory ドメイン名。 これは、AD コネクタのこのインスタンスが関連付けられる AD ドメインです。

    • spec.activeDirectory.dns.nameserverIpAddresses Active Directory DNS サーバーの IP アドレスの一覧。 DNS プロキシ サービスは、指定されたドメイン名の DNS クエリをこれらのサーバーに転送します。

  • オプション

    • spec.activeDirectory.netbiosDomainName Active Directory ドメインの NetBIOS 名。 これは、Active Directory ドメインの短いドメイン名 (Windows 2000 以前の名前) です。 これは、AD ドメイン内のアカウントを限定するためによく使用されます。 たとえば、ドメイン内のアカウントが CONTOSO\admin として参照されている場合、CONTOSO が NETBIOS ドメイン名です。

      このフィールドは省略可能です。 指定しない場合は、この値の既定値は spec.activeDirectory.realm フィールドの最初のラベルになります。

      ほとんどのドメイン環境では、これは既定値に設定されていますが、一部のドメイン環境で既定値以外の値が指定されている可能性があります。 このフィールドは、ドメインの NetBIOS 名が完全修飾名の最初のラベルと一致しない場合にのみ使う必要があります。

    • spec.activeDirectory.dns.domainName DNS 検索を Active Directory の DNS サーバーに転送する必要のある DNS ドメイン名。

      このドメインまたはその子孫ドメインに属する任意の名前の DNS 参照は、Active Directory に転送されます。

      このフィールドは省略可能です。 指定しない場合、既定値として小文字に変換した spec.activeDirectory.realm の値が使用されます。

    • spec.activeDirectory.dns.replicas DNS プロキシ サービスのレプリカ数。 このフィールドは省略可能であり、指定されていない場合は既定で「1」に設定されます。

    • spec.activeDirectory.dns.preferK8sDnsForPtrLookups IP アドレスの検索の際に AD DNS サーバーの応答よりも Kubernetes DNS サーバーの応答を優先すべきかどうかを示すフラグ。

      DNS プロキシ サービスは、このフィールドに基づいて、IP アドレスの参照の際に優先すべき DNS サーバーの上流グループを決定します。

      このフィールドは省略可能です。 指定しない場合、既定値は true になります。つまり、IP アドレスの DNS 参照は、Kubernetes DNS サーバーに最初に転送されます。 Kubernetes DNS サーバーが参照に応答しない場合、クエリは AD DNS サーバーに転送されます。 false に設定すると、これらの DNS 参照は最初に AD DNS サーバーに転送され、失敗すると Kubernetes にフォールバックされます。

カスタマーマネージド keytab Active Directory (AD) コネクタをデプロイする

AD コネクタをデプロイするには、active-directory-connector.yaml という名前の .yaml 仕様ファイルを作成します。

次の例は、カスタマーマネージド keytab AD コネクタが AD ドメインの名前 CONTOSO.LOCAL を使用する例です。 値を AD ドメインの値に置き換えてください。

apiVersion: arcdata.microsoft.com/v1beta1
kind: ActiveDirectoryConnector
metadata:
  name: adarc
  namespace: <namespace>
spec:
  activeDirectory:
    realm: CONTOSO.LOCAL
  dns:
    preferK8sDnsForPtrLookups: false
    nameserverIPAddresses:
      - <DNS Server 1 IP address>
      - <DNS Server 2 IP address>

次のコマンドは、AD コネクタ インスタンスをデプロイします。 現時点では、デプロイには kube ネイティブのアプローチのみがサポートされています。

kubectl apply –f active-directory-connector.yaml

AD コネクタ インスタンスのデプロイを送信後、次のコマンドを使用してデプロイの状態を確認できます。

kubectl get adc -n <namespace>