日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

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 サーバ証明書、または管理者から提供されたカスタムサーバ証明書

クライアント認証

  • S3 : S3 アカウント(アクセスキー ID とシークレットアクセスキー)

  • Swift : Swift アカウント(ユーザ名とパスワード)

クライアント許可

  • S3 :バケットの所有権と適用可能なすべてのアクセス制御ポリシー

  • Swift :管理者ロールのアクセス

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