StorageGRIDシステムでREST APIのセキュリティ、認証、および許可がどのように実装されるかを理解しておく必要があります。
StorageGRIDでは、次のセキュリティ対策が採用されています。
- ロード バランサ エンドポイントでHTTPSが設定されている場合は、ロード バランサ サービスとのクライアント通信にHTTPSが使用されます。
ロード バランサ エンドポイントを設定する際に、オプションでHTTPを有効にすることができます。たとえば、非本番環境でのテストなどにHTTPを使用できます。詳細については、StorageGRIDの管理に関する手順を参照してください。
- StorageGRIDは、ストレージ ノードとのクライアント通信およびゲートウェイ ノード上の従来型CLBサービスとのクライアント通信に、デフォルトでHTTPSを使用します。
これらの接続に対してHTTPを有効にすることができます。たとえば、非本番環境でのテストなどにHTTPを使用できます。詳細については、StorageGRIDの管理に関する手順を参照してください。
- StorageGRIDとクライアント間の通信は、TLSを使用して暗号化されます。
- ロード バランサ サービスとグリッド内のストレージ ノードの間の通信は、ロード バランサ エンドポイントがHTTPとHTTPSどちらの接続を受け入れるように設定されているかに関係なく暗号化されます。
- REST API処理を実行するには、クライアントがStorageGRIDにHTTP認証ヘッダーを提供する必要があります。
セキュリティ証明書とクライアント アプリケーション
クライアントは、ゲートウェイ ノードまたは管理ノード上のロード バランサ サービスに接続するか、ストレージ ノードに直接接続するか、またはゲートウェイ ノード上の従来型CLBサービスに直接接続することができます。
いずれの場合も、クライアント アプリケーションは、グリッド管理者がアップロードしたカスタム サーバ証明書または
StorageGRIDシステムが生成した証明書を使用して、TLS接続を確立できます。
- ロード バランサ サービスに接続する場合、クライアント アプリケーションは、接続に使用したロード バランサ エンドポイント用に設定された証明書を使用します。各エンドポイントには独自の証明書があり、グリッド管理者がアップロードしたカスタム サーバ証明書か、グリッド管理者がエンドポイントを設定する際にStorageGRIDで生成した証明書のいずれかです。
- ストレージ ノードに直接接続する場合またはゲートウェイ ノード上の従来型CLBサービスに直接接続する場合、クライアント アプリケーションは、StorageGRIDシステムのインストール時にストレージ ノード用にシステムで生成されたサーバ証明書(システム認証局によって署名されたもの)、またはグリッド管理者がグリッド用に提供した単一のカスタム サーバ証明書を使用します。
TLS接続の確立に使用する証明書に署名した認証局を信頼するよう、クライアントを設定する必要があります。
ロード バランサ エンドポイントの設定に関する情報や、ストレージ ノードまたはゲートウェイ ノード上の従来型CLBサービスとの直接的なTLS接続に使用する単一のカスタム サーバ証明書を追加する方法については、StorageGRIDの管理手順を参照してください。
概要
次の表に、S3およびSwiftのREST APIにおけるセキュリティの問題に対する実装を示します。
セキュリティの問題 |
REST APIの実装 |
接続のセキュリティ |
TLS |
サーバ認証 |
システムのCAによって署名されたX.509サーバ証明書、または管理者から提供されたカスタム サーバ証明書 |
クライアント認証 |
|
クライアント許可 |
- S3:バケットの所有権と適用可能なすべてのアクセス制御ポリシー
- Swift:管理者ロールのアクセス
|