デフォルトでは、データのセキュリティを確保するため、Object Storage Service (OSS) のリソース (バケットやオブジェクトなど) は非公開になっています。リソースのオーナーまたは権限を付与されたユーザーのみがアクセスできます。サードパーティのユーザーが OSS リソースにアクセスできるようにするには、さまざまなアクセス制御ポリシーを使用して特定の権限を付与できます。OSS は、バケットに格納されているオブジェクトへのアクセスを管理および制御するために、次の機能を提供します。
タイプ | 説明 | シナリオ |
Resource Access Management (RAM) は、アクセス制御のための Alibaba Cloud サービスです。RAM ポリシーは、ユーザーベースの権限付与ポリシーです。RAM ポリシーを使用すると、従業員、システム、アプリケーションなどのユーザーを一元管理し、リソースへのアクセス権限を制御できます。たとえば、特定のバケットに対する読み取り専用権限をユーザーに付与できます。 | アカウント配下の RAM ユーザー、ユーザーグループ、または RAM ロールに OSS の権限を付与します。 | |
バケットポリシーは、リソースベースの権限付与ポリシーです。RAM ポリシーと比較して、バケットポリシーは設定が簡単です。コンソールでグラフィカルに設定できます。バケットのオーナーは、RAM の操作権限を必要とせずに、アクセス権限を直接付与できます。バケットポリシーは、他のアカウントの RAM ユーザーや、特定の IP アドレス制限がある匿名ユーザーへのアクセス権限の付与をサポートしています。 |
| |
バケットの作成時にアクセス制御リスト (ACL) を設定したり、バケットの作成後にいつでも ACL を変更したりできます。この操作を実行できるのは、バケットのオーナーのみです。バケット ACL には、公開読み書き、公開読み取り、非公開 の 3 つの権限レベルがあります。 | 単一のバケット内のすべてのオブジェクトに同じアクセス権限を設定します。 | |
バケットレベルの ACL に加えて、OSS はオブジェクトレベルの ACL も提供します。オブジェクトのアップロード時に ACL を設定したり、アップロード後にいつでも変更したりできます。オブジェクト ACL には、デフォルト (バケットから継承)、公開読み書き、公開読み取り、非公開 の 4 つの権限レベルがあります。 | 1 つ以上の個別のオブジェクトにアクセス権限を設定します。たとえば、RAM ポリシーまたはバケットポリシーでは、バケット内のすべてのオブジェクト、または特定のプレフィックスを持つオブジェクトを非公開に設定する場合があります。特定のオブジェクトをインターネット上のすべての匿名ユーザーがアクセスできるようにするには、オブジェクト ACL を使用して、その権限を 公開読み取り に設定します。 | |
OSS は、バケットポリシーと ACL を介したパブリックアクセスをサポートしています。パブリックアクセスとは、特定の権限や ID 検証なしに誰でも OSS リソースにアクセスできることを意味します。パブリックアクセスは、悪意のあるアクセスによるデータ侵害や高額なアウトバウンドトラフィックコストのリスクを高めます。これらのリスクを回避するため、OSS はパブリックアクセスのブロック機能を提供します。パブリックアクセスのブロックが有効になっている場合、既存のパブリックアクセス権限は無視され、新しいパブリックアクセス権限は作成できません。これにより、データへのパブリックアクセスが防止され、データのセキュリティが確保されます。 |
| |
バケットに複数のアクセスポイントを作成し、各アクセスポイントに異なるアクセス制御権限とネットワーク制御ポリシーを設定できます。さまざまなビジネスシナリオで異なるアクセスポイントを使用すると、大規模な共有データセットのアクセス管理が簡素化されます。 |
| |
ホットリンク保護は、Referer や User-Agent ヘッダーなどの HTTP リクエストのソースを検証します。これにより、権限のない Web サイトが OSS リソースに直接リンクするのを防ぎ、帯域幅の盗用やリソースのホットリンクを防ぐのに役立ちます。ホットリンク保護は、ホワイトリスト、ブラックリスト、または正規表現を使用して設定できます。 | 指定されたドメイン名またはアプリケーションのみがバケットまたはオブジェクトにアクセスできるようにすることで、サードパーティの Web サイトがイメージやファイルなどのリソースをホットリンクするのを防ぎます。この機能は、オーディオやビデオの再生、イメージホスティング、ソフトウェアのダウンロードなど、帯域幅とリソースの強力な保護が必要なシナリオに最適です。 | |
クロスオリジンリソース共有 (CORS) を使用すると、バケットのルールを設定して、Web ページのスクリプトが異なるオリジンから OSS リソースに安全にアクセスできるようにすることができます。許可されたオリジン、メソッド、ヘッダーなどのパラメーターを設定できます。 | Web アプリケーション、H5 ページ、ミニアプリなどのフロントエンドページ、またはサードパーティサービスがクロスオリジンリクエストを行って OSS リソースにアクセスできるようにします。典型的なシナリオには、フロントエンドからの直接ファイルアップロードや、Web ベースのオーディオおよびビデオ再生のためのクロスドメイン読み込みが含まれます。 |
バケットに RAM ポリシー、ACL、バケットポリシーなどの複数のアクセス制御ポリシーがある場合、権限付与フローの詳細については、「OSS 権限付与の詳細」をご参照ください。