AWS CLI/SDKを通してのみ利用可能な5つのS 3機能


私の学習の間、私はAWS CLIを通してしか利用できない5つのS 3機能を発見しました:

目次

  • Configuring S3 MFA delete
  • Configure AWS Client
  • Command to enable MFA
  • Command to disable MFA
  • S3 Pre-signed URLs

  • Upload files to S3 Glacier Vault
  • Command to create a vault
  • Command to upload an archive to a vault
  • To delete a non-empty vault
  • S3 Multi Part Upload
  • S3 Access point through VPC

  • S 3 MFA deleteの設定
    Amazon S 3 BucketでS 3 Versioningで動作する場合、オプションでMFA(Multi Factor Authentication)の削除を有効にするバケットを設定することにより、セキュリティの別の層を追加できます.あなたがこれをするとき、バケツ所有者はバージョンを削除するか、バケットのバージョン管理状態を変えるどんな要請においても2つの形式の認証を含まなければなりません.
    MFA DELETEには、次のいずれかの操作の追加認証が必要です
    👉 バケットのバージョン管理状態を変更する

    👉 オブジェクトのバージョンを永久に削除する

    MFA削除には2つの形式の認証が必要です.
  • あなたのセキュリティ資格
  • 承認された認証装置に表示される有効なシリアル番号、スペース、および6桁のコードの連結
  • MFAを有効にするには、以下の手順に従う必要があります.

    クライアントの設定
    AWSアクセスキーを作成しaws configure あなたの資格情報を設定します.
    📓 これはセキュリティ目的のためのベストプラクティスではありませんが、現在のエクササイズに対してのみ使用します.

    コマンドを有効にする
    📓 213849認証トークンです
    [ec2user@some-ip ~]$ aws s3api put-bucket-versioning --profile default --bucket testbucketmfa --versioning-configuration Status=Enabled,MFADelete=Enabled --mfa "arn:aws:iam::XXXXXXXXXXXX:mfa/account-mfa-device 213849"
    

    コマンドを無効にする
    [ec2user@some-ip ~]$ aws s3api put-bucket-versioning --profile default --bucket testbucketmfa --versioning-configuration Status=Enabled,MFADelete=Disabled --mfa "arn:aws:iam::XXXXXXXXXXXX:mfa/account-mfa-device 987543"
    

    2 . S 3 pre - signed URL
    S 3のすべてのオブジェクトはデフォルトでプライベートです.オブジェクト所有者だけがこれらのオブジェクトにアクセスする許可を持っています.ただし、オブジェクトの所有者は、オブジェクトをダウンロードするために時間制限のアクセス許可を付与するには、自分のセキュリティ資格情報を使用して、プリ署名されたURLを作成することによって、他のオブジェクトとオブジェクトを共有することができます.
    以下のコマンドはAWS CLIを使用しています.また、AWS SDKを使ってプリサインされたURLを生成することもできます.
    aws s3 presign s3://testbucket202119/smiley.jpg --region ap-southeast-2
    
    上記のコマンドはURLを生成します.
    https://testbucket202119.s3.amazonaws.com/smiley.jpg?AWSAccessKeyId=AKIAYYDMCK6YRXWASPX2&Expires=1639901714&Signature=VGcqq8ilnCtkd8OTFJP4aMidqI4%3D
    

    S 3氷河・ヴォールトへのファイルのアップロード
    S 3グレーシャーVaultアーカイブを格納するためのコンテナです.

    Vaultを作成するコマンド
    aws glacier create-vault --vault-name testvault --account-id [AccountId]
    

    アーカイブをvaultにアップロードするコマンド
    aws glacier upload-archive --account-id [AccountId] --vault-name testvault --body HappyFace.jpg
    

    空のVaultを削除するには
    👉 空のVaultを削除する場合は、最初にvaultを削除する前に既存のすべてのアーカイブを削除する必要があります.以下のコマンドはAWS CLIを使用しています.また、REST APIやAWS SDKを使用することもできます.
    Inventateジョブコマンドを使用してインベントリ検索ジョブを開始します.
    aws glacier initiate-job --vault-name testvault  --account-id [AccountId] --job-parameters '{"Type": "inventory-retrieval"}'
    {
      ...
      "jobId": "Nm1J8J2qnjgiT68k09gCbSSm2wG_IsBFwlxYSQo2JsAbDgwCV0nPy-Sxcc5BeUnQF2y13HWF3zmWvj6wPK5sIlzZOh45"
    }
    
    説明するジョブコマンドを使用して、以前の検索ジョブのステータスを確認したり、Vaultの通知を通知したりできます.
    aws glacier describe-job --vault-name testvault --account-id [AccountId] --job-id "jobId from the above output"
    {
        "CompletionDate": "2021-12-20T03:53:59.230Z", 
        "VaultARN": "arn:aws:glacier:ap-southeast-2:[AccountId]:vaults/testvault", 
        "InventoryRetrievalParameters": {
            "Format": "JSON"
        }, 
        "Completed": true, 
        "InventorySizeInBytes": 445, 
        "JobId": "Nm1J8J2qnjgiT68k09gCbSSm2wG_IsBFwlxYSQo2JsAbDgwCV0nPy-Sxcc5BeUnQF2y13HWF3zmWvj6wPK5sIlzZOh45", 
        "Action": "InventoryRetrieval", 
        "CreationDate": "2021-12-20T00:01:20.715Z", 
        "StatusMessage": "Succeeded", 
        "StatusCode": "Succeeded"
    }
    
    ファイルを取得するには約3時間かかりました.
    それが完了したら、Count - job Output Countコマンドを使用して、ファイルを出力します.JSON
    aws glacier get-job-output --vault-name testvault --account-id [AccountId] --job-id "Nm1J8J2qnjgiT68k09gCbSSm2wG_IsBFwlxYSQo2JsAbDgwCV0nPy-Sxcc5BeUnQF2y13HWF3zmWvj6wPK5sIlzZOh45" output.json
    
    cat output.json 
    {
       "VaultARN":"arn:aws:glacier:ap-southeast-2:[AccountId]:vaults/testvault",
       "InventoryDate":"2021-12-19T21:20:06Z",
       "ArchiveList":[
          {
             "ArchiveId":"HW0qIFuG4o6Ov4CGm8RpbzBFgftorVdKUSx5yBXssKg2wo5vqvXJwtyds29T86ALW3LmtOjtsLymoqh073gq2QBHr0Nitc3ot4HCu-LPOlkoHIhCtx6xU_JdvH8v9NFEMvsThpPJfA",
             "ArchiveDescription":"",
             "CreationDate":"2021-12-19T09:00:59Z",
             "Size":131281,
             "SHA256TreeHash":"f2216ef309ad918a2b3286652d5b5be8877f81a8d13181058f11d7d28f12c180"
          }
       ]
    }
    
    👉 S 3氷河は、各Vaultのための目録を準備します、およそ24時間ごとに1回.それで、最後のインベントリからどんな書き込みもなかったならば、我々は24時間後にVaultを削除することができるだけです.
    残りのアーカイブが保管されていないまでアーカイブを削除します.
    aws glacier delete-archive --vault-name testvault --account-id [AccountId] --archive-id  “archiveid from the above output"
    
    あなたの詳細情報を見つけることができますDeleting an Archive in Amazon S3 Glacier Using the AWS Command Line Interface

    4 . S 3マルチパートアップロード
    マルチパーツをアップロードすると、部品のセットとして単一のオブジェクトをアップロードすることができます.各部分はオブジェクトのデータの連続した部分です.任意の順序でこれらの部品をアップロードすることができます.
    一般に、あなたのオブジェクトサイズが100 MBに達するとき、あなたは一つの操作でオブジェクトをアップロードする代わりにmultipartアップロードを使用することを考慮するべきです.
    S 3またはS 3 APIを使用できます.あなたの詳細情報を見つけることができますHow do I use the AWS CLI to perform a multipart upload of a file to Amazon S3?

    VPCを通してのS 3アクセスポイント
    アマゾンS 3アクセスポイントは、S 3の機能は、任意のAWSサービスや顧客アプリケーションのデータアクセスを簡素化するS 3のデータを格納します.S 3アクセスポイントでは、顧客は簡単に共有データセットへのアクセスを制御する各アクセスポイントのユニークなアクセス制御ポリシーを作成できます.
    S 3コンソールは、仮想プライベートクラウド(VPC)アクセスポイントを使用してバケットリソースへのアクセスをサポートしません.VPCアクセスポイントからバケットリソースにアクセスするには、AWS CLI、AWS SDK、Amazon S 3 REST APIを使用します.

    謝辞
  • Stephane Maarek's- Ultimate AWS Certified SysOps Administrator Associate 2021 on Udemy
  • AWS Documentation
  • コメントであなたの考えを知らせてください.