管理封鎖 AMI 的公有存取權設定 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理封鎖 AMI 的公有存取權設定

您可管理封鎖您 AMI 的公有存取權設定,以控制可否公開分享 AMI。您可使用 Amazon EC2 主控台或 AWS CLI來啟用、停用或檢視 AMI 目前的封鎖公有存取權狀態。

檢視封鎖 AMI 的公有存取權的狀態

若要查看您帳戶中 AMI 的公開共用是否已封鎖,您可以檢視封鎖 AMI 之公有存取權的狀態。您必須檢視您希望查看您的 AMI 的公開共用是否已封鎖之每個 AWS 區域 的狀態。

所需的許可

若要取得目前封鎖 AMI 的公有存取權設定,您必須擁有 GetImageBlockPublicAccessState IAM 許可。

Console
在指定區域中檢視封鎖 AMI 的公有存取權的狀態
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽列 (位於畫面頂端) 中,選取要檢視封鎖 AMI 的公有存取權的狀態的區域。

  3. 如果儀表板未顯示,請在導覽窗格中,選擇 EC2 儀表板

  4. 帳户屬性下,選擇資料保護和安全性

  5. 封鎖 AMI 的公有存取權下,請勾選公有存取權欄位。值可能是已封鎖新的公開共用,也可能是已允許新的公開共用

AWS CLI
若要取得封鎖 AMI 的公有存取權狀態

使用 get-image-block-public-access-state 命令。

  • 對於特定區域

    aws ec2 get-image-block-public-access-state --region us-east-1

    預期的輸出結果 – 值為 block-new-sharingunblocked

    ManagedBy 欄位指示配置設定的實體。在此範例中,account 表示設定是直接在帳戶內配置。值為 declarative-policy 表示設定是透過宣告式政策來配置。如需詳細資訊,請參閱「AWS Organizations 使用者指南」中的宣告式政策

    { "ImageBlockPublicAccessState": "block-new-sharing", "ManagedBy": "account" }
  • 對於您帳戶中的所有區域

    echo -e "Region \t Public Access State" ; \ echo -e "-------------- \t ----------------------" ; \ for region in $( aws ec2 describe-regions \ --region us-east-1 \ --query "Regions[*].[RegionName]" \ --output text ); do (output=$( aws ec2 get-image-block-public-access-state \ --region $region \ --output text) echo -e "$region \t $output" ); done

    預期的輸出結果 – 值為 block-new-sharingunblocked

    Region Public Access State -------------- ---------------------- ap-south-1 block-new-sharing eu-north-1 unblocked eu-west-3 block-new-sharing ...
PowerShell
若要取得封鎖 AMI 的公有存取權狀態

使用 Get-EC2ImageBlockPublicAccessState Cmdlet。

  • 對於特定區域

    Get-EC2ImageBlockPublicAccessState -Region us-east-1

    預期的輸出結果

    block-new-sharing
  • 對於您帳戶中的所有區域

    (Get-EC2Region).RegionName | ` ForEach-Object { [PSCustomObject]@{ Region = $_ PublicAccessState = (Get-EC2ImageBlockPublicAccessState -Region $_) } } | ` Format-Table -AutoSize

    預期的輸出結果

    Region PublicAccessState ------ ----------------- ap-south-1 block-new-sharing eu-north-1 block-new-sharing eu-west-3 block-new-sharing …

啟用「封鎖 AMI 的公有存取權」

若要阻止公開共用您的 AMI,請在帳戶層級啟用「封鎖 AMI 的公有存取權」。您必須在您希望阻止公開共用您的 AMI 的每個 AWS 區域 中啟用「封鎖 AMI 的公有存取權」。若您已有公有 AMI,則它們將保持公開可用。

所需的許可

若要啟用封鎖 AMI 的公有存取權設定,您必須擁有 EnableImageBlockPublicAccess IAM 許可。

Console
在指定區域中啟用「封鎖 AMI 的公有存取權」
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽列 (位於畫面頂端) 中,選取要啟用「封鎖 AMI 的公有存取權」的區域。

  3. 如果儀表板未顯示,請在導覽窗格中,選擇 EC2 儀表板

  4. 帳户屬性下,選擇資料保護和安全性

  5. 封鎖 AMI 的公有存取權下,選擇管理

  6. 選取封鎖新的公開共用核取方塊,然後選擇更新

    注意

    API 可能最多需要 10 分鐘的時間來設定此設定。在此期間,該值將是已允許新的公開共用。當 API 完成設定時,該值會自動變更為已封鎖新的公開共用

AWS CLI
啟用封鎖 AMI 的公有存取權

使用 enable-image-block-public-access 命令。

  • 對於特定區域

    aws ec2 enable-image-block-public-access \ --region us-east-1 \ --image-block-public-access-state block-new-sharing

    預期的輸出結果

    { "ImageBlockPublicAccessState": "block-new-sharing" }
  • 對於您帳戶中的所有區域

    echo -e "Region \t Public Access State" ; \ echo -e "-------------- \t ----------------------" ; \ for region in $( aws ec2 describe-regions \ --region us-east-1 \ --query "Regions[*].[RegionName]" \ --output text ); do (output=$( aws ec2 enable-image-block-public-access \ --region $region \ --image-block-public-access-state block-new-sharing \ --output text) echo -e "$region \t $output" ); done

    預期的輸出結果

    Region Public Access State -------------- ---------------------- ap-south-1 block-new-sharing eu-north-1 block-new-sharing eu-west-3 block-new-sharing ...
注意

API 可能最多需要 10 分鐘的時間來設定此設定。在此期間,如果您執行 get-image-block-public-access-state 命令,則回應將為 unblocked。當 API 完成設定時,回應將為 block-new-sharing

PowerShell
啟用封鎖 AMI 的公有存取權

使用 Enable-EC2ImageBlockPublicAccess 命令。

  • 對於特定區域

    Enable-EC2ImageBlockPublicAccess ` -Region us-east-1 ` -ImageBlockPublicAccessState block-new-sharing

    預期的輸出結果

    Value ----- block-new-sharing
  • 對於您帳戶中的所有區域

    (Get-EC2Region).RegionName | ` ForEach-Object { [PSCustomObject]@{ Region = $_ PublicAccessState = ( Enable-EC2ImageBlockPublicAccess ` -Region $_ ` -ImageBlockPublicAccessState block-new-sharing) } } | ` Format-Table -AutoSize

    預期的輸出結果

    Region PublicAccessState ------ ----------------- ap-south-1 block-new-sharing eu-north-1 block-new-sharing eu-west-3 block-new-sharing …

停用「封鎖 AMI 的公有存取權」

若要允許您帳戶中的使用者公開共用您的 AMI,請在帳戶層級停用「封鎖 AMI 的公有存取權」。您必須停用每個 AWS 區域 您想要允許公開共用 AMIs AMIs的封鎖公開存取。

所需的許可

若要停用封鎖 AMI 的公有存取權設定,您必須擁有 DisableImageBlockPublicAccess IAM 許可。

Console
在指定區域中停用「封鎖 AMI 的公有存取權」
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽列 (位於畫面頂端) 中,選取要停用「封鎖 AMI 的公有存取權」的區域。

  3. 如果儀表板未顯示,請在導覽窗格中,選擇 EC2 儀表板

  4. 帳户屬性下,選擇資料保護和安全性

  5. 封鎖 AMI 的公有存取權下,選擇管理

  6. 清除封鎖新的公開共用核取方塊,然後選擇更新

  7. 出現確認提示時,請輸入 confirm,然後選擇允許公開共用

    注意

    API 可能最多需要 10 分鐘的時間來設定此設定。在此期間,該值將是已封鎖新的公開共用。當 API 完成設定時,該值會自動變更為已允許新的公開共用

AWS CLI
停用封鎖 AMI 的公有存取權

使用 disable-image-block-public-access 命令。

  • 對於特定區域

    aws ec2 disable-image-block-public-access --region us-east-1

    預期的輸出結果

    { "ImageBlockPublicAccessState": "unblocked" }
  • 對於您帳戶中的所有區域

    echo -e "Region \t Public Access State" ; \ echo -e "-------------- \t ----------------------" ; \ for region in $( aws ec2 describe-regions \ --region us-east-1 \ --query "Regions[*].[RegionName]" \ --output text ); do (output=$( aws ec2 disable-image-block-public-access \ --region $region \ --output text) echo -e "$region \t $output" ); done

    預期的輸出結果

    Region Public Access State -------------- ---------------------- ap-south-1 unblocked eu-north-1 unblocked eu-west-3 unblocked ...
注意

API 可能最多需要 10 分鐘的時間來設定此設定。在此期間,如果您執行 get-image-block-public-access-state 命令,則回應將為 block-new-sharing。當 API 完成設定時,回應將為 unblocked

PowerShell
停用封鎖 AMI 的公有存取權

使用 Disable-EC2ImageBlockPublicAccess Cmdlet。

  • 對於特定區域

    Disable-EC2ImageBlockPublicAccess -Region us-east-1

    預期的輸出結果

    Value ----- unblocked
  • 對於您帳戶中的所有區域

    (Get-EC2Region).RegionName | ` ForEach-Object { [PSCustomObject]@{ Region = $_ PublicAccessState = (Disable-EC2ImageBlockPublicAccess -Region $_) } } | ` Format-Table -AutoSize

    預期的輸出結果

    Region PublicAccessState ------ ----------------- ap-south-1 unblocked eu-north-1 unblocked eu-west-3 unblocked …