※ 本記事は、Rashmi Badan, Julien Lehmannによる”Announcing Access Control Lists in OCI Cache“を翻訳したものです。

2025年8月8日


OCI Cacheは、フルマネージドのValkeyおよびRedisエコシステムを提供するネイティブ・サービスです。このサービスでは、クラスタの作成と管理、OSおよびセキュリティ・パッチの適用、またはノード障害の処理といった日常的な管理タスクから解放されます。OCI Cacheは、ValkeyおよびRedisソフトウェア・エンジンのインタフェースと互換性があるため、既存のアプリケーションを自己管理型クラスタからOCI Cacheに簡単に移行できるため、チームは運用オーバーヘッドではなくコア・ビジネスに集中できます。OCI Cacheの詳細はこちらをご覧ください。

オラクルのお客様には、エンド・カスタマのニーズに対応する大規模で複雑なアプリケーションがあります。このようなアプリケーションは、共有データ・ストア内の各顧客のデータが効率的に分離されるように設計されており、この分離をキャッシュ内のデータにも拡張する必要があります。たとえば、アプリケーション・ロールは、組織内の部門(財務、HR、トレーニングなど)に基づいて割り当てることができます。また、開発、テスト、本番前および本番環境に接続するクライアントに基づいてロールを割り当てることができます。また、顧客は、ロールに基づいて特定のキースペースやコマンドへのアクセスなどの権限を付与する方法が必要です。

お客様をサポートするために、OCI CacheでValkeyとRedisのアクセス制御リスト(ACL)を導入しています。この機能により、ユーザーおよびクライアントは、定義された権限を持つOCI Cacheユーザーを介してキャッシュへのセキュアなアクセスを確立できます。

OCI Cacheユーザーの作成

OCI Cacheは、OCI Cacheユーザーを介したアクセス制御リストを容易にします。事前定義済の権限を持つサービスで1人以上のユーザーを作成し、それらを1つ以上のキャッシュ・クラスタに関連付けることができます。ユーザー認証は、パスワードまたはIAMベースのトークンのいずれかに基づいて設定でき、認可はユーザー作成時にアクセス文字列を介して指定されます。キャッシュへのアクセスを安全に確保するため、簡単な2つのステップから始めてください

  1. 1つ以上のOCI Cacheユーザーの作成
    Figure 1: New Create Cache Users interface
    図1: 新規Cacheユーザーの作成インタフェース
  2. キャッシュ・クラスタへのユーザーの追加
    Figure 2: Add users to your clusters interface
    図2: クラスタ・インタフェースへのユーザーの追加

これにより、キャッシュ・クラスタへのアクセスはクラスタに関連付けられているユーザーのみに制限され、アクセス権限は割り当てられた権限に制限されます。
関連付けられたクラスタに接続するには、ユーザーが「Active」状態である必要があります。関連するすべてのクラスタへのユーザー・アクセスを一時的に禁止する場合は、キャッシュ・ユーザーを編集してユーザー・ステータスを無効にして、ステータスを「Inactive」に設定します。

認証 – パスワードまたはIAMトークン

ユーザーの作成時に、パスワードまたはIAMトークンを選択してユーザーを認証できます。
パスワード認証を選択した場合は、ユーザーに対して最大2つのパスワードを設定できます。2番目のパスワードはオプションで、パスワードのローテーション中にクラスタ・ノード上の新しいパスワードをシームレスに更新するために使用されます。

IAMベースの認証を選択した場合、以下が必要になります
1. IAMユーザーがキャッシュにアクセスできるように、適切なIAMポリシーを設定します
2. キャッシュに接続するたびに、ユーザーのIAMトークンを作成します

IAMトークンの生成方法および使用方法の詳細は、ドキュメントのOCI CacheのIAM認証の項を参照してください。ユーザーの作成後に認証タイプを変更することはできません。

承認 – アクセス制御リスト

OCI Cacheを使用すると、アクセス制御文字列を使用して、キャッシュ内の特定のコマンドまたはキー(あるいはその両方)に対する権限を付与できます。

アクセス文字列の例を次に示します

on +@all allkeys

アクティブなユーザーはすべてのコマンドおよびキーにアクセスできます

on +@read ~*

アクティブ・ユーザーは読取り専用コマンドにアクセスできます

on ~hr_dept::* -@all +@read

アクティブ・ユーザーは、接頭辞 hr_dept を持つすべてのキーの読取りコマンドにアクセスできます

ACL文字列の詳細は、ValkeyおよびRedisのドキュメントを参照してください。

default user

OCI Cacheで作成されたすべてのクラスタは、認証を必要とせずに、キャッシュへのフル・アクセス(特定の管理コマンドを除く)を使用して、引き続きデフォルト・ユーザーを持ちます。OCI Cacheユーザー機能では、同じ名前、デフォルトで新しいユーザーを作成し、アクセス制御文字列を介して更新された権限を新しいユーザーに割り当てることで、デフォルトのユーザーの権限をオーバーライドできます。さらに、このユーザーをパスワードで保護できます。新しいデフォルト・ユーザーをクラスタに関連付けると、デフォルトのデフォルト・ユーザーは無効になります。

重要なポイント

OCI Cacheでは、ユーザーを作成し、そのユーザーに対するアクセス制御ルールを定義することで、キャッシュへのアクセスを保護できるようになりました。この新機能は、クライアントおよびアプリケーションがキャッシュに接続するための認証を追加することでセキュリティを向上させるだけでなく、適切なアクセス権限を付与することでデータの整合性を維持するのに役立ちます。

OCI Cacheでは、必要なセキュリティ・ポスチャおよびセキュリティ・コントロールに合せた柔軟性と制御が可能になりました。セキュアなネットワーク・アクセスのためにデフォルトでTLSが有効になっているプライベート・エンドポイント、VCNs内のクラスタを分離するNSGのサポート、OCI IAM統合を含む認証および認可により、OCI Cacheにアクセスするアプリケーションにきめ細かいアクセス制御を提供します。

Always FreeのOCIアカウントにサインアップし、今すぐ始めましょう