すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:RAM ユーザーによる、root を初期ログインユーザーとする Linux インスタンスの作成を禁止する

最終更新日:Nov 09, 2025

Linux Elastic Compute Service (ECS) インスタンスを作成するとき、初期ログインユーザーを root または ecs-user に設定できます。root ユーザーは最高のシステム権限を持っています。root ユーザーのログイン認証情報が漏洩した場合、攻撃者はシステムを完全にコントロールし、重要なデータの削除、マルウェアのインストール、機密情報の窃取などの悪意のある操作を実行する可能性があります。さらに、root ユーザーによって実行された操作は完全にはログに記録されない場合があり、追跡や監査が困難になります。Alibaba Cloud では、サポートされているオペレーティングシステムイメージの初期ログインユーザーとして、ecs-user 一般ユーザーを使用することを推奨しています。このトピックでは、Resource Access Management (RAM) アクセスポリシーを使用して、RAM ユーザーが root を初期ログインユーザーとして Linux インスタンスを作成することを禁止する方法について説明します。

制限事項

  • Windows インスタンスは、インスタンス作成時に管理者以外のユーザーの作成をサポートしていません。したがって、このトピックで説明するアクセスポリシーを使用して Windows インスタンスを作成しないでください。

  • 一部の Linux インスタンスは、インスタンス作成時に ecs-user 一般ユーザーの作成をサポートしていません。サポートされていない Linux イメージのバージョンについての詳細については、「パブリックイメージのリリースノート」をご参照ください。

手順

次の例では、Alice という名前の RAM ユーザーが、root を初期ログインユーザーとして Linux インスタンスを作成することを禁止する方法を示します。

  1. RAM コンソールで、Alice という名前の RAM ユーザーを作成します。

    詳細については、「RAM ユーザーの作成」をご参照ください。

  2. RAM コンソールで、ecs-root-user-control という名前のアクセスポリシーを作成します。スクリプトエディターで、次のポリシー内容を追加します。

    説明

    このポリシーは、ECS インスタンスを作成する際にログインユーザー名を root に設定する権限を拒否します。また、システムディスクを置き換えることによって root ユーザーのログイン認証情報をリセットする権限も拒否します。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "ecs:RunInstances",
                    "ecs:CreateInstance",
                    "ecs:CreateOrder",
                    "ecs:ReplaceSystemDisk",
                    "ecs:AttachDisk",
                    "ecs:InvokeCommand"
                ],
                "Resource": "*",
                "Condition": {
                    "Bool": {
                        "ecs:LoginAsNonRoot": [
                            "false"
                        ]
                    }
                },
                "Effect": "Deny"
            }
        ]
    }
  3. ecs-admin という名前の別のアクセスポリシーを作成します。スクリプトエディターで、次のポリシー内容を追加します。

    説明

    このポリシーは、インスタンスの購入、管理、表示を含む ECS インスタンスを管理する権限を付与します。このポリシーは、この例で ECS 管理者をシミュレートするために使用されます。必要に応じてポリシーを変更できます。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ecs:*",
            "ecs-workbench:*",
            "vpc:CheckCanAllocateVpcPrivateIpAddress",
            "vpc:DescribeVpcs",
            "vpc:DescribeVSwitches",
            "bss:ModifyAgreementRecord",
            "bss:DescribeOrderList",
            "bss:DescribeOrderDetail",
            "bss:PayOrder",
            "bss:CancelOrder"
          ],
          "Resource": "*"
        }
      ]
    }
  4. RAM コンソールで、RAM ユーザー Alice に権限を付与します。

    承認範囲を [アカウントレベル] に設定します。プリンシパルには、RAM ユーザー Alice を選択します。権限には、作成したカスタムポリシーである ecs-root-user-control と ecs-admin を選択します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

    image

結果の検証

RAM ユーザー Alice として Alibaba Cloud 管理コンソールにログインします。

詳細については、「RAM ユーザーとして Alibaba Cloud 管理コンソールにログイン」をご参照ください。

検証項目 1: root をログインユーザーとして ECS インスタンスを作成する

  1. インスタンス購入ページに移動します。

  2. [カスタム起動] タブをクリックします。

  3. 課金方法、リージョン、インスタンスタイプ、イメージ、およびその他の構成を選択します。ログインユーザー名を root に設定します。詳細については、「ウィザードを使用してインスタンスを作成する」をご参照ください。

    image

  4. 注文を確定すると、インスタンスの作成が失敗したことを示すメッセージが表示されます。

検証項目 2: 既存の ECS インスタンスのシステムディスクを置き換えて root ユーザーの認証情報をリセットする

  1. オペレーティングシステムの交換ページに移動します。

    1. ECS コンソール - インスタンスに移動します。

    2. 上部のナビゲーションバーで、ECS インスタンスのリージョンを選択します。image.png

    3. インスタンスの詳細ページに移動します。[詳細] をクリックし、[オペレーティングシステムの交換] を検索してクリックします。

  2. オペレーティングシステムを置き換える前に、事前チェックを実行します。

    1. [オペレーティングシステムの交換] ダイアログボックスで、[システムディスクの交換] を選択します。

    2. システムは自動的に事前チェックを実行します。これには約 10 秒かかります。

      • [事前チェック] 列に image が表示されている場合、事前チェックは成功です。

      • [事前チェック] 列に image が表示されている場合、事前チェックは失敗です。画面の指示に従って問題を修正し、再度オペレーティングシステムの交換を試みてください。

    3. オペレーティングシステムの交換に関する注意事項を読みます。[リスクを認識し、続行することを確認します] を選択し、[オペレーティングシステムの交換を続行] をクリックします。

  3. [オペレーティングシステムの交換] ダイアログボックスで、新しいオペレーティングシステムの情報を構成します。root ユーザーの認証情報を設定します。image

  4. 費用の詳細を表示し、[インスタンスを停止して続行] をクリックします。 操作が失敗したことを示すメッセージが表示されます。