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