Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Cloudflare Access で R2 バケットを保護する

最終更新 Markdown で表示Agent セットアップ

Cloudflare Access を使うと、R2 バケットへのアクセスを保護できます。

Access では、定義したポリシーに基づき、組織内の特定のユーザー、グループ、アプリケーションだけが、バケット内のオブジェクト、または特定のサブパスにアクセスできるようにできます。

1. バケットを作成する

すでに R2 バケットがある場合は、このステップをスキップできます。

R2 バケットを作成する必要があります。このガイドに戻る前に、R2 の始め方 に沿ってバケットを作成してください。

2. Access アプリケーションを作成する

Cloudflare ダッシュボードの Zero Trust セクションで、Access アプリケーションと、R2 バケットへのアクセスを制限するポリシーを作成します。

Cloudflare Access をまだ設定していない場合は、次を推奨します。

  • 先に ID プロバイダー を設定し、Access が組織のシングルサインオン(SSO)プロバイダーを認証方法として使えるようにします。

R2 バケット用の Access アプリケーションを作成する手順は次のとおりです。

  1. Cloudflare ダッシュボード で、Zero Trust > Access controls > Applications を開き、Create new application を選びます。

  2. Self-hosted and private を選びます。

  3. Add public hostname を選び、アプリケーションドメインを入力します。Domain は Cloudflare でホストしているドメインである必要があり、Subdomain は R2 バケットに接続するカスタムドメインの一部です。たとえば、behind-access.example.com からファイルを配信し、example.com が Cloudflare アカウント内のドメインなら、サブドメイン欄に behind-access を入力し、Domain リストから example.com を選びます。

  4. Access ポリシー を追加して、アプリケーションに接続できる人を制御します。これは Allow ポリシーにして、この Access アプリケーションの背後にあるバケット内のオブジェクトにユーザーがアクセスできるようにします。

  5. 残りの セルフホストアプリケーション作成手順 に沿って、アプリケーションを公開します。

3. カスタムドメインを接続する

Access アプリケーションとして設定するには、バケットに カスタムドメインを接続 する必要があります。カスタムドメインは、Access ポリシーの設定時に入力したドメインと 同じ にしてください。

  1. Cloudflare ダッシュボードで R2 object storage ページを開きます。

    Overview を開く ↗
  2. 対象のバケットを選びます。

  3. Settings を選びます。

  4. Custom DomainsAdd を選びます。

  5. 接続するドメイン名を入力し、Continue を選びます。

  6. DNS テーブルに追加される新しいレコードを確認し、Connect Domain を選びます。

ドメインが接続されます。ステータスが Initializing から Active に変わるまで数分かかります。更新を確認するには、ページを再読み込みしてください。ステータスが変わらない場合は、バケットの横の ... を選び、Retry connection を選びます。

4. Access ポリシーをテストする

R2 バケットに接続したカスタムドメインにアクセスします。選んだ ID プロバイダーや認証方法が表示される、Cloudflare Access の認証ページが出ます。

たとえば、Google や GitHub の ID プロバイダーを接続している場合は、それらのプロバイダーでログインできます。ログインに成功し、このガイドで設定した Access ポリシーを満たせば、R2 バケット内のオブジェクトにアクセス(読み取り / ダウンロード)できます。

認証できない場合、または認証後にブロックページが表示される場合は、Access アプリケーション内に、自分のユーザーアカウントが属するグループを明示的に許可する Access ポリシー があるかを確認してください。

次のステップ

役に立ちましたか?