1.6. 配置 Active Directory 域服务
本节论述了 Active Directory 管理员需要完成的任务:
| 任务 | 详情 |
| 创建一个服务帐户。 |
这可根据您服务帐户的命名规则命名,例如: |
| 创建用户组。 |
如果用户需要访问 OpenStack,它们必须是此组的成员。这可根据用户组的命名规则命名,例如: |
| 创建"项目"组。 |
每个 OpenStack 项目都需要一个对应的 AD 组。例如: |
| 配置服务帐户。 |
服务帐户 |
| 导出 LDAPS 公钥。 |
使用以下格式导出公钥(而不是私钥): |
| 将密钥发送到 OpenStack 管理员。 | OpenStack 管理员使用此密钥加密 OpenStack 和 Active Directory 之间的 LDAPS 通信。 |
| 检索 AD DS 域的 NetBIOS 名称。 | OpenStack 管理员将为 Keystone 域使用此名称,允许在环境之间保持一致的域命名。 |
例如,以下流程显示了要在 Active Directory Domain Controller 上运行的 PowerShell 命令:
1.创建 LDAP 查找帐户。Identity Service 使用这个帐户来查询 AD DS LDAP 服务:
PS C:\> New-ADUser -SamAccountName svc-ldap -Name "svc-ldap" -GivenName LDAP -Surname Lookups -UserPrincipalName svc-ldap@lab.local -Enabled $false -PasswordNeverExpires $true -Path 'OU=labUsers,DC=lab,DC=local'
2.为这个帐户设置密码,然后启用它。系统将提示您指定一个符合 AD 域复杂性要求的密码:
PS C:\> Set-ADAccountPassword svc-ldap -PassThru | Enable-ADAccount
3.为 OpenStack 用户创建一个组,名为 grp-openstack。
PS C:\> NEW-ADGroup -name "grp-openstack" -groupscope Global -path "OU=labUsers,DC=lab,DC=local"
4.创建项目组:
PS C:\> NEW-ADGroup -name "grp-openstack-demo" -groupscope Global -path "OU=labUsers,DC=lab,DC=local"
PS C:\> NEW-ADGroup -name "grp-openstack-admin" -groupscope Global -path "OU=labUsers,DC=lab,DC=local"
5.将 svc-ldap 用户添加到 grp-openstack 组中:
PS C:\> ADD-ADGroupMember "grp-openstack" -members "svc-ldap"
6.在 AD 域控制器中,使用证书 MMC 将 LDAPS 证书的公钥(而不是私钥)导出为 DER 编码的 x509 .cer 文件。将此文件发送到 OpenStack 管理员。
7.检索 AD DS 域的 NetBIOS 名称。
PS C:\> Get-ADDomain | select NetBIOSName
NetBIOSName
-----------
LAB
将此值发送到 OpenStack 管理员。