Simple ADディレクトリのID管理方法
先日のブログ記事、Microsoft Active DirectoryユーザーのSimple ADへの移行方法で述べたとおり、AWS Directory ServiceによってSimple ADと呼ばれるスタンドアロンの高可用性のあるAWSマネージドのディレクトリを数分のうちに作成することができるようになります。Simple ADでは、Amazon EC2インスタンスがドメインに参加するためのユーザーアカウントとグループのメンバーシップを集中管理することができます。さらに、単一の認証情報ですべてのEC2インスタンスへのログインやアプリケーションへの認証ができるようになります。Simple ADに関する追加情報は、What is AWS Directory Service Simple AD?を参照してください。
先日の記事では、Microsoft Active DirectoryからSimple ADへのID移行方法を紹介しました。今日の記事では、LinuxとWindows環境でのID管理に役立つコマンドについて解説したいと思います。
重要事項: Simple ADディレクトリに対して変更を加える前に、バックアップとしてスナップショットを保持しておくことが重要です。いますぐディレクトリのスナップショットを作成する必要があれば、こちらの手順にしたがってください。
Simple ADの管理
以下のコマンドをつかってSimple ADディレクトリのユーザーアカウントとグループメンバーシップを管理することができます。以下のリンクはMicrosoft Windowsを稼働しているEC2インスタンス上でActive Directoryユーザーとコンピュータをインストールして使用する手順について解説しています:
この記事ではLinux向けの同等のコマンドについて解説します。
注: 以下の手順はAmazon Linuxが稼働しているEC2インスタンスの使用を前提としています。ほかのLinuxディストリビューションではコマンドが異なる可能性があるもののほぼ同様です。こちらの手順にしたがってインスタンスを起動してドメインに参加させます。SSHクライアントを使用してドメインにオブジェクトを作成する権限のあるユーザー(別の言い方では、ドメイン管理者ユーザー)でインスタンスに接続します。
こちらがこの記事でコマンドに使用される値です:
- ユーザー名: johndoe
- ユーザーのパスワード: Password123!
- ドメイン名: example.com
- ドメイン管理者のユーザー名: Administrator
- ドメイン管理者のパスワード: Admin123!
- グループ名: testgroup
注: こちらの値はあくまでも例として使用しています。自身のパスワードではかならず長さと複雑さの要件を満たす値を使用するようにしてください。
前提となるパッケージのインストール
$ sudo yum -y install samba-common openldap-clients krb5-workstation adcli
以下の手順はこれらのやり方について解説しています:
- ドメインへのあたらしいユーザーアカウントの作成
- 機能のテスト、グループの作成、メンバーの追加
- ドメインに対する多様な検索の実行
ユーザーの作成と管理
$ net ads user ADD johndoe Password123! –C “John Doe” –S example.com
あたらしいユーザーはパスワードが設定されてEnabledにセットされるまでは無効です。ファイルを作成してユーザーオブジェクトのuserAccountControl値を512にセットすることでユーザーアカウントをEnabledにします。
$ sudo vi uac.ldif dn: CN= johndoe ,CN=Users,DC=example,DC=com changetype: modify replace: userAccountControl userAccountControl: 512
前のステップで作成されたldifファイルをつかって変更を行うためにはopenldap-clientパッケージによって提供されるldapmodifyコマンドを使用します。
$ ldapmodify –h example.com –p 389 –D “cn=Administrator,cn=Users,dc=example,dc=com” –w Admin123! –f uac.ldif
これでユーザーアカウントが有効になり利用できるようになり、Kerberosチケットを取得してテストできます。
$ kinit johndoe Password for [email protected]:
以下のコマンドを実行してKerborosチケットをみることができます。
$ klist
ドメインの全ユーザーのリスト
$ net ads user –S example.com
以下のコマンドでグループの作成とグループのメンバーシップの管理が可能です。
グループの作成
$ adcli create-group testgroup –v –D example.com –z “This is a test group.”
グループのメンバーとしてユーザーを追加
$ adcli add-member testgroup johndoe –v –D example.com
グループからユーザーの削除
$ adcli remove-member testgroup johndoe –v –D example.com
以下のコマンドはドメインに対して検索を実行する方法で、特定の属性のリストを収集したりユーザーに関する情報を取得するために役立ちます。
全ユーザーの検索
$ net ads search '(objectCategory=user)' –S example.com
特定のオブジェクトの検索
$ net ads search '(sAMAccountName=johndoe)' –S example.com
全グループの検索
$ net ads search '(objectCategory=group)' –S example.com
この記事のオペレーションはスクリプティングによるプロセスの自動化を容易にするためUIではなくコマンドラインを使用しています。たとえば、コマンドラインによりすぐに大量のユーザーアカウントを作成して属性の変更を適用することが可能です。さらにこれはSimple ADディレクトリのIDを管理するためのもうひとつの方法を提供しています。この記事で言及した管理用のオペレーションはAmazon Linuxでの動作をテストしています。
結論
このブログ記事ではLinuxまたはWindowsが稼働しているEC2インスタンスからSimple ADのIDを管理する方法を解説しました。これらのコマンドをつかってあたらしいユーザーやグループの作成、グループにメンバーの追加、そして特定の属性にもとづくオブジェクトの検索が可能です。
コメントを以下に記入いただくか、AWS Directory Service forum にコメントやご質問を記入していただくことができます。
- Chen(翻訳はSA渡邉が担当しました。原文はHow to Manage Identities in Simple AD Directories)
コメント