オリジンサーバーが Object Storage Service (OSS) バケットである場合、バケットの ACL をプライベートに設定すると、リソースへの不正アクセスを防ぐことができます。この場合、Dynamic Content Delivery Network (DCDN) がプライベート OSS バケットからコンテンツをフェッチできるようにするには、DCDN に対応する権限を付与する必要があります。このトピックでは、DCDN によるプライベート OSS バケットへのアクセスを有効化および無効化する方法について説明します。
背景情報
DCDN にプライベート OSS バケットへのアクセス権限を付与すると、DCDN が提供するホットリンク保護や URL 署名などの機能を使用してリソースを保護できます。詳細については、「Referer のホワイトリストまたはブラックリストを設定したホットリンク保護」および「URL 署名の設定」をご参照ください。
この機能を初めて使用する場合、ワンクリックで権限を付与し、デフォルトの権限付与ポリシーを有効にすることができます。ポリシーが有効になると、DCDN には、お使いの Alibaba Cloud アカウントに属するすべての OSS バケットへの読み取り専用アクセス権が付与されます。このアクセスは、Security Token Service (STS) の一時的な STS トークンを使用し、PUT などの書き込み操作や削除操作はサポートしません。
永続的なセキュリティトークンを設定する場合は、その権限を制限する必要があります。トークンには、OSS バケットに対する PUT などの書き込み権限や削除権限を持たせないでください。Resource Access Management (RAM) ユーザーが OSS にアクセスするためのアクセス権限の設定方法の詳細については、「AccessKey ペアの漏洩による不正アクセスのリスクを軽減」をご参照ください。
アクセラレーション ドメイン名に権限を付与し、プライベートバケットからのオリジンフェッチを有効にすると、そのドメイン名を通じてプライベートバケット内のすべてのリソースにアクセスできるようになります。この判断は慎重に行ってください。プライベートバケット内のコンテンツが DCDN によるオリジンフェッチアクセラレーションに適していない場合は、権限を付与したり、この機能を有効にしたりしないでください。
お客様の Web サイトが攻撃を受けるリスクがある場合は、Anti-DDoS サービスを購入することを推奨します。権限を付与したり、プライベートバケットからのオリジンフェッチを有効にしたりする際は、注意してください。
プライベートバケットからのオリジンフェッチを有効にすると、DCDN の POP (Point of Presence) はオリジンリクエストに Authorization ヘッダーを追加します。ヘッダー値には、プライベート OSS バケットへのアクセスを認証するために必要な署名情報が含まれます。OSS への単一のオリジンリクエストでは、ヘッダーと URL パラメーターの両方に署名を含めることはできません。リクエストに両方の場所に署名が含まれている場合、OSS の認証は失敗します。。
プライベート OSS バケットへのアクセスの有効化
- DCDNコンソールにログインします。
- 左側のナビゲーションペインで ドメイン名 をクリックします。
-
ドメイン名 ページで、対象のドメイン名を見つけ、設定 をクリックします。
- ドメイン名の左側のナビゲーションウィンドウで、[オリジンフェッチ] をクリックします。
(任意) プライベートバケットオリジン セクションで、権限付与 をクリックし、[権限付与ポリシーの確認] をクリックします。この手順は、DCDN によるプライベート OSS バケットへのアクセスを初めて承認する場合にのみ必要です。
プライベートバケットオリジン セクションで、プライベートバケットオリジン スイッチをオンにします。
説明DCDN がプライベート OSS バケット内の暗号化されていないオブジェクトにアクセスすることを承認する場合にのみ、上記の手順を実行する必要があります。 DCDN が Key Management Service (KMS) を使用して暗号化された OSS オブジェクトにアクセスするようにしたい場合は、まず [AliyunCDNAccessingPrivateOSSRole] RAM ロールに [AliyunKMSCryptoUserAccess] ポリシーをアタッチする必要があります。
表示される OSS 非公開バケットへのアクセス ダイアログボックスで、タイプを選択して [OK] をクリックします。
パラメーター
説明
オリジンフェッチタイプ
[同一アカウント内のバケット]:STS によってセキュリティトークンが自動的に発行されます。このオプションでは、DCDN は同一の Alibaba Cloud アカウント内のプライベート OSS バケットからのみコンテンツをフェッチできます。
[アカウント間または同一アカウント内のバケット]:AccessKey ペアを設定する必要があります。このオプションでは、DCDN は同一アカウント内および異なるアカウント間の両方のプライベート OSS バケットからコンテンツをフェッチできます。
AccessKey ID
プライベート OSS バケットが属する Alibaba Cloud アカウントの AccessKey ID。詳細については、「AccessKey の作成」をご参照ください。
AccessKey シークレット
プライベート OSS バケットが属する Alibaba Cloud アカウントの AccessKey シークレット。
(任意) DCDN が暗号化された OSS オブジェクトにアクセスする必要がある場合は、[AliyunKMSCryptoUserAccess] ポリシーを [AliyunCDNAccessingPrivateOSSRole] RAM ロールにアタッチします。
RAM コンソールにログインします。
左側メニューで、 を選択します。
[ロール名] 列で、[AliyunCDNAccessingPrivateOSSRole] RAM ロールを見つけて選択します。
[権限の付与] をクリックします。[権限の付与] パネルで、[プリンシパル] フィールドは自動的に入力されます。
[ポリシー] セクションで、[AliyunKMSCryptoUserAccess] システムポリシーを検索します。ポリシーをクリックして、[選択済みのポリシー] リストに追加します。[][]
[権限の付与] をクリックします。
[閉じる] をクリックします。
プライベート OSS バケットへのアクセスの無効化
DCDN によるプライベート OSS バケットへのアクセスが不要になった場合は、RAM コンソールにログインして、DCDN に付与したアクセス権限を取り消すことができます。
RAM コンソールにログインします。
左側メニューで、 を選択します。
[ロール] ページで、[AliyunCDNAccessingPrivateOSSRole] を見つけてクリックします。
[AliyunCDNAccessingPrivateOSSRole] ロールからすべての権限を取り消します。
管理するポリシーを見つけ、[操作] 列の [権限の取り消し] をクリックします。
[権限の取り消し] メッセージで、[権限の取り消し] をクリックします。
左側メニューで、 を選択します。[]
[AliyunCDNAccessingPrivateOSSRole] を見つけ、[操作] 列の [ロールの削除] をクリックします。
[ロールの削除] ダイアログボックスで、削除するロールの名前を入力し、[ロールの削除] をクリックします。