アイデンティティは、システム内のユーザを一意に識別する。 システムは、ユーザのアイデンティティに基づいてユーザの許可を決定する。 Alibaba Cloudは、Alibaba Cloudアカウント、RAM (Resource Access Management) ユーザー、RAMロールの各タイプのIDをサポートしています。
Alibaba Cloudアカウント
Alibaba Cloudアカウントは、Alibaba Cloudリソースの所有権、およびリソース使用量の課金および課金の基本エンティティです。 Alibaba Cloudアカウントは、アカウント内のすべてのリソースの使用に対して課金され、リソースに対する完全な権限を持っています。 Alibaba Cloudアカウントを使用する必要があるシナリオを除き、RAMユーザーまたはRAMロールを使用してAlibaba Cloud管理コンソールにログインし、API操作を呼び出すことを推奨します。
RAM ユーザー
RAMユーザーは、固定IDと資格情報を持つ物理IDです。 RAMユーザーは、人またはアプリケーションを表します。 RAMユーザーの特徴は次のとおりです。
RAMユーザーはAlibaba Cloudアカウントで作成できます。 この場合、RAMユーザーはAlibaba Cloudアカウントに属しています。 RAMユーザーは、管理者権限を持つRAMユーザーまたはRAMロールによって作成することもできます。 この場合、RAMユーザーは、RAMユーザーまたはRAMロールを作成するAlibaba Cloudアカウントに属します。
RAMユーザーはリソースを所有していません。 RAMユーザーのリソース使用料は、RAMユーザーが属するAlibaba Cloudアカウントに請求されます。 RAMユーザーは個別の請求書を受け取らず、支払いを行うことができません。
RAMユーザーがAlibaba Cloud管理コンソールにログインするか、操作を呼び出す前に、Alibaba Cloudアカウントによって承認されている必要があります。 RAMユーザーが承認されると、RAMユーザーはAlibaba Cloudアカウントが所有するリソースにアクセスできます。
RAMユーザーには、ログイン用の独立したパスワードまたはAccessKeyペアがあります。
Alibaba Cloudアカウントは複数のRAMユーザーを作成できます。 RAMユーザーは、企業内の従業員、システム、およびアプリケーションを表すために使用できます。
詳細については、「RAMユーザーの概要」をご参照ください。
提案
開発者ごとに個別のRAMユーザーを作成する
地域、サービス、開発環境、組織に基づいて、さまざまな開発者向けに複数のRAMユーザーを作成できます。 きめ細かい分離の利点は、さまざまなRAMユーザーがビジネス所有権の境界を明確にできることです。これにより、識別と運用分析が容易になります。
RAMユーザーを共有することの短所:
異常な操作が実行された場合、操作を実行したRAMユーザーを特定できます。 ただし、RAMユーザーは複数の組織や個人で共有されているため、操作を実行した特定の組織や個人を特定することは困難です。
RAMユーザーのAccessKeyペアが漏洩した場合は、できるだけ早い機会にAccessKeyペアを無効にする必要があります。 RAMユーザーが複数の開発者によって共有され、AccessKeyペアがアプリケーションでハードコードされている場合、AccessKeyペアがすべてのコードから削除されるまで、AccessKeyペアを無効にすることはできません。 これは、システムに重大な脅威をもたらす。
コンソールユーザーとAPIユーザーの分離
RAMユーザーのコンソール操作用のログインパスワードとAPI操作用のAccessKeyペアを同時に作成しないことをお勧めします。 これにより、RAMユーザーの誤操作によるビジネスの影響を防ぐことができます。
推奨されるプロダクト :
アプリケーションがAPI操作を呼び出してリソースにアクセスできるようにするには、アプリケーションのRAMユーザーのAccessKeyペアのみを申請する必要があります。
従業員がコンソールでリソースを管理できるようにするには、従業員のRAMユーザーにログインパスワードを設定するだけです。
RAM ロール
RAMロールは、ポリシーをアタッチできる仮想IDです。 RAMロールには、ログインパスワードやAccessKeyペアなどの永続的なID資格情報はありません。 RAMロールは、信頼できるエンティティによってロールが引き受けられた後にのみ使用できます。 RAMロールが信頼できるエンティティによって引き受けられると、信頼できるエンティティはSecurity Token Service (STS) トークンを取得できます。 次に、信頼できるエンティティはSTSトークンを使用して、RAMロールとしてAlibaba Cloudリソースにアクセスできます。
たとえば、Alibaba CloudアカウントAはRAMロールa_rr1を作成し、OSS (Object Storage Service) のFullAccess
権限をRAMロールに付与し、Alibaba CloudアカウントbのRAMユーザーb_ru1にRAMロールを割り当てます。開発者は、RAMユーザーb_ru1としてコンソールにログインし、RAMロールA_rr1を想定してアカウントaのOSSリソースを管理できます。
RAMロールタイプ
RAMロールは、信頼できるエンティティに基づいて次のタイプに分類されます。
信頼できるエンティティがAlibaba CloudアカウントであるRAMロール: Alibaba Cloudアカウント内のRAMユーザーは、このタイプのRAMロールを引き受けることができます。 このタイプのRAMロールを引き受けるRAMユーザーは、所有者のAlibaba Cloudアカウントまたは他のAlibaba Cloudアカウントに所属できます。 このタイプのRAMロールは、クロスアカウントアクセスと一時的な権限付与に使用されます。
信頼できるエンティティがAlibaba CloudサービスであるRAMロール: Alibaba Cloudサービスは、このタイプのRAMロールを引き受けることができます。 信頼できるAlibaba Cloudサービスが引き受けることができるRAMロールは、通常のサービスロールとサービスにリンクされたロールの2種類に分類されます。 サービスにリンクされたロールの詳細については、「サービスにリンクされたロール」をご参照ください。 このタイプのRAMロールは、Alibaba Cloudサービス全体のアクセスを許可するために使用されます。
信頼できるエンティティがIDプロバイダー (IdP) であるRAMロール: 信頼できるIdPのユーザーは、このタイプのRAMロールを引き受けることができます。 このタイプのRAMロールは、Alibaba Cloudと信頼できるIdP間でロールベースのシングルサインオン (SSO) を実装するために使用されます。
シナリオ
一時アクセスの許可
ほとんどの場合、AccessKeyペアのリークを防ぐために、サーバーでAPI操作を呼び出すことをお勧めします。 ただし、一部のシナリオでは、サーバーを使用したリソース転送によるオーバーヘッドを防ぐために、クライアントからファイルを直接アップロードすることをお勧めします。 この場合、サーバーはSTSトークンを発行でき、クライアントはSTSトークンを使用してリソースを直接転送できます。
詳細については、「STSトークンを使用してモバイルアプリにAlibaba Cloudリソースへのアクセスを許可する」をご参照ください。
Alibaba Cloudアカウント全体に権限を付与
たとえば、Alibaba CloudアカウントのアカウントAとアカウントBを所有しており、アカウントAにアカウントBの特定のリソースにアクセスさせたいとします。アカウントB内で信頼エンティティがアカウントaであるRAMロールを作成し、アカウントAに属するRAMユーザーまたはRAMロールに、信頼エンティティがアカウントaであるRAMロールを引き受ける権限を付与できます。信頼できるエンティティがアカウントAであるRAMロールを使用して、アカウントBの特定のリソースにアクセスできます。
詳細については、「RAMロールを使用してAlibaba Cloudアカウント全体に権限を付与する」をご参照ください。
Alibaba Cloudサービス全体で権限を付与
一部のシナリオでは、Alibaba Cloudサービスが他のサービスにアクセスし、特定の機能を使用する権限を取得する必要があります。 たとえば、ECS (Elastic Compute Service) およびApsaraDB RDSからリソースリストとログデータを取得するには、Cloud ConfigにECSおよびApsaraDB RDSのアクセス権限が必要です。 この場合、信頼できるエンティティがAlibaba CloudサービスであるRAMロールを作成できます。 サービスにリンクされたロールを使用することを推奨します。 サービスにリンクされたロールをサポートしていないAlibaba Cloudサービスの場合は、通常のサービスロールを使用します。
詳細については、「サービスにリンクされたロールで動作するサービス」をご参照ください。
ロールベースSSOの実装
Alibaba Cloudと企業のID管理システムが連携してロールベースSSOを実装する場合、Alibaba Cloudはサービスプロバイダー (SP) であり、ID管理システムはIdPです。 ロールベースSSOを使用すると、IdPからAlibaba Cloudにユーザーを同期する必要なく、ローカルIdPでユーザーを管理できます。 さらに、企業の従業員は、特定のRAMロールを使用してAlibaba Cloudにアクセスできます。 この場合、信頼できるエンティティがIdPであるRAMロールを作成できます。
詳細については、「SAMLベースSSOの概要」および「OIDCベースSSOの概要」をご参照ください。