オリジンサーバーがObject Storage Service (OSS) バケットの場合、バケットACLをprivateに設定すると、リソースの不正アクセスを防ぐことができます。 この場合、Dynamic Content Delivery Network (DCDN) がプライベートOSSバケットからコンテンツを取得できるようにするには、DCDNに対応する権限を付与する必要があります。 このトピックでは、プライベートOSSバケットへのDCDNアクセスを有効化および無効化する方法について説明します。
背景情報
プライベートOSSバケットへのアクセス権限をDCDNに付与すると、DCDNが提供するホットリンク保護やURL署名などの機能を使用してリソースを保護できます。 詳細については、「ホットリンク保護を有効にするリファラーホワイトリストまたはブラックリストの設定」および「URL署名の設定」をご参照ください。
この機能を初めて使用するときは、アカウント内のすべてのOSSバケットに対して DCDN読み取り専用権限を付与する必要があります。 デフォルトでは、この機能は一時的なSecurity Token Service (STS) トークンを使用してOSSバケットにアクセスします。 この機能を使用して、PUTリクエストを使用してOSSバケット内のオブジェクトを書き込みまたは削除することはできません。
永続的なセキュリティトークンを設定する場合は、トークンの申請時にPUTリクエストを使用して、OSSバケット内のオブジェクトの書き込みまたは削除にトークンが使用されることを制限する必要があります。 RAMユーザーを使用してOSSにアクセスする方法については、「RAMユーザーを使用したOSSへのアクセス」をご参照ください。
DCDNに読み取り専用権限を付与し、高速化ドメイン名のプライベートバケットアクセス機能を有効にすると、高速化ドメイン名を使用してプライベートバケット内のすべてのリソースにアクセスできます。 この機能を使用するときは注意してください。 プライベートOSSバケットに、Webサイトの訪問者向け以外のコンテンツが格納されている場合は、プライベートOSSバケットに対して DCDN権限を付与したり、プライベートバケットアクセス機能を有効にしたりしないでください。
Webサイトが攻撃に対して脆弱な場合は、Anti-DDoSサービスを購入してください。 さらに、 DCDN権限をプライベートOSSバケットに付与する場合、またはプライベートOSSバケットへのアクセスを有効にする場合は、注意してください。
プライベートバケットアクセス機能を有効にすると、POPs (Point of presence) がオリジンリクエストにAuthorizationヘッダーを追加します。 ヘッダーの値は、プライベートOSSバケットにアクセスするための認証署名です。 OSSバケットからリソースを取得するオリジンリクエストでは、AuthorizationヘッダーとURLパラメーターの両方に署名を含めることはできません。
Expires、signature、OSSAccessKeyIdなど、通常はクライアントによって生成される署名認証に使用されるAuthorizationヘッダーとURLパラメーターがオリジンリクエストに含まれている場合、OSS認証は失敗します。
プライベートOSSバケットへのアクセスを有効にする
ログインして
DCDNコンソール左側のナビゲーションウィンドウで、ドメイン名.
On theドメイン名ページで、管理するドメイン名を見つけて、設定.
ドメイン名の左側のナビゲーションツリーで、オリジンフェッチ.
オプション:プライベートバケットオリジン セクションで、権限付与 をクリックし、[権限付与ポリシーの確認] をクリックします。 この手順は、DCDNがプライベートOSSバケットにアクセスすることを初めて許可する場合にのみ必要です。

では、プライベートバケットオリジンセクションをオンにします。プライベートバケットオリジンスイッチを使用します。
説明DCDNにプライベートOSSバケット内の暗号化されていないオブジェクトへのアクセスを許可する場合は、上記の手順を実行するだけです。 Key Management Service (KMS) を使用して暗号化されたOSSオブジェクトにDCDNでアクセスする場合は、まずAliyunKMSCryptoUserAccessポリシーをAliyunCDNAccessingPrivateOSSRole RAMロールにアタッチする必要があります。
では、プライベートバケットアクセス表示されるダイアログボックスで、タイプを選択してOK.

パラメーター
説明
起源フェッチタイプ
同じアカウントのバケット: セキュリティトークンはsecurity token Service (STS) によって自動的に発行されます。 このオプションを使用すると、DCDNは同じAlibaba CloudアカウントのプライベートOSSバケットからのみコンテンツを取得できます。
バケットアカウントまたは同じアカウント: AccessKeyペアを設定する必要があります。 このオプションを使用すると、DCDNは、同じアカウントと異なるアカウントの両方のプライベートOSSバケットからコンテンツを取得できます。
AccessKey ID
プライベートOSSバケットが属するAlibaba CloudアカウントのAccessKey ID。 詳細については、「AccessKey の作成」をご参照ください。
AccessKey Secret
プライベートOSSバケットが属するAlibaba CloudアカウントのAccessKeyシークレット。
をアタッチします。AliyunKMSCryptoUserAccessポリシーをAliyunCDNAccessingPrivateOSSRoleRAMロール。
にログインします。RAMコンソール.
左側のナビゲーションウィンドウで、.
では、ロール名列を検索して選択し、AliyunCDNAccessingPrivateOSSRoleRAMロール。
[権限付与] をクリックします。 [権限付与] パネルでは、[プリンシパル] フィールドが自動的に入力されます。
[ポリシー] セクションで、AliyunKMSCryptoUserAccessシステムポリシーを検索します。 ポリシーをクリックして、[選択したポリシー] リストに追加します。
クリック権限の付与.
クリック閉じる.
プライベートOSSバケットへのアクセスを無効にする
DCDNがプライベートOSSバケットにアクセスしたくない場合は、RAMコンソールにログインして、DCDNに付与されているアクセス権限を取り消すことができます。
にログインします。RAMコンソール.
左側のナビゲーションウィンドウで、.
On theロールページ、検索してクリックAliyunCDNAccessingPrivateOSSRole.

ロールからすべての権限を取り消すAliyunCDNAccessingPrivateOSSRole.
管理するポリシーを見つけて、をクリックします。権限を取り消す[アクション] 列に表示されます。
では、権限を取り消すメッセージ, クリック権限を取り消す.
左側のナビゲーションウィンドウで、 を選択します。
検索AliyunCDNAccessingPrivateOSSRoleをクリックし、ロールの削除[アクション] 列に表示されます。
では、ロールの削除ダイアログボックスで、削除するロールの名前を入力し、ロールの削除.