プライベートOSS (Object Storage Service) バケットをオリジンサーバーとして設定する場合、OSSバケットにアクセスする権限をAlibaba Cloud CDNに付与し、プライベートバケットアクセス機能を有効にすることを推奨します。 この機能は、アクセス認証および不正アクセスからオリジンサーバーを保護するために使用できます。 これにより、Alibaba Cloud Content Delivery Network (CDN) は、プライベートOSSバケット内のリソースの配信を高速化できます。
使用上の注意
この機能を初めて使用するときは、アカウント内のすべてのOSSバケットに対してCDN 読み取り専用権限を付与する必要があります。 デフォルトでは、この機能は一時的なSecurity Token Service (STS) トークンを使用してOSSバケットにアクセスします。 この機能を使用して、PUTリクエストを使用してOSSバケット内のオブジェクトを書き込みまたは削除することはできません。
永続的なセキュリティトークンを設定する場合は、トークンの申請時にPUTリクエストを使用して、OSSバケット内のオブジェクトの書き込みまたは削除にトークンが使用されることを制限する必要があります。 RAMユーザーを使用してOSSにアクセスする方法については、「RAMユーザーを使用したOSSへのアクセス」をご参照ください。
Alibaba Cloud CDNに読み取り専用権限を付与し、高速化ドメイン名のプライベートバケットアクセス機能を有効にすると、高速化ドメイン名を使用してプライベートバケット内のすべてのリソースにアクセスできます。 この機能を使用するときは注意してください。 プライベートOSSバケットに、Webサイトの訪問者向け以外のコンテンツが格納されている場合は、プライベートOSSバケットに対してAlibaba Cloud CDN 権限を付与したり、プライベートバケットアクセス機能を有効にしたりしないでください。
Webサイトが攻撃に対して脆弱な場合は、Anti-DDoSサービスを購入してください。 また、プライベートOSSバケットに対してAlibaba Cloud CDN権限を付与する場合、またはプライベートOSSバケットへのアクセスを有効にする場合は、注意して続行してください。
プライベートOSSバケットへのアクセスは、OSSでホストされている静的Webサイトのデフォルトホームページの設定と競合します。 両方の機能を有効にする場合は、プライベートOSSバケットへのアクセスが有効になった後、アクセラレーションドメイン名宛てのリクエストが「バケットのリストを禁止されています」というエラーメッセージをトリガーするのはなぜですか。
プライベートバケットアクセス機能を有効にすると、POPs (Point of presence) がオリジンリクエストにAuthorizationヘッダーを追加します。 ヘッダーの値は、プライベートOSSバケットにアクセスするための認証署名です。 OSSバケットからリソースを取得するオリジンリクエストでは、AuthorizationヘッダーとURLパラメーターの両方に署名を含めることはできません。
Expires
、signature
、OSSAccessKeyId
など、通常はクライアントによって生成される署名認証に使用されるAuthorizationヘッダーとURLパラメーターがオリジンリクエストに含まれている場合、OSS認証は失敗します。Alibaba Cloud CDNが提供するホットリンク保護やURL署名などの機能を使用して、リソースを不正アクセスから保護できます。 詳細については、「ホットリンク保護を有効にするリファラーホワイトリストまたはブラックリストの設定」および「URL署名の設定」をご参照ください。
プライベートOSSバケットへのアクセスを有効にする
Alibaba Cloud CDNコンソールにログインします。
左側のナビゲーションウィンドウで、ドメイン名.
ドメイン名ページで、管理するドメイン名を見つけて、管理.
ドメイン名の左側のナビゲーションツリーで、Back-to-Origin 設定.
オプション: この機能を初めて使用するときにこの操作を実行します。 プライベートバケットアクセス セクションで、権限付与 をクリックします。 次に、[権限付与ポリシーの確認] をクリックします。
説明CDNコンソールを使用してプライベートOSSバケットに権限を付与できなかった場合は、RAMコンソールを使用してプライベートOSSバケットに権限を付与できます。 詳細については、「RAMコンソールを使用したプライベートOSSバケットの権限付与」をご参照ください。
プライベートバケットアクセスセクション、オンにするプライベートバケットアクセス.
説明Alibaba Cloud CDNがプライベートOSSバケット内の暗号化されていないオブジェクトにアクセスする権限を付与する場合は、上記の手順を実行するだけです。 Alibaba Cloud CDNがKey Management Service (KMS) を使用して暗号化されたOSSオブジェクトにアクセスする場合は、まずAliyunKMSCryptoUserAccessポリシーをRAMロールAliyunCDNAccessingPrivateOSSRoleにアタッチする必要があります。 詳細については、「AliyunKMSCryptoUserAccessポリシーをRAMロールAliyunCDNAccessingPrivateOSSRoleにアタッチする」をご参照ください。
プライベートバケットアクセス表示されるダイアログボックスで、タイプを選択してOK.
パラメーター
説明
タイプ
同じアカウントのバケット: STSが発行するセキュリティトークンが自動的に設定されます。 ただし、Alibaba Cloud CDNは、同じAlibaba CloudアカウントのプライベートOSSバケットにのみアクセスできます。
Bucket Accounts or in the Same Account: 永続的なセキュリティトークンを設定する必要があります。 これにより、Alibaba Cloud CDNは、同じAlibaba Cloudアカウント内のプライベートOSSバケットからコンテンツを取得できるだけでなく、Alibaba Cloudアカウント全体のプライベートOSSバケットからもコンテンツを取得できます。
AccessKey ID
プライベートOSSバケットが属するAlibaba CloudアカウントのAccessKey ID。 詳細については、「AccessKey の作成」をご参照ください。
AccessKey Secret
プライベートOSSバケットが属するAlibaba CloudアカウントのAccessKeyシークレット。
オプション: AliyunKMSCryptoUserAccessRAMロールへのポリシーAliyunCDNAccessingPrivateOSSRoleをアタッチします。
RAMコンソールにログインします。
左側のナビゲーションウィンドウで、 .
ロールページ、RAMロールを見つけるAliyunCDNAccessingPrivateOSSRole.
[権限付与] をクリックします。 [権限付与] パネルで、[プリンシパル] フィールドが自動的に入力されます。
[ポリシー] セクションで、[システムポリシー] を選択し、検索ボックスにAliyunKMSCryptoUserAccessを入力して、AliyunKMSCryptoUserAccess権限ポリシーを検索します。 権限ポリシーをクリックして、[選択したポリシー] リストに追加します。
[権限の付与] をクリックします。 完了が表示されます。
閉じる.
RAMコンソールを使用したプライベートOSSバケットへの権限付与
Alibaba Cloud CDN コンソールを使用してプライベートOSSバケットに権限を付与できなかった場合、RAMコンソールを使用してプライベートOSSバケットに権限を付与できます。
RAM コンソールにログインします。
左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。
[ポリシー] ページで [ポリシーの作成] をクリックします。
[JSON] タブをクリックします。 ポリシーエディターで、次のポリシー内容を入力します。
{ "Version": "1", "Statement": [ { "Action": [ "oss:List*", "oss:Get*" ], "Resource": "*", "Effect": "Allow" } ] }
[次へ] をクリックし、次のパラメーターを設定し、[OK] をクリックします。
名前: AliyunCDNAccessingPrivateOSSRolePolicy。
Desciption: RAMロールにアタッチするポリシー (OSSバケットの読み取り専用権限を含む) 。
左側のナビゲーションウィンドウで、[アイデンティティ] > [ロール] を選択します。
[ロール] ページで、[ロールの作成] をクリックします。
[信頼できるエンティティの選択] セクションで、[Alibaba Cloudアカウント] を選択し、[次へ] をクリックします。
[ロールの設定] ステップで、次の情報を入力します。
RAMロール名: AliyunCDNAccessingPrivateOSSRole
注意: デフォルトでは、Alibaba Cloud CDNとDCDNはこのロールを使用してプライベートOSSバケットにアクセスします。
[信頼できるAlibaba Cloudアカウントの選択] セクションで、[現在のAlibaba Cloudアカウント] を選択し、[OK] をクリックします。
ロールを作成した後、[ロール] ページで [AliyunCDNAccessingPrivateOSSRole] をクリックします。
[信頼ポリシー] タブで、[信頼ポリシーの編集] をクリックし、次の情報を入力して、[信頼ポリシードキュメントの保存] をクリックします。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "cdn.aliyuncs.com" ] } } ], "Version": "1" }
[権限] タブで、[権限付与] をクリックします。
[リソーススコープ] セクションで、[アカウント] を選択します。
[ポリシー] セクションで、[カスタムポリシーの] を選択し、作成したポリシーを選択し、[権限の付与] をクリックします。
Alibaba Cloud CDN コンソールの [オリジンフェッチ] ページに移動します。 ロールがAlibaba Cloud OSSプライベートバケットアクセス機能の使用を許可されていることがわかります。
プライベートOSSバケットの権限を取り消す
Alibaba Cloud CDN にプライベートOSSバケットに対する権限を持たせたくない場合は、RAMコンソールで対応するロールの権限を取り消すことができます。
RAMコンソールにログインします。
左側のナビゲーションウィンドウで、 .
ロールページをクリックします。AliyunCDNAccessingPrivateOSSRole.
ロールからすべての権限を取り消すAliyunCDNAccessingPrivateOSSRole.
管理するポリシーを見つけて、クリックします。権限を取り消す[アクション] 列に表示されます。
[許可の取り消し] メッセージで、権限を取り消す.
を選択します。
検索AliyunCDNAccessingPrivateOSSRoleをクリックし、ロールの削除[アクション] 列に表示されます。
ロールの削除ダイアログボックスで、AliyunCDNAccessingPrivateOSSRoleと入力し、ロールの削除.
関連ドキュメント
Alibaba Cloud CDNを使用してOSSバケットからのリソースの配信を高速化する方法については、「Alibaba Cloud CDNを使用してOSSバケットからのリソースの配信を高速化する」をご参照ください。
プライベートバケットへのアクセスを有効にすると、Alibaba Cloud CDN 高速化ドメイン名にアクセスすると、「バケットの一覧表示が禁止されます」というエラーメッセージが表示される場合があります。 エラーを修正する方法の詳細については、「プライベートOSSバケットオリジンフェッチが有効になった後にAlibaba Cloud Content Delivery Networkアクセラレーションドメイン名にアクセスすると、「バケットの一覧表示が禁止されています」エラーが表示されます」をご参照ください。
プライベートバケットへのアクセスを有効にすると、Alibaba Cloud CDN は、デフォルトで非匿名アクセスのプライベートバケットからコンテンツを取得するリクエストに署名情報を含めます。 ただし、静的Webサイトホスティングを使用して構成されたデフォルトのホームページにアクセスするには、リクエストを匿名にする必要があります。 詳細については、「」をご参照ください。Alibaba Cloud CDNを使用してプライベートバケットからオブジェクトを取得するときに、バケットのデフォルトのホームページにアクセスできないのはなぜですか。