Amazon EC2 Linux インスタンスを Simple AD Active Directory にシームレスに結合する - AWS Directory Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EC2 Linux インスタンスを Simple AD Active Directory にシームレスに結合する

この手順では、Amazon EC2 Linux インスタンスを Simple AD Active Directory にシームレスに結合します。

以下の Linux インスタンスのディストリビューションおよびバージョンがサポートされています。

  • Amazon Linux AMI 2018.03.0

  • Amazon Linux 2 (64 ビット x86)

  • Red Hat Enterprise Linux 8 (HVM) (64 ビット x86)

  • Ubuntu Server 18.04 LTSおよび Ubuntu Server 16.04 LTS

  • CentOS 7 x86-64

  • SUSE Linux Enterprise Server 15 SP1

注記

Ubuntu 14 および Red Hat Enterprise Linux 7 より前のディストリビューションでは、シームレスなドメイン結合機能はサポートされていません。

前提条件

Linux インスタンスへのシームレスなドメイン結合を設定する前に、このセクションの手順を完了する必要があります。

シームレスなドメイン結合のサービスアカウントを選択する

Linux コンピュータを Simple AD ドメインにシームレスに結合できます。これを行うには、コンピュータをドメインに結合するためのコンピュータアカウントの作成アクセス許可を持つユーザーアカウントを作成する必要があります。Domain Admins または他のグループのメンバーがコンピュータをドメインに結合する十分な権限を持っていても、これらは推奨されません。ベストプラクティスとして、コンピュータをドメインに結合するために必要な最低限の権限を持つサービスアカウントを使用することをお勧めします。

コンピュータアカウントの作成のために、サービスアカウントへのアクセス許可を処理および委任する方法の詳細については、「権限をサービスアカウントに委任する」を参照してください。

ドメインサービスアカウントを保存するシークレットを作成する

AWS Secrets Manager を使用してドメインサービスアカウントを保存できます。

ドメインサービスアカウントの情報を保存するシークレットを作成するには
  1. にサインイン AWS Management Console し、 で AWS Secrets Manager コンソールを開きますhttps://console.aws.amazon.com/secretsmanager/

  2. [Store a new secret] (新しいシークレットの保存) を選択します。

  3. [Store a new secret] (新しいシークレットを保存する) のページで、次の操作を行います:

    1. [シークレットのタイプ] で、[その他のシークレットのタイプ] を選択します。

    2. [Key/value pairs] (キー/値ペア) で、次のように実行します。

      1. 最初のボックスに awsSeamlessDomainUsername と入力します。同じ行の次のボックスに、サービスアカウントのユーザー名を入力します。例えば、以前に PowerShell コマンドを使用した場合、サービスアカウント名は になりますawsSeamlessDomain

        注記

        awsSeamlessDomainUsername を正確に入力する必要があります。先頭または末尾にスペースがないことを確認します。スペースがあると、ドメイン結合が失敗します。

        の AWS Secrets Manager コンソールでシークレットタイプを選択します。awsSeamlessDomainUsernameシークレットタイプで他のタイプのシークレットが選択され、キー値として入力されます。
      2. [Add row] (行の追加) を選択します。

      3. 新しい行で、最初のボックスに awsSeamlessDomainPassword と入力します。同じ行の次のボックスに、サービスアカウントのパスワードを入力します。

        注記

        awsSeamlessDomainPassword を正確に入力する必要があります。先頭または末尾にスペースがないことを確認します。スペースがあると、ドメイン結合が失敗します。

      4. 暗号化キーの下で、デフォルト値aws/secretsmanagerのままにしておきます。 このオプションを選択すると、 AWS Secrets Manager は常に秘密を暗号化します。自身で作成したキーを選択することもできます。

        注記

        使用するシークレットによっては AWS Secrets Manager、 に関連する料金が発生します。現在の価格の詳細なリストについては、「AWS Secrets Manager 料金表」を参照してください。

        Secrets Manager aws/secretsmanagerが作成する AWS マネージドキーを使用して、シークレットを無料で暗号化できます。シークレットを暗号化するための独自のKMSキーを作成すると、 は現在の AWS KMS レートで AWS 課金します。詳細については、「AWS Key Management Service 料金」を参照してください。

      5. [Next (次へ)] を選択します。

  4. シークレット名 で、ディレクトリ ID を含むシークレット名を次の形式で入力し、置き換えます。d-xxxxxxxxx ディレクトリ ID を使用して:

    aws/directory-services/d-xxxxxxxxx/seamless-domain-join

    これは、アプリケーション内のシークレットを取得するために使用されます。

    注記

    aws/directory-services/d-xxxxxxxxx/seamless-domain-join そのまま入力する必要がありますが、置き換えてください d-xxxxxxxxxx ディレクトリ ID を使用します。先頭または末尾にスペースがないことを確認します。スペースがあると、ドメイン結合が失敗します。

    シークレットの設定ページの AWS Secrets Manager コンソールで。シークレット名が入力され、強調表示されます。
  5. それ以外はすべてデフォルトのままにして、[Next] (次へ) をクリックします。

  6. [Configure automatic rotation] (自動ローテーションを設定) で [Disable automatic rotation] (自動ローテーションを無効にする) を選択し、[Next] (次へ) をクリックします。

    このシークレットの保存後にローテーションを有効にすることができます。

  7. 設定を確認し、[Store] (保存) をクリックして変更を保存します。Secrets Manager コンソールがアカウントのシークレットリストに戻ります。リストには、新しいシークレットが追加されています。

  8. リストから新しく作成したシークレット名を選択し、シークレットARN値を書き留めます。これは次のセクションで必要になります。

ドメインサービスアカウントシークレットのローテーションを有効にする

セキュリティ体制を改善するために、シークレットを定期的にローテーションすることをお勧めします。

ドメインサービスアカウントシークレットのローテーションを有効にするには

必要なIAMポリシーとロールを作成する

以下の前提条件ステップを使用して、Secrets Manager のシームレスなドメイン結合シークレット (以前に作成したもの) への読み取り専用アクセスを許可するカスタムポリシーを作成し、新しい LinuxEC2DomainJoin IAMロールを作成します。

Secrets Manager のIAM読み取りポリシーを作成する

IAM コンソールを使用して、Secrets Manager シークレットへの読み取り専用アクセスを許可するポリシーを作成します。

Secrets Manager のIAM読み取りポリシーを作成するには
  1. IAM ポリシーを作成する権限を持つユーザー AWS Management Console として にサインインします。次に、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. ナビゲーションペインの [アクセス管理] で、[ポリシー] を選択します。

  3. [Create policy] を選択します。

  4. JSON タブを選択し、次のJSONポリシードキュメントからテキストをコピーします。次に、JSONテキストボックスに貼り付けます。

    注記

    リージョンとリソースをARN、前に作成した実際のリージョンとARNシークレットに置き換えてください。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": [ "arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:aws/directory-services/d-xxxxxxxxx/seamless-domain-join" ] } ] }
  5. 完了したら、[Next] を選択します。構文エラーがある場合は、ポリシーバリデータが報告します。詳細については、IAM「ポリシーの検証」を参照してください。

  6. [Review policy] (ポリシーの確認) ページで、ポリシー名を入力します (SM-Secret-Linux-DJ-d-xxxxxxxxxx-Read など)。[Summary] (概要) セクションで、ポリシーで付与されているアクセス許可を確認します。[Create Policy] (ポリシーの作成) をクリックし、変更を保存します。新しいポリシーが管理ポリシーのリストに表示されます。これで ID にアタッチする準備は完了です。

注記

シークレットごとに 1 つのポリシーを作成することをお勧めします。そうすることで、インスタンスが適切なシークレットにのみアクセスできるようになり、インスタンスが侵害された場合の影響を最小限に抑えることができます。

LinuxEC2DomainJoin ロールを作成する

IAM コンソールを使用して、Linux EC2インスタンスへのドメイン参加に使用するロールを作成します。

LinuxEC2DomainJoin ロールを作成するには
  1. IAM ポリシーを作成する権限を持つユーザー AWS Management Console として にサインインします。次に、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/

  2. ナビゲーションペインの [Access Management] (アクセス管理) で、[Roles] (ロール) を選択します。

  3. コンテンツペインで、[Create role] (ロールの作成) を選択します。

  4. [Select type of trusted entity] (信頼されたエンティティの種類を選択) の下で、[AWS Service] を選択します。

  5. ユースケース で、 を選択しEC2次へ を選択します。

    IAM コンソールで、信頼できるエンティティを選択する page. AWS service と EC2が選択されます。
  6. [Filter policies] (フィルターポリシー) で、以下を実行します。

    1. AmazonSSMManagedInstanceCore と入力します。次に、リスト内のその項目のチェックボックスをオンにします。

    2. AmazonSSMDirectoryServiceAccess と入力します。次に、リスト内のその項目のチェックボックスをオンにします。

    3. SM-Secret-Linux-DJ-d-xxxxxxxxxx-Read (または前の手順で作成したポリシーの名前) を入力します。次に、リスト内のその項目のチェックボックスをオンにします。

    4. 上記の 3 つのポリシーを追加したら、[ロールを作成] を選択します。

    注記

    mazonSSMDirectoryServiceAccess は、インスタンスを に結合するアクセス許可を提供します。Active Directory によって管理されます AWS Directory Service。mazonSSMManagedInstanceCore は、 AWS Systems Manager サービスを使用するために必要な最小限のアクセス許可を提供します。これらのアクセス許可を持つロールの作成、およびIAMロールに割り当てることができるその他のアクセス許可とポリシーの詳細については、AWS Systems Manager 「 ユーザーガイド」の「Systems Manager のIAMインスタンスプロファイルを作成する」を参照してください。

  7. LinuxEC2DomainJoin[Role name] (ロール名)欄 に、 適宜の別の名前など 新しいロールの名前を入力します。

  8. (オプション) [Role description] (ロールの説明) に、説明を入力します。

  9. (オプション) [ステップ 3: タグの追加][新しいタグの追加] を選択してタグを追加します。タグのキーと値のペアは、このロールのアクセスを整理、追跡、または制御するために使用されます。

  10. [ロールの作成] を選択します。

Linux スタンスを Simple AD Active Directoryにシームレスに結合する

Linux インスタンスをシームレスに結合するには
  1. にサインイン AWS Management Console し、 で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  2. ナビゲーションバーのリージョンセレクタから、既存のディレクトリ AWS リージョン と同じ を選択します。

  3. EC2 ダッシュボードインスタンスを起動 セクションで、インスタンスを起動 を選択します。

  4. インスタンスを起動するページの「名前とタグ」セクションで、Linux EC2インスタンスに使用する名前を入力します。

  5. (オプション) 追加タグを選択して、このEC2インスタンスのアクセスを整理、追跡、または制御する 1 つ以上のタグキーと値のペアを追加します。

  6. Application and OS Image (Amazon Machine Image) セクションで、起動AMIする Linux を選択します。

    注記

    AMI 使用する には AWS Systems Manager 、 (SSM エージェント) バージョン 2.3.1644.0 以降が必要です。その からインスタンスを起動AMIして、 にインストールされているSSMエージェントバージョンを確認するにはAMI、「現在インストールされているSSMエージェントバージョンの取得」を参照してください。SSM エージェントをアップグレードする必要がある場合は、Linux のEC2インスタンスでの SSM エージェントのインストールと設定を参照してください。

    SSM Linux インスタンスを に結合するときに aws:domainJoin プラグインを使用します。Active Directory ドメイン。プラグインは、Linux インスタンスのホスト名を EC2AMAZ- の形式に変更します。XXXXXXX。 の詳細についてはaws:domainJoin、「 ユーザーガイド」のAWS Systems Manager 「コマンドドキュメントプラグインリファレンス」を参照してください。 AWS Systems Manager

  7. [インスタンスタイプ] セクションで、[インスタンスタイプ] ドロップダウンリストから使用するインスタンスタイプを選択します。

  8. [キーペア (ログイン)] セクションで、新しいキーペアを作成するか、既存のキーペアから選択します。新しいキーペアを作成するには、[新しいキーペアの作成] を選択します。キーペアの名前を入力し、[キーペアタイプ] と [プライベートキーファイル形式] のオプションを選択します。Open で使用できる形式でプライベートキーを保存するにはSSH、.pem を選択します。Pu で使用できる形式でプライベートキーを保存するにはTTY、.ppk を選択します。[キーペアの作成] を選択します。ブラウザによって秘密キーファイルが自動的にダウンロードされます。ダウンロードしたプライベートキーのファイルを安全な場所に保存します。

    重要

    プライベートキーのファイルを保存できるのは、このタイミングだけです。

  9. [インスタンスを起動する] ページの [ネットワーク設定] セクションで、[編集] を選択します。ディレクトリVPCが作成された を VPC- 必要なドロップダウンリストから選択します。

  10. サブネットドロップダウンリストから、 内のパブリックVPCサブネットのいずれかを選択します。選択するサブネットで、すべての外部トラフィックがインターネットゲートウェイにルーティングされるように選択する必要があります。そうでない場合は、インスタンスにリモート接続できません。

    インターネットゲートウェイに接続する方法の詳細については、「Amazon VPCユーザーガイド」の「インターネットゲートウェイを使用してインターネットに接続する」を参照してください。

  11. [自動割り当てパブリック IP] で、[有効化] を選択します。

    パブリック IP アドレス指定とプライベート IP アドレス指定の詳細については、「Amazon ユーザーガイド」の「Amazon EC2インスタンス IP アドレス指定」を参照してください。 EC2

  12. [ファイアウォール (セキュリティグループ)] 設定にはデフォルト設定を使用するか、必要に応じて変更を加えることができます。

  13. [ストレージの設定] 設定にはデフォルト設定を使用するか、必要に応じて変更を加えることができます。

  14. [高度な詳細] セクションを選択し、[ドメイン結合ディレクトリ] ドロップダウンリストからドメインを選択します。

    注記

    ドメイン結合ディレクトリを選択すると、次のようになります。

    ドメイン結合ディレクトリを選択する際のエラーメッセージ。既存のSSMドキュメントにエラーがあります。

    このエラーは、EC2起動ウィザードが予期しないプロパティを持つ既存のSSMドキュメントを識別した場合に発生します。次のいずれかを試すことができます。

    • 以前にSSMドキュメントを編集し、プロパティが予想される場合は、閉じるを選択し、変更なしでEC2インスタンスを起動します。

    • 既存のSSMドキュメントを削除するリンクを選択して、SSMドキュメントを削除します。これにより、正しいプロパティを持つSSMドキュメントを作成できます。SSM ドキュメントは、EC2インスタンスの起動時に自動的に作成されます。

  15. IAM インスタンスプロファイル の場合、前提条件セクションのステップ 2: Linux ロール を作成する でIAM以前に作成したロールを選択します。 EC2DomainJoin

  16. Launch instance (インスタンスの起動) を選択します。

注記

SUSE Linux でシームレスなドメイン結合を実行する場合は、認証が機能する前に再起動する必要があります。Linux ターミナルSUSEから再起動するには、sudo reboot と入力します。