MFA を有効化し、その AccessKey を無効化し、日常の操作を RAM ユーザーまたは CloudSSO に委任することで、Alibaba Cloud アカウントを保護します。
セキュリティリスク
Alibaba Cloud アカウントは、すべてのリソースに対する完全な権限を持っています。日常の操作にこのアカウントを使用すると、次のようなリスクが生じます:
悪意のある損害:Alibaba Cloud アカウントの認証情報 (パスワードまたは AccessKey) が漏洩した場合、攻撃者はクラウド環境を完全に制御できるようになります。攻撃者は、サーバーの削除、コアデータの窃取や身代金要求、バックドアの設置、またはリソースを悪用してマイニングなどの悪意のある活動を行う可能性があります。これにより、回復不可能なビジネス上の損失やデータ侵害が発生する可能性があります。
最小権限の原則への違反:日常の操作に Alibaba Cloud アカウントを使用することは、最小権限の原則に違反します。この原則では、タスクの完了に必要な最小限の権限のみを付与することが要求されます。Alibaba Cloud アカウントは、日常の O&M や開発者のニーズをはるかに超える無制限の権限を持っています。
監査の困難性:すべての操作が Alibaba Cloud アカウントによって実行されると、どの従業員またはアプリケーションが機密性の高い操作を実行したかの追跡が困難になり、セキュリティ監査やイベント対応の妨げとなります。
等級保護コンプライアンス:ユーザーとロールの権限を分離し、最小権限の原則に従い、単一の全能アカウントを回避することは、ISO/IEC 27001 や中国のサイバーセキュリティ等級保護制度などのセキュリティコンプライアンス基準の基本要件です。
ベストプラクティス
Alibaba Cloud アカウントの保護
MFA (多要素認証) の有効化:Alibaba Cloud アカウントに 仮想 MFA デバイスをアタッチ します。これにより、パスワード認証に加えて動的な検証コード (モバイルトークンまたはハードウェアで保護されたキー) が追加され、パスワードが漏洩した場合の不正アクセスを防ぎます。
ログイン動作の管理:
リスクコントロールの設定:ログイン頻度を制限します。RAM 管理者の作成やサービスの有効化など、必要な場合にのみログインします。
ログインマスクの設定またはクリア:特定の IP アドレスからのみコンソールにアクセスできるようにします。
セッション期間の設定:自動サインアウト時間をデフォルトの 48 時間から 4 時間以下に短縮します。
Alibaba Cloud アカウントの AccessKey の無効化:代わりに、RAM ユーザーを作成 し、最小権限の原則に基づいて権限を付与します。
定期的な監査と監視:ActionTrail を使用して、Alibaba Cloud アカウントのログインイベントを監視し、異常な挙動を確認します。
日常操作のための RAM ユーザーの使用:アカウント管理者として RAM ユーザーを作成 します。さまざまなロールに対して個別の RAM ユーザーを作成し、必要に応じて権限を付与します。
RAM ユーザーとアクセス制御の計画
職務に基づいてアカウント、ロール、権限を作成します。次の例は、典型的な企業におけるロールの割り当てを示しています:
アカウント管理者
RAM ユーザー、ロール、およびアクセス権限の作成にのみ使用します。このアカウントには
AliyunRAMFullAccessを付与します。他の Alibaba Cloud サービスのリソースを直接管理することはできませんが、特権アカウントを作成できます。これは非常に機密性の高いアカウントであるため、次のように保護します:アカウントの AccessKey を作成しないでください。
同じ権限を持つ RAM ロールを作成しないでください。
MFA を有効にし、ログイン元の IP アドレスを制限してください。
リソース管理者
ECS インスタンス、VPC、vSwitch、ネットワークインターフェースカード、ディスク、セキュリティグループ、スナップショット、イメージなどのリソースの作成と管理に使用します。
AliyunECSFullAccess、AliyunVPCFullAccess、およびAliyunEIPFullAccessポリシーを付与します。RAM ロールを ECS インスタンスにアタッチするには、sts:AssumeRole権限も付与します。提案:多くのクラウドリソースに対して、リソースグループ を使用してリソースを分離します。各リソースグループに個別の ECS リソース管理者アカウントを作成して、権限を水平分離します。
O&M エンジニア
ECS インスタンスにログインして操作 (起動や停止など) を行うユーザーに割り当てます。リソース、ネットワークインターフェースカード、またはディスクを変更する権限は付与しません。RAM 権限をカスタマイズします:
{ "Version": "1", "Statement": [ // 1. リソースステータス閲覧用の読み取り専用権限 { "Effect": "Allow", "Action": [ // ECS リソースの表示 "ecs:DescribeInstances", // インスタンスステータスの表示 "ecs:DescribeInstanceStatus", // インスタンスステータス情報のクエリ "ecs:DescribeNetworkInterfaces", // ネットワークインターフェースカードステータスの表示 "ecs:DescribeDisks", // ディスクステータスの表示 "ecs:DescribeSecurityGroups", // セキュリティグループステータスの表示 "ecs:DescribeSecurityGroupReferences", // 承認済みセキュリティグループのクエリ // VPC と vSwitch の表示 "vpc:DescribeVpcs", // VPC ステータスのクエリ "vpc:DescribeVSwitches", // vSwitch ステータスのクエリ "vpc:DescribeVSwitchAttributes" // vSwitch 詳細設定のクエリ ], "Resource": "*" // すべてのリソースへのアクセスを許可 }, // 2. ワークベンチ権限 (ログインと読み取り) { "Effect": "Allow", "Action": [ "ecs-workbench:LoginInstance", // ワークベンチを使用したインスタンスへのログイン権限 "ecs:DescribeTerminalSessions" // ワークベンチセッションレコードの表示 ], "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 を使用した集中型ID管理
次のいずれかに該当する場合は、CloudSSO を使用します:
複数の従業員が、同じ権限を持つ RAM アカウントを必要としています。
複数の従業員が、1 つの RAM アカウントを共有しています。
従業員が、AccessKey やログインパスワードなどのクラウドプラットフォームの認証情報を漏洩させる可能性があります。
CloudSSO は、リソースディレクトリ (RD) に基づく、マルチアカウントの統合ID管理およびアクセス制御サービスです。 ユーザーは 1 セットの認証情報で一度ログインするだけで、パスワードを再入力することなく、複数のクラウドアプリケーションにアクセスできます。 CloudSSO を使用して、Alibaba Cloud 上の企業ユーザーを一元管理できます。 自社の ID 管理システムと Alibaba Cloud との間で SSO を設定すると、すべての RD アカウントにわたってアクセス権限を一元的に割り当てることができます。
クラウド認証情報不要:従業員は Alibaba Cloud のログインパスワードや AccessKey が不要になり、認証情報の漏洩リスクが軽減されます。
統合ID認証:ユーザーは社内のエンタープライズアカウント (会社のメールボックスや Active Directory アカウントなど) でログインし、シームレスなエクスペリエンスを実現します。
集中型権限管理:アクセス設定を使用して、ユーザーまたはユーザーグループにロール権限をきめ細かく一元的に割り当てます。
標準プロトコルのサポート:SAML 2.0 プロトコルに基づいて、企業の ID プロバイダー (IdP) と統合します。
コンプライアンス
Alibaba Cloud アカウントによって実行された操作の確認
ECS Insight
ECS Insight に移動します。
[セキュリティ] タブをクリックし、次に [機能操作のための RAM ユーザーと RAM ロールの使用] をクリックします。 Alibaba Cloud アカウントを使用してクラウドリソースにログオンし、管理した状況、およびその高頻度の操作を確認します。
ActionTrail
前提条件:単一アカウントの証跡を作成 するか、マルチアカウントの証跡を作成 し、イベントを SLS に配信します。
手順:
ActionTrail コンソールに移動します。ナビゲーションペインで、 を選択します。
[クエリ範囲] セクションで、SLS 追跡 を作成した証跡に設定します。
[クエリ範囲] セクションの [テンプレートライブラリ] タブで、 を選択します。[クラウドアカウントを使用したコンソールログオンのイベント] または [クラウドアカウントの AccessKey ペアを使用したアクセスのイベント] を選択します。
クエリの期間を設定し、[実行] をクリックします。
ActionTrail は、デフォルトで過去 7 日間のイベントをクエリします。
右側のアラートイベントをクリックして、現在のイベントのアラートを設定します。詳細については、「カスタムアラートルールを作成する」をご参照ください。
システムテンプレートのデフォルトの SQL ステートメントを変更し、保存 をクリックしてカスタムテンプレートとして保存します。
クエリ結果を表示します。
Raw ログ: [Raw ログ] タブで、操作 列の [詳細の表示] をクリックすると、イベント詳細と JSON 形式を表示できます。
ヒストグラム: [クエリヒストグラム] タブで、イベント発生ヒストグラムを表示します。