このトピックでは、Alibaba Cloud Resource Access Management (RAM) のコアコンセプト、主な特徴、およびセキュリティガイドラインについて説明します。RAM を使用してクラウドリソースへのアクセスを保護する方法を理解するのに役立ちます。
Resource Access Management とは
Resource Access Management (RAM) は、ユーザー ID とリソースへのアクセス権限を一元管理できる Alibaba Cloud サービスです。RAM を使用すると、さまざまな ID を作成および管理し、それらに詳細な権限を付与して、クラウドリソースへのアクセスを保護できます。
課金
RAM は無料のサービスです。Alibaba Cloud アカウントが本人確認を完了すると使用できます。
Resource Access Management が必要な理由
日常業務で Alibaba Cloud アカウントを使用または共有すると、次の管理上およびセキュリティ上の課題が生じます。
過剰な権限とセキュリティリスク: Alibaba Cloud アカウントは、その配下にあるすべてのリソースに対して最高レベルの権限を持っています。アカウントを共有すると、権限の乱用につながりやすく、どのユーザーにも完全な制御が与えられてしまいます。認証情報が漏洩した場合、アカウント配下のすべてのクラウドリソースが非常に高いセキュリティリスクにさらされます。
説明責任の欠如: すべての操作記録は Alibaba Cloud アカウントに帰属します。セキュリティインシデントが発生した場合、操作を実行した特定の個人を特定できません。これにより、セキュリティ監査と説明責任の追跡が困難になります。
職務の分離の難しさ: 金融スタッフには「請求書の閲覧のみ」、開発者には「特定の環境での操作のみ」といった権限を設定できません。これは、セキュリティ管理の最小権限の原則に違反します。
RAM は、個別の ID を作成し、それらに正確な権限を付与することで、これらの問題を効果的に解決します。これは、クラウリソースを保護するための基本です。
用語
ID とは
ID とは、クラウド内のリソースにアクセスして操作を実行できるエンティティです。また、権限がアタッチされるプリンシパルでもあります。クラウドにおける ID の主な種類は、ヒューマン ID とプログラム ID の 2 つです。
ヒューマン ID: セキュリティ管理者、運用保守 (O&M) スタッフ、開発者など、組織の従業員やメンバーを表します。ヒューマン ID は、コンソールやコマンドラインインターフェイス (CLI) などの対話的な方法でクラウドリソースにアクセスして操作します。
プログラム ID: 通常、API を介して非対話的にクラウドリソースやデータにアクセスするアプリケーションやサービスを表します。プログラム ID は、自動化スクリプト、アプリケーション開発、サービス統合などのシナリオに適しています。
認証とは
認証とは、ユーザーの ID を検証するプロセスです。ユーザーは、自身の ID を証明するために、ユーザー名やパスワードなどの認証情報を提供する必要があります。
認証情報には、ユーザー名とパスワード、ワンタイム認証コード、プログラム ID の AccessKey ペアなど、さまざまな形式があります。
セキュリティを強化するため、多要素認証 (MFA) では、パスワードとワンタイム認証コードの組み合わせなど、少なくとも 2 種類の認証情報を提供して ID を検証する必要があります。シングルサインオン (SSO) を使用すると、一度認証に成功すれば、再度ログインすることなく、信頼できるすべてのアプリケーションやリソースにアクセスできます。
権限付与とは
権限付与とは、認証された ID が特定のリソースにアクセスする権限を持っているかどうかを確認するプロセスです。
認証と権限付与の主な違いは次のとおりです。
認証は、「あなたは誰ですか?」という問いに答えます。これはあなたの ID を証明します。
権限付与は、「あなたは何ができますか?」という問いに答えます。これは権限を付与または拒否します。
認証は権限付与の前提条件です。ID が認証された後、どのリソースにアクセスでき、どの操作を実行できるかを決定するために権限付与される必要があります。
さまざまな種類の ID に異なる権限を付与することで、クラウドリソースの詳細な制御が可能になります。これにより、各 ID は自身の責任範囲内でのみリソースにアクセスし、操作を実行できるようになります。
RAM のコア機能
ID 管理: RAM ユーザー、RAM ユーザーグループ、RAM ロールなど、さまざまな ID を作成および管理します。
ID 認証: パスワード、AccessKey ペア、MFA、SSO など、複数の認証方式を提供します。
権限管理: アクセスポリシーに基づいて、ID に対する詳細なアクセス制御を実装します。
ID フェデレーション: エンタープライズ ID システムと統合して、統一された ID 管理とシングルサインオンを実現します。
権限監査: RAM ID が所有する権限を特定し、権限が最後にアクセスされた日時を記録します。
RAM の ID タイプ
RAM は、RAM ユーザー、RAM ユーザーグループ、RAM ロールの 3 種類の ID を提供します。RAM ユーザーグループは、RAM ユーザーを分類および管理するために使用されるコレクションです。RAM ユーザーと RAM ロールは、どちらもヒューマン ID またはプログラム ID として使用できます。
Alibaba Cloud アカウントと RAM ユーザーの比較
ステップ 1: Alibaba Cloud アカウントを作成するを完了すると、Alibaba Cloud アカウントが取得されます。Alibaba Cloud アカウントは、Linux システムのルートユーザーに似ています。最大の権限を持ち、日常的な使用には適していません。Alibaba Cloud アカウントは、RAM で[RAM ユーザー] を作成して日常的な管理を行うことができます。両者の主な違いは次のとおりです。
項目 | Alibaba Cloud アカウント | RAM ユーザー |
ID の役割 | リソースのオーナー。すべての資産の完全な所有権と最高の権限を持ちます。 | リソースとサービスのユーザー。権限は Alibaba Cloud アカウントによって付与されます。RAM ユーザーは通常、特定の人またはアプリケーションに対応します。 |
クラウドリソースを所有 | はい | いいえ。リソースは Alibaba Cloud アカウントによって所有されます。 |
デフォルトの権限 | 完全な権限。制限できません。 | デフォルトでは権限はありません。Alibaba Cloud アカウントによって権限を付与される必要があります。 |
推奨される使用方法 | 権限付与、支払い、アカウント管理など、主要な管理操作にのみ使用します。 | 日常の開発、O&M、デプロイメント、その他のタスク。 |
Alibaba Cloud アカウントのセキュリティに関するベストプラクティス
日常の管理および技術的な操作のために、管理者権限を持つ RAM ユーザーを特別に作成します。
Alibaba Cloud アカウントは、絶対に必要な場合にのみ使用します。そのパスワードと、多要素認証 (MFA) 認証情報などの関連する認証情報を安全に保管します。
すべての日常的な操作は、RAM 管理者ユーザーを使用して実行します。これにより、日常の作業環境で Alibaba Cloud アカウントが公開されるのを防ぎます。
ID タイプの比較
RAM の ID はそれぞれ異なるシナリオに適しています。次の表では、RAM の ID タイプを定義し、その主な目的を説明します。
ID タイプ | 定義 | 主な目的 |
RAM ユーザー | 特定の人またはアプリケーションを表す ID。コンソールへのログインやプログラムによるアクセスのための認証情報 (ログインパスワードや AccessKey ペアなど) を持ちます。コンソールへのログインやプログラムによるアクセスに使用できます。 | 企業の特定の従業員、システム、またはアプリケーションに対応します。クラウドリソースへの長期的なアクセスが必要なシナリオで使用されます。 |
RAM ユーザーグループ | [RAM ユーザー] を分類および管理するために使用されるコレクション。ユーザーグループに権限を付与すると、グループ内のすべてのユーザーがそれらの権限を継承します。 | 開発チームやテストチームなど、同じ職務機能を持つ複数の [RAM ユーザー] に対して権限を一括で付与または取り消すことで、権限管理を簡素化します。 |
RAM ロール | 権限を付与できるが、ログインパスワードや AccessKey ペアを持たない仮想 ID。RAM ロールは、Alibaba Cloud アカウント、Alibaba Cloud サービス、ID プロバイダーなどのエンティティによって偽装され、アクセスするための一時的なセキュリティ認証情報を取得する必要があります。 | クロスアカウントのリソースアクセス、Alibaba Cloud サービスに他のリソースへのアクセスを許可する、[ID プロバイダー (IdP)] と統合して [シングルサインオン (SSO)] を実装するなどのシナリオで使用されます。 |
RAM の認証方式
認証方式の比較
RAM は、さまざまなシナリオに対応する複数の認証方式をサポートしています。
コンソールログインシナリオ
認証方式 | 定義 | シナリオ |
ログインパスワード | コンソールログインのための ID 検証認証情報。 | RAM ユーザーが [コンソール] にログインして対話的な操作を行います。 |
MFA | 標準のログインパスワードの上に、追加のセキュリティ認証レイヤーを提供します。 | ログインパスワードと併用することで、[コンソール] へのログインのセキュリティを向上させます。デフォルトでは、すべての RAM ユーザーは MFA を使用してログインする必要があります。 |
パスキー | FIDO2 標準に基づくパスワードレス認証ソリューション。ユーザーは、デバイスの生体認証 (指紋や顔認証など) や PIN を使用して、安全で便利な ID 認証を完了できます。 | コンソールログインのセキュリティをさらに向上させ、パスワードの漏洩やフィッシング攻撃を防ぐのに役立ちます。この方法は、高いセキュリティ要件を持つユーザーや、パスワードレスログインが必要なシナリオに適しています。 |
SSO | ユーザーは、企業の ID プロバイダー (IdP) を介して認証します。一度ログインすると、複数の信頼できる Alibaba Cloud サービスにアクセスできます。 | 企業のユーザーは、Microsoft Entra ID や Okta などの既存の ID 認証システムを使用して Alibaba Cloud にアクセスします。 |
プログラムによるアクセスシナリオ
認証方式 | 定義 | シナリオ |
AccessKey ペア (AK) | AccessKey ID と AccessKey Secret からなるキーペアで、RAM ユーザーが所有します。これは長期的な認証情報です。 | アプリケーション、CLI、またはサービスが API を介して Alibaba Cloud サービスを呼び出すために使用されます。この方法は比較的安全性が低いです。 |
Security Token Service (STS) トークン | RAM ロールが正常に偽装された後に取得される一時的な認証情報。一時的な AccessKey ペアとセキュリティトークンが含まれます。事前に設定された有効期間があり、自動的に有効期限が切れます。 | アプリケーション、CLI、またはサービスが API を介して Alibaba Cloud サービスを呼び出すためにも使用されます。また、クロスアカウントのリソースアクセス、フェデレーション ID 認証 (SSO)、または Alibaba Cloud サービスへの一時的な権限付与にも使用できます。この方法は比較的安全性が高いです。 |
長期的なアクセス認証情報と一時的なアクセス認証情報の比較
長期的なアクセス認証情報: 手動で無効化、削除、または変更されない限り、作成後長期間有効な認証情報。例としては、ログインパスワードや AccessKey ペアがあります。
一時的なアクセス認証情報: 15 分から数時間など、事前に設定された有効期間があり、自動的に有効期限が切れる認証情報。例としては、Security Token Service (STS) トークンがあります。
一時的なアクセス認証情報は、長期的なアクセス認証情報よりも安全です。長期的な認証情報が漏洩した場合、悪用されて継続的なセキュリティ脅威をもたらす可能性があります。対照的に、一時的な認証情報には事前に設定された有効期限があります。漏洩したとしても、その影響は有効期間と付与された権限に限定されるため、セキュリティリスクが軽減されます。したがって、可能な限り一時的なアクセス認証情報を使用する必要があります。詳細については、「Alibaba Cloud OpenAPI を呼び出すためのアクセス認証情報の使用に関するベストプラクティス」をご参照ください。
STS トークンは、RAM ロールなどの ID を認証した後、Alibaba Cloud Security Token Service (STS) によって発行されます。STS の詳細については、「STS とは」をご参照ください。STS トークンを取得する方法については、「一時的な ID 認証情報を取得する」をご参照ください。
RAM のアクセスポリシー
ID が認証されると、RAM はアタッチされたアクセスポリシーを評価して、その ID が要求されたリソースや操作 (Alibaba Cloud ECS インスタンスの管理権限など) に必要な権限を持っているかどうかを判断します。RAM は「デフォルトで拒否」の原則に従います。明示的に許可されていないアクセスリクエストはすべて拒否されます。
ポリシータイプ
権限は、権限のグループを記述するルールのセットであるアクセスポリシーを通じて管理されます。RAM は、次の 2 種類のアクセスポリシーをサポートしています。
システムポリシー: Alibaba Cloud によって作成および管理される汎用的なアクセスポリシーで、一般的な権限付与シナリオをカバーします。システムポリシーを ID に直接アタッチできますが、ポリシーの内容は変更できません。
カスタムポリシー: ユーザーが作成および管理できるアクセスポリシー。JSON ポリシードキュメントを作成することで、許可または拒否する操作、リソース、および条件を正確に定義して、詳細なアクセス制御を実現できます。
詳細については、「アクセスポリシーの概要」をご参照ください。
リソースの権限付与範囲
権限付与の範囲は、Alibaba Cloud アカウント全体に設定することも、リソースグループを使用して特定のプロジェクトや環境に限定することもできます。
詳細については、「アクセスポリシーモデル」をご参照ください。
条件制御
RAM は、属性ベースのアクセス制御 (ABAC) 権限モデルを使用します。このモデルでは、アクセスポリシーに条件を設定して、より詳細な権限制御を実現できます。たとえば、アクセスリクエストのソース CIDR ブロックを制限したり、特定の操作を実行するために MFA ログインを要求したりできます。
条件には、ID 属性、リソース属性、リクエスト環境属性などのシステムプリセット属性を含めることができます。また、タグなどのカスタム属性を含めることもできます。
カスタムポリシーで条件を設定する必要があります。
詳細については、「アクセスポリシーの基本要素」をご参照ください。
エンタープライズ ID フェデレーション
RAM は、SAML 2.0 および OpenID Connect (OIDC) 標準プロトコルに基づくシングルサインオン (SSO) をサポートしています。これはフェデレーションログインとも呼ばれます。
ID フェデレーションが必要な理由
マルチクラウドおよびエンタープライズ IT 環境では、従業員はさまざまな内部システムやクラウドサービスにアクセスする必要があります。頻繁にアカウントを切り替えたり、異なるパスワードを覚えたりすることは、運用効率に影響を与え、セキュリティリスクを増大させます。ID フェデレーションは、Microsoft Entra、Okta、ADFS などの企業の ID 認証システムを Alibaba Cloud と統合し、従業員の ID の一元管理を可能にします。ユーザー名とパスワードで直接ログインする場合と比較して、フェデレーションログインには次の利点があります。
ログインの簡素化: 従業員は、ID プロバイダー (IdP) ポータルに一度ログインするだけで、Alibaba Cloud や IdP を信頼する他のアプリケーションにアクセスできます。複数のユーザー名とパスワードのセットを維持する必要はありません。
一元化されたセキュリティポリシー: MFA、パスワードポリシー、IP アドレス制限などの企業のセキュリティポリシーは、IdP レベルで一元的に構成および適用されます。
一元化された管理と監査: 企業の既存の ID 管理プラットフォームを通じて、ユーザーの権限を一元的に構成および取り消すことができます。これにより、クラウドの権限が従業員の入社および退社と同期され、管理コストとコンプライアンスリスクが削減されます。
サポートされている SSO メソッド
Alibaba Cloud RAM は、さまざまなビジネスニーズに対応するために、次の 2 つの SSO モードをサポートしています。
ユーザーベースの SSO
企業は、IdP システムのユーザーを Alibaba Cloud の [RAM ユーザー] にマッピングします。その後、ユーザーは対応する RAM ユーザー ID でコンソールにログインします。ロールベースの SSO
企業のユーザーは、Alibaba Cloud の [RAM ロール] を直接偽装して STS トークンを取得し、リソースにアクセスします。この方法は、クロスアカウント認証、複数の IdP、プログラムによるアクセスなどのシナリオをサポートします。ロールベースの SSO は、最小権限の原則とセキュリティのベストプラクティスにより適合しています。
詳細については、「SSO の概要」をご参照ください。
RAM の使用方法
RAM サービスの使用を開始する前に、アカウントの作成と本人確認が完了していることを確認してください。その後、次のいずれかの方法を使用して、RAM でユーザー ID とリソースのアクセス権限を管理できます。
RAM コンソール
RAM コンソールは、ユーザー ID とアクセス権限を一元管理するための Web ベースの管理インターフェイスです。
関連する操作は、RAM コンソールで実行できます。
Alibaba Cloud SDK
Alibaba Cloud ソフトウェア開発キット (SDK) は、Java、Python、Go など、さまざまなプログラミング言語用の開発ツールキットを提供します。これらを使用して、RAM の管理機能をアプリケーションに統合できます。
Alibaba Cloud SDK は、自動化された O&M ツールの構築、セルフサービスポータルの開発、ID ライフサイクル管理の自動化、または RAM 機能と既存の IT システムとの統合などのシナリオに適しています。
詳細については、「統合の概要」および「Alibaba Cloud SDK」をご参照ください。
OpenAPI Developer Portal
OpenAPI Developer Portal は、オンライン API デバッグツールを提供します。RAM 関連の API の直接呼び出しをサポートし、複数の言語で SDK サンプルコードを動的に生成します。
OpenAPI Developer Portal は、API 操作の機能とパラメーターのテスト、API の呼び出し方法の学習、権限構成の迅速な検証、統合用のコードスニペットの取得などのシナリオに適しています。
こちらからアクセスできます: OpenAPI Developer Portal。
Alibaba Cloud CLI
Alibaba Cloud コマンドラインインターフェイス (CLI) は、RAM の管理 API を直接呼び出すためのコマンドラインツールです。システム管理者や DevOps エンジニアは、CLI を使用してバッチ操作や自動化タスクを実行できます。例としては、RAM ユーザーと権限のバッチ作成または構成、CI/CD パイプラインへの CLI の統合、自動化スクリプトの作成などがあります。
詳細については、「Alibaba Cloud CLI とは」をご参照ください。
RAM のセキュリティガイドライン
これらのベストプラクティスに従って、安全で効率的、かつ保守が容易な ID と権限のシステムを構築してください。
ID と権限の管理
詳細については、「ID と権限のベストプラクティス」をご参照ください。
RAM セキュリティ監査
ActionTrail を使用した操作記録のクエリ: ActionTrail は、RAM ID によって実行されたすべての操作を記録します。セキュリティ監査、コンプライアンスレビュー、問題追跡に使用されます。詳細については、「ActionTrail を使用してイベントをクエリする」をご参照ください。
ID と権限の管理: Alibaba Cloud アカウントとその RAM ユーザーの ID と権限に関連するセキュリティリスクを継続的に検出します。例としては、長期間使用されていない AccessKey ペアや、準拠していないパスワードポリシーなどがあります。
アクセス分析: インターネットからのアクセスとアカウント内の過剰な権限を持つ ID を分析および特定し、管理の推奨事項を受け取ります。詳細については、「外部アクセスを特定する」および「過剰な権限を特定する」をご参照ください。
詳細については、「ID と権限のベストプラクティス」をご参照ください。
次のステップ: クイックスタート
次の一般的なシナリオで RAM の使用を開始できます。