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