このページでは、Google Cloud NetApp Volumes と Active Directory の統合について説明します。
統合について
Active Directory ポリシーは、NetApp Volumes に Active Directory への接続方法を通知します。ストレージ プールの構成では、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 の中央ドメイン サービスです。SMB を使用して、ユーザーとグループの認証と ID 検索を行います。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 マシン アカウントの作成に必要な権限
NetApp Volumes マシン オブジェクトを Windows Active Directory に追加するには、コンピュータをドメインに参加させる権限を持つアカウントを使用します。このグループは通常 Domain Admins
グループですが、Active Directory には、ドメイン全体または組織部門レベルで個々のユーザーまたはグループに必要な権限を委任する機能があります。
これらの権限を付与するには、Active Directory の委任ウィザードを使用します。カスタムタスクを作成して、次のアクセス権限でコンピュータ オブジェクトを作成および削除できるようにします。
読み取りと書き込み
すべての子オブジェクトを作成、削除する
すべてのプロパティの読み取りと書き込み
パスワードの変更と再設定(「ドメインのパスワードとロックアウト ポリシーの読み取りと書き込み」)
ユーザーを委任すると、定義されたユーザーのセキュリティ アクセス制御リストが Active Directory の組織部門に追加され、Active Directory 環境へのアクセスが最小限に抑えられます。ユーザーに委任すると、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
サイトの使用を試みると、失敗し、代わりに Flex サービスレベルが完全なドメイン コントローラ検出を使用します。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 は、これらのすべてを継続的にモニタリングして可用性を確認します。使用可能なドメイン コントローラから、ドメインへの参加とルックアップに使用するドメイン コントローラを選択します。選択したドメイン コントローラが使用できなくなった場合、[使用可能] リストの別のドメイン コントローラが自動的に使用されます。選択したドメイン コントローラが、指定された 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 ボリュームがすでに使用している VPC ピアリング ホップを超えて転送されません。
別の VPC ネットワーク内の Active Directory ドメイン コントローラ:Google Cloud VPC ピアリングでは推移的ルーティングが許可されないため、ドメイン コントローラを別の VPC に配置することはできません。または、VPN を使用して VPC を接続するか、Active Directory ドメイン コントローラをホストする共有 VPC ネットワークに NetApp ボリュームをアタッチすることもできます。NetApp Volume を共有 VPC ネットワークに接続する場合、アーキテクチャ的には、このシナリオは前のセクションのシナリオのいずれかと同じになります。