ワークロードをクラウドに移行した後、Resource Access Management (RAM) を使用して、ユーザー ID とリソースアクセス権限をきめ細かく管理できます。 RAM を使用すると、従業員、システム、プログラムなどのエンティティの RAM ユーザーを作成および管理できます。 RAM ユーザーの権限を管理して、Alibaba Cloud リソースへのアクセスを制御できます。 このトピックでは、RAM を使用して企業の Alibaba Cloud リソースのセキュリティを確保するためのベストプラクティスについて説明します。
ID 管理
一般原則
Alibaba Cloud アカウントのルートユーザーの使用を避ける
Alibaba Cloud に登録すると、Alibaba Cloud アカウントが作成されます。 個人開発者として Alibaba Cloud に登録する場合は、個人の実名登録情報を追加できます。 企業として Alibaba Cloud に登録する場合は、企業の実名登録情報、請求先アカウント、契約情報、請求書情報を追加できます。
デフォルトでは、Alibaba Cloud アカウントにはルートユーザーがいます。 ルートユーザーは、Alibaba Cloud アカウントのユーザー名とパスワードを使用して、Alibaba Cloud 管理コンソールにログインします。 ルートユーザーを使用する場合、以下のリスクが発生する可能性があります。
フルパーミッションによる高リスク: デフォルトでは、ルートユーザーは Alibaba Cloud アカウントのフルパーミッションを持っています。 Alibaba Cloud アカウントのユーザー名とパスワードが漏洩した場合、リスクは非常に高くなります。
パスワード漏洩の可能性が高い: 複数の従業員がルートユーザーを使用できる場合、全員が Alibaba Cloud アカウントのユーザー名とパスワードを知っています。 これにより、パスワード漏洩の可能性が高まります。
追跡が困難: 複数の従業員がルートユーザーを使用できる場合、操作ログで実際のオペレーターを特定できません。 これにより、追跡が不可能になります。
ルートユーザーの AccessKey ペアを作成する場合、以下のリスクが発生する可能性があります。
フルパーミッションによる高リスク: ルートユーザーの AccessKey ペアは、Alibaba Cloud アカウントのフルパーミッションを持っています。 AccessKey ペアが漏洩した場合、リスクは非常に高くなります。
AccessKey ペア漏洩の深刻な負の影響: AccessKey ペアは永続的な認証情報です。 オンラインワークロードにルートユーザーの AccessKey ペアを使用し、AccessKey ペアが漏洩した場合、AccessKey ペアを無効にするとオンラインワークロードに影響します。 AccessKey ペアを無効にしないことを選択した場合、AccessKey ペアの権限を制限できないため、関連するリスクは存続します。
Alibaba Cloud アカウントのセキュリティを確保するために、以下の手順に従うことをお勧めします。
Alibaba Cloud アカウントのユーザー名とパスワードは管理者が保管し、複数の従業員で共有しないようにしてください。
バインドするUniversal 2nd Factor (U2F) セキュリティキー Alibaba Cloud アカウントのルートユーザーに対して、Alibaba Cloud アカウントのユーザー名とパスワードに加えて保護レイヤーを追加します。
必要な場合にのみ、Alibaba Cloud アカウントのユーザー名とパスワードを使用して Alibaba Cloud 管理コンソールにログインしてください。
Alibaba Cloud アカウントの AccessKey ペアの使用は避けてください。
RAM ID を使用して Alibaba Cloud にアクセスする
企業の従業員とプログラムが Alibaba Cloud リソースにアクセスする必要がある場合は、従業員とプログラムに RAM ID を割り当てる必要があります。 従業員とプログラムの RAM ユーザーを作成できます。 その後、RAM ユーザーに異なるポリシーをアタッチできます。 これにより、きめ細かいアクセスコントロールが保証され、日常の O&M を実行するために Alibaba Cloud アカウントを使用する必要がなくなります。 詳細については、「RAM ユーザーを作成する」をご参照ください。
従業員からのアクセス: シングルサインオン (SSO) をお勧めします。 SSO を使用できない場合は、パスワードベースのコンソールログインを有効にする際に MFA デバイスをバインドする 必要があります。 RAM ユーザーを複数の従業員で共有しないことをお勧めします。 RAM ユーザーが複数の従業員で共有されている場合、パスワード漏洩のリスクが増加し、監査で実際のオペレーターを特定できなくなり、内部管理がより困難になります。
プログラムからのアクセス: セキュリティトークンサービス (STS) トークンは一時的な認証情報です。 Alibaba Cloud にデプロイされたプログラムには、認証情報の漏洩リスクを軽減するために STS トークンをお勧めします。 詳細については、「API オペレーションを呼び出すためのアクセス認証情報の使用に関するベストプラクティス」をご参照ください。 プログラムが Alibaba Cloud にデプロイされていない場合、または開発やデバッグなどのシナリオで AccessKey ペアが必要な場合は、RAM ユーザーの AccessKey ペアを作成できます。 詳細については、「RAM ユーザーの AccessKey ペアを作成する」をご参照ください。 各 RAM ユーザーにつき最大 2 つの AccessKey ペアを作成できます。 1 つの AccessKey ペアはビジネスに使用され、もう 1 つはローテーションに使用されます。 詳細については、「RAM ユーザーの AccessKey ペアをローテーションする」をご参照ください。
従業員管理
SSO を使用する
従業員からのアクセスには SSO をお勧めします。 SSO が有効になると、企業のすべての内部アカウントが認証されます。 その後、RAM ユーザーは内部アカウントを使用して Alibaba Cloud にログインし、リソースにアクセスできます。 SSO 認証は企業の ID システムによって実行されるため、Alibaba Cloud で RAM ユーザーのパスワードを設定する必要はありません。 これにより、パスワード漏洩のリスクが軽減されます。 詳細については、「SSO の概要」をご参照ください。
RAM ユーザーのパスワードポリシーを構成する
SSO を使用できない場合は、従業員用に RAM ユーザーを作成する必要があります。 これにより、従業員はパスワードを使用してコンソールにログインできます。 RAM コンソールでパスワードポリシーを構成できます。 ポリシーでは、パスワードの長さ、必要な文字タイプ、有効期間を指定できます。 詳細については、「RAM ユーザーのパスワードポリシーを構成する」をご参照ください。 RAM ユーザーにログインパスワードの変更を許可する場合、RAM ユーザーは強力なログインパスワードを作成し、定期的にパスワードを変更する必要があります。
RAM ユーザーの MFA を有効にする
アカウントのセキュリティを強化するために、RAM ユーザーの MFA を有効にできます。 これにより、ユーザー名とパスワードに加えて、保護の層が追加されます。
MFA を有効にして MFA デバイスを RAM ユーザーにバインドした後、RAM ユーザーは Alibaba Cloud 管理コンソールにログインするか、コンソールで機密性の高い操作を実行する際に、次の手順を実行する必要があります。
RAM ユーザーのユーザー名とパスワードを入力します。
仮想 MFA デバイスによって生成されるか、メールアドレスに送信される確認コードを入力します。 または、パスキーを使用して認証を通過します。
2025 年 3 月 17 日から、すべての RAM ユーザーに対してデフォルトでログイン MFA が有効になります。 パスワード漏洩のリスクを軽減するために、デフォルト構成を変更しないことをお勧めします。 すべての RAM ユーザーがコンソールにログインするたびに MFA を実行したくない場合は、[RAM ユーザーサインインの MFA] パラメーターを [サインインが異常な場合のみ] に設定することをお勧めします。 この場合、すべての RAM ユーザーは MFA デバイスをバインドする必要がありますが、MFA は Alibaba Cloud が例外を検出した場合にのみ必要です。 これにより、ログイン認証の頻度が減少します。 詳細については、「RAM ユーザーに MFA デバイスをバインドする」をご参照ください。
ログインにパスキーを使用する
パスキーは、パスワードの代わりとして使用できる安全な認証方法です。 RAM ユーザーは、ログインと MFA にパスキーを使用できます。 詳細については、「パスキーとは」をご参照ください。 パスキーを使用すると、ラップトップ、携帯電話、またはその他のデバイスに組み込まれている認証方法をログインまたは MFA に使用できます。 組み込みの認証方法には、指紋認識、顔認識、PIN コードが含まれます。 詳細については、「RAM ユーザーにパスキーをバインドする」をご参照ください。
パスキーを使用して RAM ユーザーとしてコンソールに直接ログインする場合、MFA は必要ありません。
RAM ユーザーに MFA デバイスをバインドすることをお勧めします。 これにより、パスキーを使用できない場合に、パスワードと MFA デバイスを使用してコンソールにログインできます。
RAM ユーザーをグループ化する
Alibaba Cloud アカウントに複数の RAM ユーザーがいる場合は、責任に基づいて RAM ユーザーをグループ化し、グループに権限を付与できます。 詳細については、「RAM ユーザーグループの概要」、「RAM ユーザーグループを作成する」、および「RAM ユーザーグループに権限を付与する」をご参照ください。
コンソールログインに使用される送信元 IP アドレスを制限する
ネットワークアクセス制御ポリシーを構成して、指定された IP アドレスまたは CIDR ブロックのみが Alibaba Cloud 管理コンソールにログインできるようにすることができます。 これにより、信頼できるネットワーク環境から開始されたアクセスのみが許可されます。 詳細については、「ネットワークアクセス制御の設定」をご参照ください。
AccessKey ペア管理
プログラムからのアクセスに一時的な認証情報を使用する
各 AccessKey ペアは、AccessKey ID と AccessKey シークレットで構成されています。AccessKey ペアは、Alibaba Cloud が Alibaba Cloud アカウントと RAM ユーザーに提供する永続的なアクセス資格情報です。AccessKey ペアを不適切に使用すると、リスクが生じます。たとえば、プログラム開発者がプレーンテキストの AccessKey ペアをコードに書き込み、GitHub などのパブリックリポジトリにコードをアップロードすると、AccessKey ペアが漏洩し、ビジネス損失が発生します。
永続的な AccessKey ペアを使用する代わりに、RAM ロールを偽装して一時的な STS トークンを取得することをお勧めします。STS トークンが生成されると、RAM ロールの最大セッション期間が経過した後、自動的に無効になります。これにより、アクセス資格情報の漏洩のリスクが大幅に軽減されます。
Alibaba Cloud にデプロイされたプログラムには、AccessKey ペアの代わりに STS トークンをお勧めします。 詳細については、「API オペレーションを呼び出すためのアクセス認証情報の使用に関するベストプラクティス」をご参照ください。
ハードコードされたプレーンテキストの AccessKey ペアを避ける
プログラム開発者がプレーンテキストの AccessKey ペアをコードに書き込み、GitHub などのコードリポジトリにアップロードしたり、コードを共有したりすると、AccessKey ペアが漏洩します。
AccessKey ペアが必要な場合は、Alibaba Cloud Credentials ツールまたは Key Management Service (KMS) を使用するか、システム環境変数を構成して AccessKey ペアを管理できます。 詳細については、「RAM シークレットを管理および使用する」をご参照ください。 AccessKey ペアが漏洩した場合は、できるだけ早く新しい AccessKey ペアを使用して漏洩した AccessKey ペアを置き換える必要があります。 詳細については、「API オペレーションを呼び出すためのアクセス認証情報の使用に関するベストプラクティス」をご参照ください。
不要になった RAM ユーザーと AccessKey ペアを削除する
退職した従業員と以前のパートナーの RAM ユーザーと AccessKey ペアを削除しないと、彼らは引き続き企業のクラウド リソースにアクセスでき、認証情報の盗難が発生する可能性があります。 RAM ユーザーと AccessKey ペアが長期間使用されず、管理されていない場合、盗難をタイムリーに検出できません。
2024 年 9 月から、Alibaba Cloud はアイドル状態の RAM ユーザーと AccessKey ペアの自動無効化を段階的に実装します。 自動無効化機能は、毎日対象となる AccessKey ペアを無効にします。 RAM ユーザーは、過去 2 年以内にコンソールにログインしていない場合、アイドル状態と見なされます。 AccessKey ペアは、過去 2 年以内に使用されていない場合、アイドル状態と見なされます。
AccessKey ペアベースの API 呼び出しに使用される送信元 IP アドレスを制限する
ネットワークアクセス制御の AccessKey ペアベースのポリシーを構成して、指定された IP アドレスのみが AccessKey ペアを使用して Alibaba Cloud API オペレーションを呼び出すことができるようにすることができます。 これにより、信頼できるネットワーク環境で AccessKey ペアを使用して API オペレーションが呼び出されます。 詳細については、「ネットワークアクセス制御の AccessKey ペアベースのポリシーを構成する」をご参照ください。
AccessKey ペアが漏洩しているか、漏洩している可能性がある場合は、AccessKey ペアのネットワークアクセス制御ポリシーを構成して、信頼できるネットワーク環境でのみ API 呼び出しを許可し、疑わしい外部呼び出しをブロックします。
各アカウントのネットワーク状態を確認し、アカウントレベルの AccessKey ペアベースまたは AccessKey ペアレベルのネットワークアクセス制御ポリシーを構成して、疑わしい外部呼び出しを防ぎます。
権限管理
最小権限の原則に基づいて権限を付与する
RAM ID にポリシーをアタッチして、リソースへの RAM ID のアクセス権限を制限できます。 RAM ID は、RAM ユーザー、RAM ユーザーグループ、RAM ロールです。 過剰な権限によるセキュリティリスクを回避するために、最小権限の原則に従い、必要な権限のみを付与することをお勧めします。
ポリシーは、システムポリシーとカスタムポリシーに分類されます。 システムポリシーは、Alibaba Cloud によって作成および更新されます。 システムポリシーを使用できますが、変更することはできません。 カスタムポリシーは、ユーザーによって作成および更新されます。 ビジネス要件に合わせて、カスタムポリシーを作成、変更、削除、およびアップグレードできます。 詳細については、「ポリシーの概要」をご参照ください。 カスタムポリシーを使用して、きめ細かい権限管理を実装できます。 詳細については、「カスタムポリシーを作成する」をご参照ください。
ポリシーの condition 要素を指定してセキュリティを強化する
カスタム ポリシーで条件要素を指定して、リソースへのアクセスを制限できます。たとえば、リソース アクセスに対して承認済みの期間と承認済みの IP アドレスを指定できます。詳細については、「条件」をご参照ください。
特定の IP アドレスまたは CIDR ブロックを使用して Alibaba Cloud リソースにアクセスする、指定された期間に Alibaba Cloud にアクセスする、および 指定されたメソッドを使用して Alibaba Cloud にアクセスする。