Resource Access Management (RAM) は、ユーザーIDとリソース権限を管理できるAlibaba Cloudサービスです。 たとえば、RAMを使用して、社内のさまざまな従業員またはアプリケーションに、Object Storage Service (OSS) リソースに対する必要な権限を付与できます。 RAMを使用してAlibaba Cloudサービスの権限を管理する前に、Alibaba Cloudサービスと連携するRAM機能について学ぶことをお勧めします。 これにより、ビジネス要件に合った最適なアクセス制御設定が容易になります。 このトピックでは、OSSで機能するRAM機能について説明します。
OSSがサポートするRAM機能
次の表に、OSSでのRAM機能のサポートを示します。
RAM機能 | サポート |
RAMユーザー資格情報 | 可 |
Security Token Service (STS) トークン | 可 |
IDベースのポリシー (アカウントレベル) | 可 |
IDベースのポリシー (リソースグループレベル) | 部分 |
アクションレベルの権限 | 可 |
リソースレベルの権限 | 可 |
サービス固有の条件キー | 可 |
タグに基づく認証 | 部分 |
通常のサービスロール | 可 |
サービスにリンクされたロール | 任意 |
RAMと連携するすべてのAlibaba Cloudサービスの詳細については、「RAMと連携するサービス」をご参照ください。STSと連携するすべてのAlibaba Cloudサービスの詳細については、「STSをサポートするAlibaba Cloudサービス」をご参照ください。
RAMユーザー資格情報
RAMユーザー資格情報を使用してOSSにアクセスできます。
RAMユーザーは、固定IDと資格情報を持つ物理IDです。 RAMユーザーは、人またはアプリケーションを表します。 RAMユーザー資格情報を使用してOSSにアクセスすると、OSSは要求されたOSSリソースに対するRAMユーザーの権限をチェックします。
資格情報は、RAMユーザーの作成時に設定されます。 RAMユーザーは、管理者アカウントを使用してのみ作成できます。 RAMユーザーを使用してサービスのコンソールを使用してサービスにアクセスする場合は、RAMユーザーのユーザー名とパスワードを入力する必要があります。 RAMユーザーを使用してAPI操作を呼び出してサービスにアクセスする場合は、RAMユーザーのaccess Keyペアを指定する必要があります。 RAMのパスワードを定期的に変更し、AccessKeyペアをプロジェクトコードに埋め込まないようにして、資格情報のセキュリティを向上させることをお勧めします。 詳細については、「ID管理」をご参照ください。
説明管理者アカウントは、Alibaba Cloudアカウント、または管理者権限を持つRAMユーザーまたはRAMロールです。
デフォルトでは、RAMユーザーには権限がありません。 RAMユーザーを作成した後、管理者アカウントを使用して必要なポリシーをRAMユーザーにアタッチし、RAMユーザーにリソースへのアクセスまたは管理権限を付与する必要があります。 IDベースのポリシーには、システムポリシーとカスタムポリシーが含まれます。 OSSのシステムポリシーとカスタムポリシーの詳細については、「OSSのシステムポリシー」および「OSSのカスタムポリシー」をご参照ください。 システムポリシーはAlibaba Cloudによって作成されますが、カスタムポリシーはお客様によって作成されます。
参考資料
STSトークン
STSトークンを使用してOSSにアクセスできます。
STSトークンは、Alibaba CloudリソースにアクセスするためにSTSによってRAMロールに発行されるID資格情報です。 RAMロールは、長期的なID資格情報を持たない仮想RAM IDです。 リソースにアクセスするには、信頼できるエンティティがRAMロールを引き受ける必要があります。
STSトークンは、AccessKeyペアなどの長期アクセス資格情報と比較して、アクセス資格情報のリークのリスクを軽減し、リソースセキュリティを向上させます。 信頼できるエンティティと、RAMロールとSTSトークンが使用される一般的なシナリオの詳細については、「RAMロールの概要」をご参照ください。
デフォルトでは、RAMロールには権限がありません。 RAMロールを使用してクラウドリソースにアクセスまたは管理するには、管理者アカウントを使用して必要なポリシーをRAMロールにアタッチする必要があります。 IDベースのポリシーには、システムポリシーとカスタムポリシーが含まれます。 OSSのシステムポリシーとカスタムポリシーの詳細については、「OSSのシステムポリシー」および「OSSのカスタムポリシー」をご参照ください。 システムポリシーはAlibaba Cloudによって作成されますが、カスタムポリシーはお客様によって作成されます。
参考資料
IDベースのポリシー
OSSはIDベースのポリシーをサポートしています。
IDベースのポリシーは、RAMユーザー、RAMユーザーグループ、RAMロールなどのRAM IDにアタッチできます。 IDベースのポリシーは、RAM IDがどのリソースでどのような条件で実行できるかを定義します。
ポリシー管理の観点から見ると、IDベースのポリシーにはシステムポリシーとカスタムポリシーが含まれます。 システムポリシーのみを使用できます。 システムポリシーを変更または削除することはできません。 カスタムポリシーを作成および維持できます。 カスタムポリシーは、RAMコンソールまたはAPI操作を呼び出して作成できます。
認証範囲の観点から、IDベースのポリシーには、アカウントレベルのポリシーとリソースグループレベルのポリシーが含まれます。 アカウントレベルのポリシーの承認範囲は、Alibaba Cloudアカウント内のすべてのリソースです。 リソースグループレベルのポリシーの権限付与範囲は、リソースグループ内のすべてのリソースです。 アカウントレベルのポリシーは、リソースグループレベルのポリシーよりも優先されます。 定義と権限付与スコープの詳細については、「ポリシーモデル」をご参照ください。 権限付与スコープは、RAM IDに権限を付与するときに指定できます。
参考資料
アクションレベルの権限
OSSはアクションレベルの権限をサポートしています。
ポリシーでは、Action要素は、IDが実行できる、または実行できないアクションを指定します。 ほとんどの場合、アクションの名前は、クラウドサービスの対応するAPI操作の名前と同じです。 Action要素の値は、oss:<action-name>
形式に従います。
ポリシーのAction要素を使用すると、特定のアクションへのアクセス許可をスコープダウンできます。
カスタムポリシーでアクションレベルの権限を使用して、より詳細なアクセス制御を実装できます。
OSSのRAMポリシーの例のリストについては、「RAMポリシーの一般的な例」をご参照ください。 サポートされているクラウドサービスのRAMコードの一覧については、「RAMを使用するサービス」をご参照ください。
OSSでサポートされているアクションのリストについては、「RAMポリシー」をご参照ください。
OSSのRAMポリシーのサンプルアクション要素
"アクション": [
"oss:ListBuckets",
"oss:GetBucketStat",
「oss:GetBucketInfo」
]
リソースレベルの権限
OSSはリソースレベルの権限をサポートしています。
ポリシーでは、Resource要素は、IDが操作を実行できる、または実行できない1つ以上のリソースを指定します。 リソースは、Alibaba Cloudサービス内の管理可能なエンティティです。 たとえば、リソースはObject Storage Service (OSS) バケットまたはElastic Compute Service (ECS) インスタンスです。 resource要素内のリソースは、リソースのAlibaba Cloud Resource Name (ARN) によって識別されます。これは、acs:oss:<region >:< account-id >:< relative-id> 形式です。 アクションがリソースレベルの権限をサポートしていない場合は、ワイルドカード (*) を使用して、アクションがアカウント内のすべてのリソースに適用されるように指定します。
Resource要素を使用すると、特定のリソースへのアクセス許可をスコープダウンできます。 カスタムポリシーでリソースレベルの権限を使用して、より詳細なアクセス制御を実装できます。 OSSのリソースの詳細については、「RAMポリシー」をご参照ください。
OSSのRAMポリシーのサンプルリソース要素
"リソース": [
"acs:oss:*:*:mybucket",
"acs:oss:*:*:mybucket/*"
]
サービス固有の条件キー
OSSは、サービス固有の条件キーをサポートしています。
Condition要素は、ポリシーが有効になるために必要な条件を指定します。 この要素はオプションです。 Condition要素は、1つ以上の条件を含むことができる。 各条件は、条件演算子、条件キー、および条件値で構成されます。 条件演算子はRAMによって定義されます。条件キーは、acs:<Condition-key>
形式の共通条件キーと、oss:<condition-key>
形式のサービス固有条件キーとを含む。 条件値は条件キーによって異なります。 Condition要素の詳細については、「Policy要素」をご参照ください。
Alibaba Cloudサービスがサービスに固有の条件キーをサポートしている場合、ポリシーを有効にするために必要な条件を設定して、特定の操作およびリソースオブジェクトに対する権限を付与できます。 カスタムポリシーでサービス固有の条件キーを使用して、より詳細なアクセス制御を実装できます。 OSS固有の条件キーのリストについては、「RAMポリシー」をご参照ください。
OSSのRAMポリシーのサンプルOSS固有のCondition要素
"Condition": {
"StringEquals": {
"vpc:TargetAccountRDId": [
「12 **** 」
]
},
"Bool": {
"acs:SecureTransport": [
"true"
]
}
タグに基づく認証
OSSはタグベースの認証をサポート
RAMポリシーのタグは、acs:ResourceTag/{tag-key} とacs:RequestTag/{tag-key} の2つの形式があるカスタム属性ラベルです。 タグを使用して、異なるディメンションから同じ属性を持つクラウドリソースを分類、検索、および集約できます。 これにより、リソース管理が容易になります。 タグを使用するサービスの詳細については、「タグを使用するサービス」をご参照ください。
タグベースの権限付与を使用すると、クラウドリソースに対する権限を管理するときに、同じタグを持つクラウドリソースに同じ権限を付与できます。 カスタムRAMポリシーでタグを使用して、よりきめ細かいアクセス制御を行うことができます。
通常のサービスロール
OSSは通常のサービスロールをサポートします。
通常のサービスロールは、信頼できるエンティティがAlibaba CloudサービスであるRAMロールです。 通常のサービスロールは、Alibaba Cloudサービス全体のアクセスを許可するために使用されます。 OSSの特定の機能を使用すると、通常のサービスロールが自動的に作成され、別のサービスにアクセスするために必要な権限が付与されます。 OSSは、通常のサービスの役割を引き受けて、目的のサービスにアクセスします。
同じAlibaba Cloudアカウント内または複数のAlibaba Cloudアカウント内で同じリージョンレプリケーション (SRR) を使用する場合、またはインベントリ機能を使用する場合は、通常のサービスロールが必要です。 詳細については、「同じアカウント内のSRR」および「バケットインベントリ」をご参照ください。
通常のサービスロールを手動で作成、変更、削除したり、通常のサービスロールの権限を変更したりすることもできます。 通常のサービスロールまたは通常のサービスロールに付与された権限を変更すると、特定のOSS機能の使用に影響を与える可能性があることに注意してください。