Alibaba Cloudの権限管理メカニズムには、Resource Access Management (RAM) とSecurity Token Service (STS) が含まれます。Intelligent Media Management (IMM) には、意図した権限を持つRAMユーザーとして、またはSTSによって提供される一時的なアクセス認証情報を使用してアクセスできます。RAMとSTSにより、権限管理とアクセス制御がより柔軟で安全になります。
背景情報
RAMとSTSの主な利点の1つは、アカウントのAccessKeyペアを公開することなく、Alibaba Cloudアカウント内のデータへの一時的なアクセスを許可することで、アカウントのセキュリティを向上させるのに役立つことです。Alibaba CloudアカウントのAccessKeyペアを持つ攻撃者は、アカウント内のすべてのリソースにアクセスでき、重大なセキュリティ上の結果を引き起こす可能性があります。
RAM
RAMは、ユーザーIDとリソースアクセス権限を管理するためにAlibaba Cloudが提供するサービスです。RAMを使用すると、Alibaba Cloudアカウントの複数のIDを作成および管理し、単一のIDまたはIDのグループに権限を付与できます。このようにして、異なるIDに異なるAlibaba Cloudリソースへのアクセスを許可できます。詳細については、RAMとは何ですか?を参照してください。
RAMは、RAMユーザーを作成し、異なる権限を付与することにより、長期的な権限管理メカニズムを提供します。このようにして、RAMユーザーのAccessKeyペアが漏洩した場合、限られた情報のみが漏洩します。RAMユーザーは通常、長期間有効です。RAMユーザーのAccessKeyペアは機密にしておく必要があります。
STS
STSを使用すると、Alibaba Cloudリソースへの一時的なアクセスを管理できます。STSを使用して、RAMユーザーやRAMロールなどのRAMエンティティに、カスタムの有効期間とアクセス権限を持つ一時的なアクセストークンを付与できます。詳細については、STSとは何ですか?を参照してください。
RAMによって提供される長期的な権限管理メカニズムとは対照的に、STSは一時的なAccessKeyペアとトークンを使用してIMMへの一時的なアクセスを許可することにより、一時的なアクセス承認を提供します。STSは、限られた期間内に有効な厳格なアクセス権限を付与します。したがって、アクセス認証情報が漏洩した場合でも、システムは深刻な影響を受けません。
RAMユーザーへの権限の付与
データセキュリティと権限制御を向上させるために、RAMユーザーとしてIMMサービスを使用することをお勧めします。
RAMユーザーを作成します。詳細については、RAMユーザーの作成を参照してください。
ビジネス要件に基づいて、RAMユーザーに権限を付与します。詳細については、RAMユーザーへの権限の付与を参照してください。
プロジェクトの作成など、IMMサービスを管理する場合は、AliyunIMMFullAccessポリシーをRAMユーザーにアタッチします。
プロジェクトなどの情報を表示するためにIMMサービスの読み取り専用権限のみが必要な場合は、AliyunIMMReadOnlyAccessポリシーをRAMユーザーにアタッチします。
RAMユーザーに対して多要素認証(MFA)を有効にします。詳細については、RAMユーザーへのMFAデバイスのバインドを参照してください。
一時的なアクセスの付与
一時的なロールを作成し、ロールに権限を付与します。
信頼できるAlibaba CloudアカウントのRAMロールを作成します。詳細については、信頼できるAlibaba CloudアカウントのRAMロールの作成を参照してください。
カスタムポリシーを作成します。詳細については、カスタムポリシーの作成を参照してください。
説明きめ細かい権限制御を実装するために、ポリシーの権限をカスタマイズできます。詳細については、IMMのカスタムポリシーを参照してください。
一時的なロールに権限を付与します。詳細については、RAMロールへの権限の付与を参照してください。
一時的なアクセス権限を付与します。
カスタムポリシーを作成します。詳細については、カスタムポリシーの作成を参照してください。
RAMユーザーがアタッチする一時的なロールに権限を付与します。詳細については、RAMユーザーへの権限の付与を参照してください。
STSから一時的なアクセス認証情報を取得します。詳細については、AssumeRoleを参照してください。
一時的な権限を使用してデータを読み書きします。
一時的な権限を使用して、さまざまなプログラミング言語のSDKを呼び出してIMMにアクセスできます。次のサンプルコードは、STSから取得したAccessKey ID、AccessKeyシークレット、およびトークンに基づいて、IMM SDK for Javaを使用してIAcsClientオブジェクトを作成する方法の例を示しています。
DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", stsAccessKeyId, stsAccessKeySecret, stsToken); IAcsClient client = new DefaultAcsClient(profile);
カスタムRAMポリシーの構成
カスタムRAMポリシーを使用して、ユーザー権限を制御できます。次の表に、RAMポリシーの主なコンポーネントを示します。
パラメーター | 説明 |
Effect | リクエストされたアクションに対する効果。有効な値:
|
Action | IMM API操作。このパラメーターの値は、 |
Resource | IMMには、
|
詳細については、カスタムポリシーの作成を参照してください。
例
フルアクセスの付与
RAMポリシーを使用して、IMMへのフルアクセスを付与できます。次のサンプルコードは、IMMへのフルアクセスを付与します。
{
"Version": "1",
"Statement": [
{
"Action": "imm:*",
"Resource": "*",
"Effect": "Allow"
}
]
}
ワイルドカード文字を使用したアクセスの付与
RAMポリシーでアスタリスク(*
)を使用して、バッチ承認を行うことができます。
次のサンプルコードは、サポートされているすべてのリージョンでimm-test-doc
で始まるすべてのプロジェクトに対する読み取り専用アクセス権限を付与します。
{
"Statement": [
{
"Effect": "Allow",
"Action": ["imm:List*", "imm:Get*"],
"Resource": "acs:imm:*:150910xxxxxxxxxx:project/imm-test-doc*"
}
],
"Version": "1"
}
特定のプロジェクトに対する特定のアクセス権限の付与
次のサンプルコードは、以下の権限を付与します。
ListProjects操作を呼び出す。
CreateOfficeConversionTask操作を呼び出して、中国(上海)リージョンのimm-test-doc-projプロジェクト内のドキュメントの形式を変換する。
中国(上海)リージョンのimm-test-media-projプロジェクトのデータに対して、CreateFigureClusteringTask操作とCreateFigureClustersMergingTask操作を呼び出す。
{ "Statement": [ { "Effect": "Allow", "Action": ["imm:ListProjects"], "Resource": "*" }, { "Effect": "Allow", "Action": ["imm:CreateOfficeConversionTask"], "Resource": "acs:imm:cn-shanghai:150910xxxxxxxxxx:project/imm-test-doc-proj" }, { "Effect": "Allow", "Action": ["imm:CreateFigureClusteringTask", "imm:CreateFigureClustersMergingTask"], "Resource": "acs:imm:cn-shanghai:150910xxxxxxxxxx:project/imm-test-media-proj" } ], "Version": "1" }
特定のデータセットに対する特定のアクセス権限の付与
次のサンプルコードは、以下の権限を付与します。
ListDatasets操作を呼び出す。
中国(上海)リージョンのimm-test-media-projプロジェクトのdataset1データセットに対して、IndexFileMeta操作を呼び出す。
中国(上海)リージョンのimm-test-media-projプロジェクトのdataset1データセットに対して、CreateFigureClusteringTask操作とCreateFigureClustersMergingTask操作を呼び出す。
{
"Statement": [
{
"Effect": "Allow",
"Action": ["imm:ListDatasets"],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": ["imm:IndexFileMeta"],
"Resource": "acs:imm:cn-shanghai:150910xxxxxxxxxx:project/imm-test-doc-proj/dataset/dataset1"
},
{
"Effect": "Allow",
"Action": ["imm:CreateFigureClusteringTask", "imm:CreateFigureClustersMergingTask"],
"Resource": "acs:imm:cn-shanghai:150910xxxxxxxxxx:project/imm-test-media-proj/dataset/dataset1"
}
],
"Version": "1"
}