REST API のセキュリティを設定する
REST API のセキュリティの実装を確認し、システムの保護方法について理解しておく必要があります。
StorageGRID が REST API のセキュリティを提供する仕組み
StorageGRID システムで REST API のセキュリティ、認証、および許可がどのように実装されるかを理解しておく必要があります。
StorageGRID では、次のセキュリティ対策が使用されます。
-
ロードバランサエンドポイントで HTTPS が設定されている場合は、ロードバランササービスとのクライアント通信に HTTPS が使用されます。
ロードバランサエンドポイントを設定する際に、オプションで HTTP を有効にすることができます。たとえば、非本番環境でのテストなどに HTTP を使用できます。詳細については、 StorageGRID の管理手順を参照してください。
-
StorageGRID は、ストレージノードとのクライアント通信およびゲートウェイノード上の CLB サービスとのクライアント通信に、デフォルトで HTTPS を使用します。
これらの接続に対して HTTP を有効にすることもできます。たとえば、非本番環境でのテストなどに HTTP を使用できます。詳細については、 StorageGRID の管理手順を参照してください。
CLB サービスは廃止されました。 -
StorageGRID とクライアント間の通信は、 TLS を使用して暗号化されます。
-
ロードバランササービスとグリッド内のストレージノードの間の通信は、ロードバランサエンドポイントが HTTP と HTTPS どちらの接続を受け入れるように設定されているかに関係なく暗号化されます。
-
REST API 処理を実行するには、クライアントが StorageGRID に HTTP 認証ヘッダーを提供する必要があります。
セキュリティ証明書とクライアントアプリケーション
クライアントは、ゲートウェイノードまたは管理ノード上のロードバランササービスに接続するか、ストレージノードに直接接続するか、またはゲートウェイノード上の CLB サービスに直接接続することができます。
いずれの場合も、クライアントアプリケーションは、グリッド管理者がアップロードしたカスタムサーバ証明書または StorageGRID システムが生成した証明書を使用して、 TLS 接続を確立できます。
-
ロードバランササービスに接続する場合、クライアントアプリケーションは、接続に使用するロードバランサエンドポイント用に設定された証明書を使用します。各エンドポイントには独自の証明書があり、グリッド管理者がアップロードしたカスタムサーバ証明書か、グリッド管理者がエンドポイントの設定時に StorageGRID で生成した証明書のいずれかです。
-
クライアントアプリケーションをストレージノードまたはゲートウェイノード上の CLB サービスに直接接続する場合、 StorageGRID システムのインストール時に生成されたシステム生成のサーバ証明書(システム認証局によって署名された証明書)を使用します。 グリッド管理者がグリッド用に指定した単一のカスタムサーバ証明書。
TLS 接続の確立に使用する証明書に署名した認証局を信頼するよう、クライアントを設定する必要があります。
ロードバランサエンドポイントの設定に関する情報や、ストレージノードまたはゲートウェイノード上の CLB サービスへの直接 TLS 接続に使用する単一のカスタムサーバ証明書を追加する方法については、 StorageGRID の管理手順を参照してください。
まとめ
次の表に、 S3 および Swift の REST API におけるセキュリティの問題に対する実装を示します。
Security 問題 の略 | REST API の実装 |
---|---|
接続のセキュリティ |
TLS |
サーバ認証 |
システム CA によって署名された X.509 サーバ証明書、または管理者から提供されたカスタムサーバ証明書 |
クライアント認証 |
|
クライアント許可 |
|
TLS ライブラリのハッシュアルゴリズムと暗号化アルゴリズムがサポートされます
StorageGRID システムでは、クライアントアプリケーションが Transport Layer Security ( TLS )セッションを確立する際に使用できる暗号スイートに制限があります。
サポートされる TLS のバージョン
StorageGRID では、 TLS 1.2 と TLS 1.3 がサポートされています。
SSLv3 と TLS 1.1 (またはそれ以前のバージョン)はサポートされなくなりました。 |
サポートされている暗号スイート
TLS バージョン | IANA 暗号スイートの名前 |
---|---|
1/2 |
TLS_ECDHE_RSA_with _AES_256_GCM_SHA384 |
1/2 |
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 |
1/2 |
TLS_ECDHE_RSA_With _AES_128_GCM_SHA256 |
1.3 |
TLS_AES_256_GCM_SHA384 |
1.3 |
TLS_CHACHA20_POLY1305_SHA256 |
1.3 |
TLS_AES_128_GCM _SHA256 |
廃止された暗号スイート
次の暗号スイートは廃止されました。これらの暗号のサポートは今後のリリースで廃止される予定です。
IANA 名 |
---|
TLS_RSA_With _AES_128_GCM _SHA256 |
TLS_RSA_With _AES_256_GCM_SHA384 |