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

Object Storage Service:OSSでRAMを使用して、きめ細かいアクセス制御を行うにはどうすればよいですか?

最終更新日:May 10, 2024

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機能の使用に影響を与える可能性があることに注意してください。