このページでは、Google Cloud NetApp Volumes の Active Directory 統合について説明します。
統合について
Active Directory ポリシーは、Active Directory への接続方法を NetApp Volumes に指示します。ストレージ プールの構成では、Active Directory ポリシーを使用して、そのプール内に作成するボリュームの Active Directory 設定を定義します。
Active Directory ポリシーはリージョン固有であり、リージョンごとに最大 5 つのポリシーを構成できます。
セキュリティ プリンシパルを使用するファイル共有プロトコル(SMB(CIFS)、拡張グループを使用した NFSv3、NFSv4 など)は、ユーザー ID 情報を提供する外部ディレクトリ サービスに依存しています。NetApp Volumes は、ディレクトリ サービスに Active Directory を使用します。Active Directory は次のサービスを提供します。
LDAP サーバー: ユーザー、グループ、マシンなどのオブジェクトを検索します。
DNS サーバー: ホスト名を解決し、Active Directory ドメイン コントローラの検出を行います。
Kerberos サーバー: 認証を実行します。
詳細については、 Google Cloudで Active Directory を実行するためのベスト プラクティスをご覧ください。
Active Directory のユースケース
NetApp Volumes は、次のユースケースで Active Directory を使用します。
SMB ドメイン サービス: Active Directory は SMB の中央ドメイン サービスです。ユーザーとグループの認証と ID 検索に SMB を使用します。NetApp Volumes はメンバーとしてドメインに参加しますが、ワークグループ モードでの SMB はサポートしていません。
NFSv3 拡張グループのサポート: 拡張グループのサポートが有効になっている NFSv3 の場合、Active Directory は、ユーザー、グループ、マシン アカウントなどのオブジェクトの検索に必要な LDAP サーバーを提供します。具体的には、ユーザー ID とグループ ID のルックアップには
RFC2307bis
準拠の LDAP サーバーが必要です。LDAP サポートは、プールの作成時にストレージ プールで有効になります。拡張グループ サポートは、NFS 呼び出しで NFS クライアントから送信されたすべてのグループ ID を無視します。代わりに、リクエストのユーザー ID を取得し、LDAP サーバーから指定されたユーザー ID のすべてのグループ ID を検索して、ファイル権限のチェックを行います。
詳細については、LDAP
RFC2307bis
POSIX 属性を管理するをご覧ください。NFSv4.x セキュリティ プリンシパルとユーザー ID およびグループ ID のマッピング: NFSv4.x の場合、NetApp Volumes は Active Directory を使用してセキュリティ プリンシパルをユーザー ID とグループ ID にマッピングします。NFSv4 は、プリンシパル ベースの認証モデルを使用します。プリンシパルベースの認証では、セキュリティ プリンシパルはユーザー ID とグループ ID ではなく、
user@dns_domain
形式のユーザーを識別します(RFC 7530
のセキュリティに関する考慮事項を参照)。NFSv4.x プロトコルを使用してボリュームにアクセスするときに、セキュリティ プリンシパルをユーザー ID とグループ ID にマッピングするには、NetApp Volumes にRFC2307bis
準拠の LDAP サーバーが必要です。NetApp Volumes は Active Directory LDAP サーバーのみをサポートします。LDAP サポートは、プールの作成時にストレージ プールで有効になります。セキュリティ プリンシパルを使用するには、NFS クライアントとサーバーが同じ LDAP ソースに接続し、クライアントで
idmapd.conf
ファイルを構成する必要があります。idmapd.conf
ファイルの構成方法について詳しくは、libnfsidmap
用のidmapd.conf
ファイルの構成方法に関する Ubuntu のドキュメントをご覧ください。dns_domain
は Active Directory ドメイン名を使用し、user
は Active Directory ユーザーの名前として識別されます。これらの値は、LDAP POSIX 属性を設定するときに使用します。ID マッピングを使用せずに NFSv4.1 を使用し、NFSv3 と同様にユーザー ID とグループ ID のみを使用するには、数値 ID を使用してセキュリティ プリンシパルを無視します。NetApp Volumes は数値 ID をサポートしています。現在の NFS クライアントは、ID マッピングが構成されていない場合、デフォルトで数値 ID を使用します。
Kerberos を使用した NFSv4.x: Kerberos を使用する場合は、セキュリティ プリンシパル検索用の LDAP サーバーとして Active Directory を使用する必要があります。Kerberos プリンシパルは、セキュリティ識別子として使用されます。Kerberos 鍵配布センターは Active Directory を使用します。これを機能させるには、Kerberos 設定を含む Active Directory ポリシーをプールに接続し、プールの作成時にストレージ プールで LDAP サポートを有効にする必要があります。
Active Directory マシン アカウントの作成に必要な権限
Active Directory を使用するには、NetApp ボリュームで 1 つ以上の仮想ファイル サーバーをパソコン アカウントとしてドメインに参加させる必要があります。ドメインに参加するには、コンピュータをドメインに参加させる権限を持つドメイン ユーザーの認証情報を指定する必要があります。デフォルトでは、Domain Admins
グループ メンバーのみがコンピュータをドメインに参加させることができますが、Active Directory には、ドメイン全体または組織部門(OU)レベルで個々のユーザーまたはグループに必要な権限を委任する機能があります。
NetApp Volumes の場合は、専用のドメイン サービス アカウントを作成することをおすすめします。新しいコンピュータを特定の OU に参加させるために必要な権限のみを委任します。Domain User
または Domain Guest
グループのメンバーシップを持つユーザーを作成したら、次の手順に沿って必要な権限を委任します。
Active Directory ドメインのドメイン管理者としてシステムにログインします。
MMC の [Active Directory ユーザーとコンピュータ] スナップインを開きます。
メニューバーから [表示] を選択し、[高度な機能] が有効になっていることを確認します。
[詳細設定] が有効になっている場合、チェックマークが表示されます。
タスクペインで、ドメインノードを開きます。
変更する OU を見つけて右クリックし、コンテキスト メニューから [プロパティ] を選択します。
[OU のプロパティ] ウィンドウで、[セキュリティ] タブを選択します。
[セキュリティ] で、[詳細設定] をクリックし、[追加] をクリックします。
[Permission Entry] ダイアログで、次の手順を完了します。
[プリンシパルを選択] をクリックします。
サービス アカウントまたはグループの名前を入力し、[OK] をクリックします。
[適用対象:] で、[このオブジェクトとすべての子孫オブジェクト] を選択します。
次の権限が選択されていることを確認します。
権限を変更する
コンピュータ オブジェクトを作成する
コンピュータ オブジェクトを削除する
[適用] チェックボックスをオンにして、[OK] をクリックします。
[Active Directory ユーザーとコンピュータ] MMC スナップインを閉じます。
サービス アカウントが委任されたら、ユーザー名とパスワードを Active Directory ポリシーの認証情報として指定できます。
セキュリティを強化するため、マシン アカウント オブジェクトのクエリと作成時に Active Directory ドメインに渡されるユーザー名とパスワードには、Kerberos 暗号化が使用されます。
Active Directory ドメイン コントローラ
NetApp Volumes をドメインに接続するために、サービスは DNS ベースの検出を使用して、使用可能なドメイン コントローラのリストを特定します。
サービスは次の手順で、使用するドメイン コントローラを検索します。
Active Directory サイトの検出: NetApp Volumes は、Active Directory ポリシーで指定された DNS サーバー IP に LDAP ping を使用して、Active Directory サイトのサブネット情報を取得します。CIDR のリストと、それらの CIDR に割り当てられている Active Directory サイトのリストを返します。
Get-ADReplicationSubnet -Filter * | Select-Object Name,Site
サイト名を定義する: ボリュームの IP アドレスが定義されたサブネットのいずれかと一致する場合、関連付けられたサイト名が使用されます。小さいサブネットの一致は、大きいサブネットの一致よりも優先されます。ボリュームの IP アドレスが不明な場合は、NFS プロトコル タイプで一時ボリュームを手動で作成し、使用されている
/28
CIDR を特定します。Active Directory でサイト名が定義されていない場合は、Active Directory ポリシーで構成されたサイト名が使用されます。サイト名が構成されていない場合、スタンダード、プレミアム、エクストリームのサービスレベルでは
Default-First-Site-Name
サイトが使用されます。Flex サービスレベルがDefault-First-Site-Name
サイトを使用しようとすると失敗し、代わりに完全なドメイン コントローラ検出が使用されます。Active Directory サイト パラメータの変更は、Flex サービスレベルのストレージ プールでは無視されます。ドメイン コントローラの検出: 必要な情報をすべて取得すると、サービスは次の DNS クエリを使用して、潜在的なドメイン コントローラを特定します。
nslookup -type=srv _ldap._tcp.<site_name>._sites.dc._msdcs.<domain-name> <dns-server>
完全なドメイン検出の場合、サービスは次の DNS クエリを使用します。
nslookup -type=srv _ldap._tcp.dc._msdcs.<domain-name> <dns-server>
ドメイン コントローラ リストの生成: ドメイン コントローラのリストが生成されます。NetApp Volumes は、すべてのボリュームの可用性を常にモニタリングします。利用可能なドメイン コントローラの中から、ドメインへの参加とルックアップ用に 1 つを選択します。選択したドメイン コントローラが使用できなくなった場合は、[使用可能] リストの別のドメイン コントローラが自動的に使用されます。選択したドメイン コントローラが、指定した DNS サーバーであるとは限りません。
サービスで使用できるドメイン コントローラを 1 つ以上指定する必要があります。ドメイン コントローラの可用性を高めるために、複数のドメイン コントローラをおすすめします。NetApp Volumes とドメイン コントローラ間にルーティングされたネットワーク パスがあり、ドメイン コントローラのファイアウォール ルールで NetApp Volumes の接続が許可されていることを確認します。
詳細については、Active Directory の設計に関する考慮事項とベスト プラクティスをご覧ください。
Active Directory ドメイン コントローラのトポロジ
Active Directory ドメイン コントローラに正常に接続すると、次のファイル共有プロトコルを使用できます。
SMB
拡張グループを使用した NFSv3
セキュリティ プリンシパルと Kerberos を使用した NFSv4
次のシナリオでは、考えられるトポロジについて説明します。シナリオでは、NetApp Volumes で使用されるドメイン コントローラのみについて説明します。同じドメインの他のドメイン コントローラについては、必要な場合にのみ説明します。冗長性と可用性を確保するために、少なくとも 2 つのドメイン コントローラをデプロイすることをおすすめします。
1 つのリージョン内の Active Directory ドメイン コントローラとボリューム: このシナリオは、ドメイン コントローラがボリュームと同じリージョンにある最もシンプルなデプロイ戦略です。
Active Directory ドメイン コントローラとボリュームが別のリージョンにある: ボリュームとは異なるリージョンのドメイン コントローラを使用できます。これにより、認証とファイル アクセスのパフォーマンスに悪影響が及ぶ可能性があります。
AD サイトを使用して複数のリージョンに Active Directory ドメイン コントローラを配置する: 複数のリージョンでボリュームを使用する場合は、各リージョンに少なくとも 1 つのドメイン コントローラを配置することをおすすめします。サービスは最適なドメイン コントローラを自動的に選択しようとしますが、Active Directory サイトを使用してドメイン コントローラの選択を管理することをおすすめします。
オンプレミス ネットワークの Active Directory ドメイン コントローラ: VPN 経由でオンプレミス ドメイン コントローラを使用できますが、エンドユーザーの認証とファイル アクセスのパフォーマンスに悪影響を及ぼす可能性があります。ネットワーク パスに Virtual Private Cloud ピアリング ホップを追加しないようにしてください。VPC ピアリングには、推移的ルーティングの制限が適用されます。トラフィックは、NetApp Volumes がすでに使用している VPC ピアリング ホップを超えて転送されません。
別の VPC ネットワーク内の Active Directory ドメイン コントローラ:Google Cloud VPC ピアリングでは推移的ルーティングが許可されていないため、ドメイン コントローラを別の VPC に配置することはできません。または、VPN を使用して VPC を接続するか、Active Directory ドメイン コントローラをホストする共有 VPC ネットワークに NetApp ボリュームをアタッチすることもできます。NetApp Volumes を共有 VPC ネットワークに接続すると、アーキテクチャ的には、このシナリオは前のセクションのシナリオのいずれかと同じになります。