Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-17566 Über-jira: S3A Hadoop 3.3.2 features
  3. HADOOP-13887

Encrypt S3A data client-side with AWS SDK (S3-CSE)

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.8.0
    • 3.3.2
    • fs/s3
    • Hide
      Adds support for client side encryption in AWS S3,
      with keys managed by AWS-KMS.

      Read the documentation in encryption.md very, very carefully before
      use and consider it unstable.

      S3-CSE is enabled in the existing configuration option
      "fs.s3a.server-side-encryption-algorithm":

      fs.s3a.server-side-encryption-algorithm=CSE-KMS
      fs.s3a.server-side-encryption.key=<KMS_KEY_ID>

      You cannot enable CSE and SSE in the same client, although
      you can still enable a default SSE option in the S3 console.

      * Not compatible with S3Guard.
      * Filesystem list/get status operations subtract 16 bytes from the length
        of all files >= 16 bytes long to compensate for the padding which CSE
        adds.
      * The SDK always warns about the specific algorithm chosen being
        deprecated. It is critical to use this algorithm for ranged
        GET requests to work (i.e. random IO). Ignore.
      * Unencrypted files CANNOT BE READ.
        The entire bucket SHOULD be encrypted with S3-CSE.
      * Uploading files may be a bit slower as blocks are now
        written sequentially.
      * The Multipart Upload API is disabled when S3-CSE is active.
      Show
      Adds support for client side encryption in AWS S3, with keys managed by AWS-KMS. Read the documentation in encryption.md very, very carefully before use and consider it unstable. S3-CSE is enabled in the existing configuration option "fs.s3a.server-side-encryption-algorithm": fs.s3a.server-side-encryption-algorithm=CSE-KMS fs.s3a.server-side-encryption.key=<KMS_KEY_ID> You cannot enable CSE and SSE in the same client, although you can still enable a default SSE option in the S3 console. * Not compatible with S3Guard. * Filesystem list/get status operations subtract 16 bytes from the length   of all files >= 16 bytes long to compensate for the padding which CSE   adds. * The SDK always warns about the specific algorithm chosen being   deprecated. It is critical to use this algorithm for ranged   GET requests to work (i.e. random IO). Ignore. * Unencrypted files CANNOT BE READ.   The entire bucket SHOULD be encrypted with S3-CSE. * Uploading files may be a bit slower as blocks are now   written sequentially. * The Multipart Upload API is disabled when S3-CSE is active.

    Description

      Expose the client-side encryption option documented in Amazon S3 documentation - http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html

      When backporting, include HADOOP-17817

      Attachments

        1. HADOOP-13887-002.patch
          34 kB
          Igor Mazur
        2. HADOOP-13887-007.patch
          38 kB
          Igor Mazur
        3. HADOOP-13887-branch-2-003.patch
          33 kB
          Igor Mazur
        4. HADOOP-13897-branch-2-004.patch
          36 kB
          Igor Mazur
        5. HADOOP-13897-branch-2-005.patch
          36 kB
          Igor Mazur
        6. HADOOP-13897-branch-2-006.patch
          36 kB
          Igor Mazur
        7. HADOOP-13897-branch-2-008.patch
          38 kB
          Igor Mazur
        8. HADOOP-13897-branch-2-009.patch
          49 kB
          Igor Mazur
        9. HADOOP-13897-branch-2-010.patch
          51 kB
          Igor Mazur
        10. HADOOP-13897-branch-2-012.patch
          51 kB
          Igor Mazur
        11. HADOOP-13897-branch-2-014.patch
          51 kB
          Igor Mazur
        12. HADOOP-13897-trunk-011.patch
          51 kB
          Igor Mazur
        13. HADOOP-13897-trunk-013.patch
          51 kB
          Igor Mazur
        14. HADOOP-14171-001.patch
          4 kB
          Steve Loughran
        15. S3-CSE Proposal.pdf
          160 kB
          Steve Moist

        Issue Links

          Activity

            People

              mehakmeetSingh Mehakmeet Singh
              jeeyoungk Jeeyoung Kim
              Votes:
              2 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 14h 40m
                  14h 40m