すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:RAM と STS

最終更新日:Apr 24, 2025

Resource Access Management (RAM) は、ユーザー ID とリソースアクセス権限を管理するために Alibaba Cloud によって提供されるサービスです。Security Token Service (STS) を使用すると、Apsara Stack リソースの一時的な資格情報を管理できます。RAM を使用すると、Alibaba Cloud アカウントに対して次の ID を作成および管理できます。RAM ユーザーと RAM ロール。RAM ロールには永続的な ID 資格情報がありません。RAM ロールは、STS トークンを使用してのみ Apsara Stack リソースにアクセスするために使用できます。STS トークンが発行されると、STS トークンの有効期間とアクセス権限を指定できます。

RAM と STS の機能と利点の詳細については、「RAM とは」および「STS とは」をご参照ください。

背景

RAM と STS を使用すると、Alibaba Cloud アカウントの AccessKey ペアを公開せずに権限を付与できます。AccessKey ペアの漏洩は、高いセキュリティリスクをもたらします。Alibaba Cloud アカウントの AccessKey ペアを取得したユーザーは、アカウントのすべてのリソースを管理し、重要な情報を盗むことができます。

RAM は、長期的な権限を管理するために使用されるアクセス制御サービスです。Alibaba Cloud アカウントの所有者は、複数の RAM ユーザーを作成し、RAM ユーザーに異なる権限を付与できます。RAM ユーザーの AccessKey ペアは機密にしておく必要があります。ただし、RAM ユーザーの AccessKey ペアが漏洩した場合、潜在的に公開される情報は限られています。RAM ユーザーは長期間有効です。

STS を使用すると、一時的な権限を付与できます。STS を使用して、一時的な AccessKey ペアとトークンを取得できます。一時的な AccessKey ペアとトークンは、特定のリソースにアクセスするための一時ユーザーに送信できます。STS を使用して取得された権限は厳密に制限されており、有効期間があります。したがって、STS は情報漏洩の影響を最小限に抑えます。

RAM と STS の使用方法の詳細については、「」をご参照ください。

用語

RAM と STS を使用する前に、関連する用語の基本的な理解を持っていることをお勧めします。詳細については、「アクセス制御の用語」をご参照ください。

RAM ユーザーと RAM ロールの関係は、個人とその ID の関係に似ています。1 人の個人は、さまざまなシナリオに固有の複数の ID を持つことができます。たとえば、ある人は職場で従業員ですが、家では父親です。個人が ID を引き受けると、その個人はその ID の権限を持ちます。RAM ロールはエンティティではなく、ID です。RAM ロールだけでは操作を実行できません。RAM ロールの権限を実行するには、ユーザーに RAM ロールを割り当てる必要があります。1 つの RAM ロールを複数のユーザーに割り当てることができます。

Alibaba Cloud アカウントの AccessKey ペアの漏洩によって引き起こされるセキュリティリスクを防ぐために、Alibaba Cloud アカウント管理者は 2 人の RAM ユーザー、ユーザー A とユーザー B を作成します。各 RAM ユーザーに対して独立した AccessKey ペアが生成されます。ユーザー A は読み取り権限を持ち、ユーザー B は書き込み権限を持ちます。管理者は [RAM コンソール] でいつでも RAM ユーザーから権限を取り消すことができます。

ビジネス要件を満たすために、ユーザーに IoT Platform API にアクセスするための一時的な権限を付与したいと考えています。この場合、ユーザー A の AccessKey ペアを公開する代わりに、RAM ロール(ロール C)を作成し、ロール C に IoT Platform API にアクセスするための権限を付与することをお勧めします。AccessKey ペアが使用できないため、ロール C は直接使用できないことに注意してください。ロール C は、IoT Platform API にアクセスするための権限を持つ仮想エンティティにすぎません。

IoT Platform API にアクセスするために必要な一時的な ID 資格情報を取得するには、STS の AssumeRole オペレーションを呼び出す必要があります。AssumeRole オペレーションを呼び出すときは、RoleArn パラメーターをロール C の Alibaba Cloud Resource Name (ARN) に設定する必要があります。呼び出しが成功すると、STS は一時的な AccessKey ID、AccessKey シークレット、およびトークンを一時的な ID 資格情報として返します。これらの資格情報の有効期間は、AssumeRole オペレーションを呼び出すときに指定できます。これらの資格情報をユーザーに配信すると、ユーザーは IoT Platform API にアクセスするための一時的な権限を取得できます。

RAM と STS の使用が複雑なのはなぜですか?

RAM と STS の用語と使用方法は少し複雑ですが、アカウントのセキュリティと柔軟なアクセス制御が保証されます。

RAM を使用すると、RAM ユーザーと RAM ロールを作成して、操作を実行するエンティティと、一連の権限を定義する仮想エンティティを分離できます。読み取り権限と書き込み権限など、複数の権限を必要とするユーザーは、一度に 1 つの権限のみを使用できます。この場合、2 つの RAM ロールを作成し、一方のロールに読み取り権限を、もう一方のロールに書き込み権限を付与できます。次に、RAM ユーザーを作成し、2 つのロールを RAM ユーザーに割り当てることができます。RAM ユーザーが読み取り権限を必要とする場合は、読み取り権限を持つ RAM ロールを引き受けます。RAM ユーザーが書き込み権限を必要とする場合は、書き込み権限を持つ RAM ロールを引き受けます。これにより、過剰な権限のリスクが軽減されます。さらに、コラボレーションを促進するために、RAM ロールを他の Alibaba Cloud アカウントおよび RAM ユーザーに割り当てることができます。

STS を使用すると、より柔軟な方法でアクセス制御を実装できます。たとえば、資格情報の有効期間を設定できます。長期的な資格情報が必要な場合は、RAM ユーザーのみを使用できます。

以下のトピックでは、RAM と STS の使用方法に関するガイドラインと例を示します。RAM と STS のコードについては、「API 概要」をご参照ください。