Alibaba Cloud アカウントは、Alibaba Cloud にサインアップするときに作成するアカウントです。このアカウントは、すべてのリソースに対する完全な管理権限を持っています。アカウントのセキュリティを確保するため、日常の操作で Alibaba Cloud アカウントを使用することは避けてください。Alibaba Cloud アカウントの AccessKey を作成せず、パスワードを安全に保ち、多要素認証 (MFA) を有効にすることをお勧めします。
セキュリティリスク
Alibaba Cloud アカウントは、すべてのリソースに対して最高レベルの権限を持っています。日常の操作で Alibaba Cloud アカウントを使用すると、次のセキュリティリスクが生じる可能性があります:
悪意のある損害: Alibaba Cloud アカウントの認証情報 (パスワードまたは AccessKey) が漏洩した場合、攻撃者はクラウドアセットを完全に管理できるようになります。攻撃者は、すべてのサーバーを削除したり、コアデータを盗んだり、身代金目的で保持したり、バックドアをインストールしたり、マイニングなどの悪意のあるアクティビティにリソースを使用したりする可能性があります。これにより、回復不可能なビジネス上の損失やデータ侵害が発生する可能性があります。
コアセキュリティ原則の違反: 日常の操作で Alibaba Cloud アカウントを使用することは、最小権限の原則に直接違反します。この原則では、ユーザーまたはシステムには、タスクを完了するために必要な最小限の権限のみを付与する必要があります。Alibaba Cloud アカウントの権限は無制限であり、日常の運用および保守 (O&M) や開発者のタスクに必要な権限をはるかに超えています。
監査の困難さ: すべての操作が Alibaba Cloud アカウントによって実行されると、どの従業員またはアプリケーションが機密性の高い操作を実行したかを追跡することが困難になります。これは、セキュリティ監査とイベント対応にとって大きな課題となります。
分類保護コンプライアンス: ユーザーとロールの権限を分離し、最小権限の原則に従い、単一の全能の Alibaba Cloud アカウントの使用を避けることは、ISO/IEC 27001 や中国のサイバーセキュリティの分類保護など、主要なセキュリティコンプライアンス基準の基本要件です。
ベストプラクティス
Alibaba Cloud アカウントの保護を強化する
MFA を有効にする: Alibaba Cloud アカウントに 仮想 MFA デバイスをアタッチまたはデタッチします。これにより、パスワード認証に加えて、モバイルトークンやハードウェアで保護されたキーなどの動的検証コードが追加され、パスワードが漏洩した場合の不正アクセスを防ぎます。
Alibaba Cloud アカウントのログイン動作を厳密に管理する:
リスクガバナンスを有効にする: Alibaba Cloud アカウントのログイン頻度を制限します。RAM 管理者の作成やサービスの有効化など、必要な場合にのみログインしてください。日常の操作でのログインは避けてください。
ログインマスクを設定またはパージする: 特定の IP アドレスのみがコンソールにアクセスできるようにします。
アカウントのセッション期間を設定する: 自動サインアウト時間をデフォルトの 48 時間から 4 時間以下に変更します。
Alibaba Cloud アカウントの AccessKey を無効にする: Alibaba Cloud アカウントの AccessKey を使用しないでください。代わりに、RAM ユーザーを作成し、最小権限の原則に基づいて権限を付与します。
定期的な監査と監視を実行する: ActionTrail を使用して、Alibaba Cloud アカウントのログインイベントを監視し、定期的に異常な動作を確認します。
日常の操作には Resource Access Management (RAM) ユーザーを使用する: アカウント管理者として RAM ユーザーを作成します。さまざまなロールに対して個別の RAM ユーザーを作成し、必要に応じて権限を付与します。
RAM ユーザーを計画し、アクセス制御ポリシーを設定する
詳細な権限管理と最小権限の原則を実装するために、職務に基づいてアカウント、ロール、および権限を作成できます。次のセクションでは、一般的なエンタープライズシナリオで職務に基づいてアカウントを作成し、ロールをアタッチする方法の例を示します:
アカウント管理者
このアカウントは、RAM ユーザーとロールの作成、およびアクセス権限の定義と割り当てにのみ使用されます。このアカウントには
AliyunRAMFullAccess権限を付与できます。このアカウントは他の Alibaba Cloud サービスのリソースを直接管理することはできませんが、特権アカウントを作成できます。したがって、これは非常に機密性の高いアカウントであり、次のプラクティスに従って保護する必要があります:アカウントの AccessKey を作成しないでください。
同じ権限を持つ RAM ロールを作成しないでください。
MFA を有効にし、ログイン元の IP アドレスを制限します。
リソース管理者
このアカウントを使用して、ECS インスタンス、VPC、vSwitch、NIC、ディスク、セキュリティグループ、スナップショット、イメージなどのリソースを作成および管理できます。
AliyunECSFullAccess、AliyunVPCFullAccess、およびAliyunEIPFullAccessポリシーを付与できます。RAM ロールを ECS インスタンスにアタッチするには、sts:AssumeRole権限も付与する必要があります。提案: 多くのクラウドリソースがある場合は、リソースグループを使用してリソースを分離します。各リソースグループに個別の ECS リソース管理者アカウントを作成して、権限を水平に分離します。
O&M エンジニア
このアカウントは、ECS インスタンスにログインして操作するユーザー (たとえば、インスタンスの起動と停止) に割り当てられます。リソース、NIC、またはディスクを変更する権限は付与されません。これらのユーザーに対して RAM 権限をカスタマイズできます:
{ "Version": "1", "Statement": [ // 1. リソースステータスを表示するための読み取り専用権限 { "Effect": "Allow", "Action": [ // ECS リソースの表示 "ecs:DescribeInstances", // インスタンスステータスの表示 "ecs:DescribeInstanceStatus", // インスタンスステータス情報のクエリ "ecs:DescribeNetworkInterfaces", // NIC ステータスの表示 "ecs:DescribeDisks", // ディスクステータスの表示 (ドキュメントのコンテキストから推測) "ecs:DescribeSecurityGroups", // セキュリティグループステータスの表示 "ecs:DescribeSecurityGroupReferences", // 承認済みセキュリティグループのクエリ // VPC と vSwitch の表示 "vpc:DescribeVpcs", // VPC ステータスのクエリ "vpc:DescribeVSwitches", // vSwitch ステータスのクエリ "vpc:DescribeVSwitchAttributes" // 詳細な vSwitch 構成のクエリ ], "Resource": "*" // すべてのリソースへのアクセスを許可 }, // 2. Workbench 権限 (ログインと読み取り) { "Effect": "Allow", "Action": [ "ecs-workbench:LoginInstance", // Workbench を使用してインスタンスにログインする権限 "ecs:DescribeTerminalSessions" // Workbench セッションレコードの表示 ], "Resource": "*" }, // 3. クラウドアシスタント権限 (読み取り、ログイン、コマンド実行) { "Effect": "Allow", "Action": [ // クラウドアシスタントの読み取り権限 "ecs:DescribeCommands", // コマンドリストの表示 "ecs:DescribeInvocations", // コマンド実行レコードの表示 "ecs:DescribeInvocationResults", // コマンド実行結果の表示 "ecs:DescribeCloudAssistantStatus", // クラウドアシスタントのステータスのクエリ // クラウドアシスタントを使用したコマンド実行権限 "ecs:InvokeCommand", // コマンドの実行 "ecs:RunCommand" // コマンドの即時実行 ], "Resource": "*", // コマンドの実行を一般ユーザーに制限 (セキュリティのベストプラクティス) "Condition": { "StringNotEqualsIgnoreCase": { "ecs:CommandRunAs": ["system", "root"] // root または system アカウントの使用を禁止 } } } ] }注: 上記のポリシーでは、
"Resource": "*"はすべてのインスタンスを管理できることを示します。リスクを軽減するため、次のことをお勧めします:
リソースグループまたはタグを使用して、操作の範囲を制限します。
ワイルドカード文字の代わりに、より詳細なリソース ARN を使用して、必要に応じて権限を付与します。
アプリケーションロール
アプリケーションは、OSS や Simple Log Service (SLS) などの Alibaba Cloud サービスにアクセスする必要がある場合もあります。アプリケーション専用のアカウントまたはロールを作成する必要があります。ユーザーとアプリケーション間、または異なるアプリケーション間でアカウントを共有しないでください:
アプリケーションのアカウントがコンソールにログインすることを禁止します。
アプリケーションが ECS (コンテナーサービスを含む) にデプロイされている場合は、AccessKey を使用しないでください。セキュリティを向上させるために、インスタンスに RAM ロールをアタッチすることをお勧めします。
CloudSSO を使用してアカウントを認証する
次のシナリオに遭遇した場合は、CloudSSO を使用して、安全で一元化された ID 管理とアクセス制御を実装することをお勧めします。
複数の従業員に対して同じ権限を持つ RAM アカウントを作成する必要があります。
複数の人が 1 つの RAM アカウントを共有しています。
従業員が AccessKey やログインパスワードなどのクラウドプラットフォームの認証情報を漏洩する懸念があります。
CloudSSO (Cloud Single Sign-On) は、Alibaba Cloud がリソースディレクトリ (RD) に基づいて提供するマルチアカウントの統合 ID 管理およびアクセス制御サービスです。これにより、ユーザーは 1 組の認証情報で一度ログインするだけで、ユーザー名とパスワードを再入力することなく、複数のクラウドアプリケーションやサービスにアクセスできます。CloudSSO を使用して、企業内で Alibaba Cloud を使用するユーザーを一元管理できます。企業の ID 管理システムと Alibaba Cloud の間でシングルサインオン (SSO) を設定すると、RD 内のアカウントに対するすべてのユーザーのアクセス権限を一元的に設定できます。
クラウド認証情報が不要: 従業員は Alibaba Cloud のログインパスワードや AccessKey を知る必要がなくなります。これにより、認証情報の漏洩リスクが軽減されます。
統合 ID 認証: ユーザーは、社内の企業アカウント (会社のメールボックスや Active Directory (AD) アカウントなど) とパスワードでログインし、シームレスな統合エクスペリエンスを実現します。
一元化された権限管理: アクセス構成 (Permission Sets) を使用して、ユーザーまたはユーザーグループにロール権限を一元的に割り当てます。詳細な制御がサポートされています。
標準プロトコルのサポート: SAML 2.0 プロトコルに基づいてエンタープライズ IdP と統合し、認証のセキュリティを確保します。
詳細については、「CloudSSO の使用を開始する」をご参照ください。
コンプライアンス機能
Alibaba Cloud アカウントによって実行された操作の確認
ECS インサイト
ECS 使用成熟度評価とインサイトに移動します。
[セキュリティ] タブをクリックします。 [機能操作における RAM ユーザーと RAM ロールの使用] チェック項目をクリックします。 Alibaba Cloud アカウントによるログインとクラウドリソース管理のケース、および Alibaba Cloud アカウントの高頻度操作を表示できます。
ActionTrail
前提条件: トレイルを作成し、イベントを SLS に配信する必要があります。詳細については、「シングルアカウントトレイルの作成」および「マルチアカウントトレイルの作成」をご参照ください。
手順:
ActionTrail コンソールに移動します。左側のナビゲーションウィンドウで、 を選択します。
[クエリスコープ] セクションで、[トレイル] を作成したトレイルに設定します。
[クエリスコープ] セクションの [テンプレートライブラリ] タブで、 を選択します。[Alibaba Cloud アカウントのログインイベントのクエリ] または [Alibaba Cloud アカウント AK のアクセスイベントのクエリ] を選択します。
クエリの時間範囲を設定し、[実行] をクリックします。
デフォルトでは、ActionTrail は過去 7 日間のイベントをクエリします。
右側の [イベントアラート] をクリックして、現在のイベントのアラートを設定できます。詳細については、「カスタムアラートルールの作成」をご参照ください。
システムテンプレートのデフォルトの SQL 文を変更し、[保存] をクリックして、後で使用するためにカスタムテンプレートとして保存できます。
クエリ結果を表示します。
Raw ログ: [Raw ログ] タブで、ターゲットイベントの [アクション] 列にある [イベント詳細の表示] をクリックして、イベントの基本情報と JSON フォーマットを表示します。
ヒストグラム: [クエリ結果ヒストグラム] タブで、イベント発生のヒストグラムを表示します。