Created
July 20, 2017 01:51
-
-
Save MasayukiOzawa/2cd25105b63dfb3c6b83bfefc4044d83 to your computer and use it in GitHub Desktop.
Ubuntu の AAD 認証の有効化
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ドメイン名の大文字 / 小文字の入力が意識されるため、以下のスクリプトの大文字/小文字はそのままの形式で適宜ドメイン名を変更 | |
sudo apt-get install -y realmd krb5-user packagekit | |
# インストール時に入力が求められるドメイン名については、大文字で指定 | |
# https://answers.launchpad.net/ubuntu/+question/293540 | |
sudo realm discover contoso.com -v | |
sudo realm join contoso.com -U 'LinuxADUser@CONTOSO.COM' -v | |
# Domain Users 権限で JOIN させる場合、事前にコンピューターアカウントを作成し無効な状態としておき、コマンドで使用するユーザーのフルコントロールを付与しておく | |
# AD で実行(SoL をインストールしたマシンのホスト名は ubuntu) | |
Import-Module ActiveDirectory | |
New-ADUser mssql -AccountPassword (Read-Host -AsSecureString "Enter Password") -PasswordNeverExpires $true -Enabled $true | |
setspn.exe -A MSSQLSvc/ubuntu.contoso.com:1433 mssql | |
setspn.exe -A MSSQLSvc/ubuntu:1433 mssql | |
# Linux で実行 | |
kinit LinuxADUser@CONTOSO.COM | |
klist | |
kvno MSSQLSvc/ubuntu.contoso.com:1433 | |
# kvno が表示されるので控えておく。kvno の SPN が小文字のドメイン名で認識されてしまっている場合は、kvno MSSQLSvc/ubuntu.contoso.com:1433@CONTOSO.COM | |
にする | |
# -k 2 については、上述の kvno で確認した値を設定する | |
sudo ktutil | |
addent -password -p MSSQLSvc/ubuntu.contoso.com:1433@CONTOSO.COM -k 2 -e aes256-cts-hmac-sha1-96 | |
addent -password -p MSSQLSvc/ubuntu.contoso.com:1433@CONTOSO.COM -k 2 -e rc4-hmac | |
wkt /var/opt/mssql/secrets/mssql.keytab | |
quit | |
sudo chown mssql:mssql /var/opt/mssql/secrets/mssql.keytab | |
sudo chmod 400 /var/opt/mssql/secrets/mssql.keytab | |
sudo /opt/mssql/bin/mssql-conf set network.kerberoskeytabfile /var/opt/mssql/secrets/mssql.keytab | |
sudo systemctl restart mssql-server | |
# SQL Server で実行 | |
CREATE LOGIN [CONTOSO\LinuxADUser] FROM WINDOWS | |
GO | |
ALTER SERVER ROLE [sysadmin] ADD MEMBER [CONTOSO\LinuxADUser] | |
GO | |
# 作成したログインの Windows ユーザーで以下を実行し接続を確認 | |
sqlcmd -S ubuntu | |
sqlcmd -S ubuntu.contoso.com | |
# SQL Server で接続情報を確認 | |
SELECT | |
c.session_id, | |
c.connect_time, | |
s.login_time, | |
c.net_transport, | |
c.protocol_type, | |
c.encrypt_option, | |
c.auth_scheme, | |
s.host_name, | |
s.program_name, | |
s.client_version, | |
s.client_interface_name, | |
s.login_name, | |
s.nt_domain, | |
s.nt_user_name | |
FROM | |
sys.dm_exec_connections c | |
INNER JOIN sys.dm_exec_sessions s | |
ON | |
c.session_id = s.session_id |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment