セルフマネージド Active Directory の設定 - Amazon Relational Database Service

セルフマネージド Active Directory の設定

セルフマネージド AD を設定するには、次の手順を実行してください。

ステップ 1: AD に組織単位を作成する

重要

セルフマネージド AD ドメインに参加した RDS for SQL Server DB インスタンスを所有する AWS アカウントに、専用の OU とその OU を対象とするサービス認証情報を作成することをお勧めします。OU とサービス認証情報を専用にすることで、アクセス許可の競合を回避し、最小特権の原則に従うことができます。

AD に OU を作成するには
  1. ドメイン管理者として AD ドメインに接続します。

  2. [Active Directory ユーザーとコンピューター] を開き、OU を作成するドメインを選択します。

  3. ドメインを右クリックして、[新規] を選択し、次に [組織単位] を選択します。

  4. OU の名前を入力します。

  5. [コンテナを誤って削除しないように保護する] ボックスはオンのままにしてください。

  6. [OK] をクリックします。新しい OU がドメインの下に表示されます。

ステップ 2: AD に AD ドメインサービスアカウントを作成する

ドメインサービスアカウントの認証情報は AWS Secrets Manager のシークレットに使用されます。

AD に AD ドメインサービスアカウントを作成するには
  1. [Active Directory ユーザーとコンピューター] を開き、ユーザーを作成するドメインと OU を選択します。

  2. [ユーザー] オブジェクトを右クリックして、[新規] を選択し、[ユーザー] を選択します。

  3. ユーザーの名、姓、およびログオン名を入力します。[次へ] をクリックします。

  4. ユーザーのパスワードを入力します。[ユーザーは次回のログイン時にパスワードを変更する必要がある] を選択しないでください。[アカウントは無効です] を選択しないでください。[次へ] をクリックします。

  5. [OK] をクリックします。新しいユーザーがドメインの下に表示されます。

ステップ 3: AD ドメインサービスアカウントに制御を委任する

ドメイン内の AD ドメインサービスアカウントに制御を委任するには
  1. [Active Directory ユーザーとコンピューター] MMC スナップインを開き、ユーザーを作成するドメインを選択します。

  2. 前に作成した OU を右クリックして、[制御を委任] を選択します。

  3. [コントロールウィザードの委任] で、[次へ] を選択します。

  4. [ユーザーまたはグループ] セクションで、[追加] をクリックします。

  5. [ユーザー、コンピューター、またはグループの選択] セクションで、作成した AD ドメインサービスアカウントを入力し、[名前を確認] をクリックします。AD ドメインサービスアカウントのチェックが成功したら、[OK] をクリックします。

  6. [ユーザーまたはグループ] セクションで、AD ドメインサービスアカウントが追加されたことを確認し、[次へ] をクリックします。

  7. [委任するタスク] セクションで、[委任するカスタムタスクを作成] を選択し、[次へ] をクリックします。

  8. [Active Directory オブジェクトタイプ] セクションで:

    1. [フォルダ内の次のオブジェクトのみ] を選択します。

    2. [コンピュータオブジェクト] を選択します。

    3. [このフォルダに選択したオブジェクトを作成] を選択します。

    4. [このフォルダ内の選択したオブジェクトを削除] を選択し、[次へ] をクリックします。

  9. [アクセス許可] セクションで:

    1. [全般] を選択したままにします。

    2. [DNS ホスト名への検証済み書き込み] を選択します。

    3. [サービスプリンシパル名への検証済み書き込み] を選択し、[次へ] をクリックします。

    4. Kerberos 認証を有効にするには、[プロパティ固有] を選択し、リストから [書き込み servicePrincipalName] を選択します。

  10. [コントロールウィザードの委任の完了] で設定を確認し、[完了] をクリックします。

  11. Kerberos 認証の場合は、DNS Manager を開き、[サーバー] プロパティを開きます。

    1. Windows ダイアログボックスで、dnsmgmt.msc と入力します。

    2. [セキュリティ] タブの下に AD ドメインサービスアカウントを追加します。

    3. [読み取り] アクセス許可を選択し、変更を適用します。

ステップ 4: AWS KMS キーを作成する

KMS キーは、AWS シークレットの暗号化に使用されます。

AWS KMS キーを作成するには
注記

[暗号化キー] として、AWS デフォルトの KMS キーを使用しないでください。AWS KMS キーは、セルフマネージド AD に参加させる RDS for SQL Server DB インスタンスを含んでいるのと同じ AWS アカウントに作成してください。

  1. AWS KMS コンソールで、[キーの作成] を選択します。

  2. [キーの種類] として、[対称] を選択します。

  3. [キーの使用方法] として、[暗号化と復号化] を選択します。

  4. [Advanced options (詳細オプション)] の場合:

    1. [キーマテリアルのオリジン] として、[KMS] を選択します。

    2. [リージョナリティ] として、[単一リージョンキー] を選択し、[次へ] をクリックします。

  5. [エイリアス] に、KMS キーの名前を指定します。

  6. (オプション) [説明] に、KMS キーの説明を入力します。

  7. (オプション) [タグ] に、KMS キーのタグを指定し、[次へ] をクリックします。

  8. [キー管理者] として、IAM ユーザーの名前を入力して選択します。

  9. [キーの削除] で、[キー管理者にこのキーの削除を許可する] のボックスをオンのままにして、[次へ] をクリックします。

  10. [キーユーザー] として、前のステップと同じ IAM ユーザーを指定して選択します。[次へ] をクリックします。

  11. 設定を確認します。

  12. [キーポリシー] で、以下をポリシー [ステートメント] に含めます。

    { "Sid": "Allow use of the KMS key on behalf of RDS", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "kms:Decrypt", "Resource": "*" }
  13. [Finish] をクリックします。

ステップ 5: AWS シークレットを作成する

シークレットを作成する
注記

シークレットは、セルフマネージド AD に参加させる RDS for SQL Server DB インスタンスを含んでいるのと同じ AWS アカウントに作成してください。

  1. AWS Secrets Manager で、[新しいシークレットを保存する] を選択します。

  2. [Secret type] (シークレットタイプ) で、[Other type of secret] (他の種類のシークレット) を選択します。

  3. [キーと値のペア] として、次の 2 つのキーを追加します。

    1. 最初のキーには、SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME と入力します。

    2. 最初のキーの値には、AD ユーザーのユーザー名 (ドメインプレフィックスなし) のみを入力します。ドメイン名を含めないでください。含めると、インスタンスの作成が失敗します。

    3. 2 番目のキーとして、SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD と入力します。

    4. 2 番目のキーの値には、ドメインの AD ユーザー用に作成したパスワードを入力します。

  4. [暗号化キー] として、前のステップで作成した KMS キーを入力し、[次へ] をクリックします。

  5. [シークレット名] として、後でシークレットを見つけやすい、わかりやすい名前を入力します。

  6. (オプション) [説明] として、シークレット名の説明を入力します。

  7. [リソースアクセス許可] として、[編集] をクリックします。

  8. 以下のポリシーをアクセス許可ポリシーに追加します。

    注記

    Confused Deputy Problem (混乱した代理の問題) を回避するために、ポリシーの aws:sourceAccount および aws:sourceArn 条件を使用することをお勧めします。aws:sourceAccount の AWS アカウント と aws:sourceArn の RDS for SQL Server DB インスタンス ARN を使用します。詳細については、「サービス間での混乱した代理問題の防止」を参照してください。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": "123456789012" }, "ArnLike": { "aws:sourceArn": "arn:aws:rds:us-west-2:123456789012:db:*" } } } ] }
  9. [保存] をクリックし、[次へ] をクリックします。

  10. [ローテーションの設定] は、デフォルト値のままにして、[次へ] を選択します。

  11. シークレットの設定を確認し、[保存] をクリックします。

  12. 作成したシークレットを選択し、[シークレット ARN] の値をコピーします。これを次のステップで使用して、セルフマネージド Active Directory をセットアップします。