在中建立和使用客戶受管理的權限AWS RAM - AWS Resource Access Manager

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

在中建立和使用客戶受管理的權限AWS RAM

AWS Resource Access Manager(AWS RAM) 為您可以共用的每個資源類型提供至少一個AWS Managed 權限。不過,這些受管理的權限可能無法為您的共用使用案例提供最少的權限存取。當其中一個提供的AWS受管理權限無法運作時,您可以建立自己的客戶受管權限。

客戶管理的權限是您編寫和維護的受管理權限,方法是精確指定在哪些情況下可以執行哪些動作與使用共用的資源AWS RAM。例如,您想要限制 Amazon VPC IP 位址管理員 (IPAM) 集區的讀取存取權限,以協助您大規模管理 IP 地址。您可以為開發人員建立客戶管理權限以指派 IP 位址,但無法檢視其他開發人員帳戶指派的 IP 位址範圍。您可以遵循最低權限的最佳實務,只授予最低權限的許可。

此外,您可以視需要更新或刪除客戶管理的權限。

建立客戶受管許可

客戶管理的權限專屬於AWS 區域. 請務必在適當的區域中建立此客戶管理權限。

Console
建立客戶受管許可
  1. 執行下列任意一項:

  2. 如需客戶受管權限詳細資訊,請輸入客戶受管理的權限名稱。

  3. 選擇此受管理權限套用的資源類型。

  4. 對於策略範本,您可以定義允許對此資源類型執行哪些作業。

    • 您可以選擇 [匯入受管理的權限],以使用現有受管理權限的動作。

    • 在視覺化編輯器中選取或取消選取存取層級資訊,以符合您的需求。

    • 使用 JSON 編輯器新增或修改條件。

  5. (選擇性) 若要將標籤附加至受管理的權限,請針對「標」輸入標籤金鑰和值。選擇「新增標籤」以新增其他標籤。若需要則重複此步驟。

  6. 當您完成時,請選擇 [建立客戶受管權限]

AWS CLI
建立客戶受管許可
  • 執行建立權限命令,並指定名稱、客戶受管理權限套用的資源類型,以及政策範本內文。

    下列範例命令會建立imagebuilder:Component資源類型的受管理權限。

    $ aws ram create-permission \ --name TestCMP \ --resource-type imagebuilder:Component \ --policy-template "{\"Effect\":\"Allow\",\"Action\":[\"imagebuilder:ListComponents\"]}" { "permission": { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "1", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680033769.401, "lastUpdatedTime": 1680033769.401 } }

建立新版本的客戶受管許可

如果客戶受管權限的使用案例發生變更,您可以建立受管理權限的新版本。這不會影響您現有的資源共用,只會影響未來使用此客戶管理權限的新資源共用。

每個受管理的權限最多可以有五個版本,但您只能關聯預設版本。

Console
建立新版本的客戶受管許可
  1. 導覽至受管理的權限程式庫

  2. 依「客戶管理」篩選受管理的權限清單,或搜尋您要變更的客戶受管理權限名稱。

  3. 從受管理的權限詳細資料頁面的 [受管理的權限版本] 區段下,選擇 [建立版本]。

  4. 對於策略範本,您可以使用視覺化編輯器或 JSON 編輯器新增或移除動作和條件。

    您也可以選擇 [匯入受管理的權限],以使用現有的原則範本。

  5. 當您完成時,請選擇頁面底部的 [建立版本]。

AWS CLI
建立新版本的客戶受管許可
  1. 找到您要為其建立新版本的受管許可的 Amazon Resource Name (ARN)。透過使用--permission-type CUSTOMER_MANAGED參數呼叫清單權限以僅包含客戶管理的權限來執行此操作。

    $ aws ram-cmp list-permissions --permission-type CUSTOMER_MANAGED { "permissions": [ { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680035597.346, "lastUpdatedTime": 1680035597.346 } ] }
  2. 擁有 ARN 之後,您可以呼叫create-permission-version作業並提供更新的原則範本。

    $ aws ram create-permission-version \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \ --policy-template {"Effect":"Allow","Action":["imagebuilder:ListComponents"]} { "permission": { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "status": "ATTACHABLE", "resourceType": "imagebuilder:Component", "permission": "{\"Effect\":\"Allow\",\"Action\":[\"imagebuilder:ListComponents\"]}", "creationTime": 1680038973.79, "lastUpdatedTime": 1680038973.79 } }

    輸出包括新版本的版本號碼。

選擇不同版本作為客戶管理權限的預設版本

您可以將另一個客戶管理的權限版本設定為新的預設版本。

Console
若要為客戶管理的權限設定新的預設版本
  1. 導覽至受管理的權限程式庫

  2. 依「客戶管理」篩選受管理的權限清單,或搜尋您要變更的客戶受管理權限名稱。

  3. 在 [客戶管理的權限詳細資料] 頁面的 [受管理的權限版本] 區段下,使用下拉式清單選擇您要設定為新預設值的版本。

  4. 選擇「設為預設版本」。

  5. 當對話方塊出現時,請確認您希望此版本成為使用此客戶管理權限之所有新資源共用的預設版本。如果您同意,請選擇「設定為預設版本」。

AWS CLI
若要為客戶管理的權限設定新的預設版本
  1. 通過調用找到要設置為默認版本的版本號list-permission-versions

    下列範例命令會擷取指定受管權限的目前版本。

    $ aws ram list-permission-versions \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP { "permissions": [ { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "1", "defaultVersion": false, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "featureSet": "STANDARD", "resourceType": "imagebuilder:Component", "status": "UNATTACHABLE", "creationTime": 1680033769.401, "lastUpdatedTime": 1680035597.345 }, { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "featureSet": "STANDARD", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680035597.346, "lastUpdatedTime": 1680035597.346 } ] }
  2. 將版本號設定為預設值之後,您可以呼叫該set-default-permission-version作業。

    $ aws ram-cmp set-default-permission-version \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \ --version 2

    如果成功,此命令不會傳回任何輸出。您可以list-permission-versions再次執行,並確認所選版本的defaultVersion欄位現在已設定為true

刪除客戶管理的權限版本

您最多可以擁有每個客戶受管權限的五個版本。當版本不再需要的版本,而且不再需要的版本,可以將其刪除。您無法刪除客戶受管權限的預設版本。刪除的版本在控制台中保持可見最多兩個小時,並且在完全刪除之前會顯示已刪除的狀態。

Console

刪除客戶受管理的權限版本

  1. 導覽至受管理的權限程式庫

  2. 依「客戶管理」篩選受管理的權限清單,或搜尋客戶受管理權限的名稱以及您要刪除的版本。

  3. 請確定要刪除的版本不是預設版本。

  4. 在頁面的 [版] 段落中,選擇 [關聯的資源共用率] 索引標籤,查看是否有任何共用使用此版本。

    如果有任何關聯的共用,您必須先變更客戶管理的權限版本,才能刪除此版本。

  5. 選擇「版本」部分右側的「刪除版本」。

  6. 在確認對話方塊中,選取 [刪除] 以確認您要刪除此版本的客戶管理權限。

    如果您不想要刪除此版本的客戶受管權限,請選擇 [消]。

AWS CLI
刪除客戶受管權限的版本
  1. 呼叫作list-permission-versions業以擷取可用的版本號碼。

  2. 取得版本號碼之後,請將其作為參數提供給delete-permission-version

    $ aws ram-cmp delete-permission-version \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \ --version 1

    如果成功,此命令不會傳回任何輸出。您可以list-permission-versions再次執行,並確認該版本不再包含在輸出中。

刪除客戶管理的權限

如果不再需要客戶管理的權限,而且不使用中,您可以將其刪除。您無法刪除已和 Resource Name 建立關聯的客戶受管權限。刪除的客戶管理權限會在兩小時後消失。在此之前,它仍然可以在「受管理」權限程式庫中顯示為「已刪除」狀態。

Console

若要刪除客戶受管理的權限

  1. 導覽至受管理的權限程式庫

  2. 依「客戶管理」篩選受管理的權限清單,或搜尋您要刪除的客戶受管理權限名稱。

  3. 在選取客戶受管理的權限之前,請確認受管理的權限清單中有 0 個關聯的共用。

    如果仍然存在與受管理權限相關聯的資源共用,則必須為所有資源共用指派另一個受管理的權限,然後才能繼續。

  4. 在 [客戶受管權限詳細資料] 頁面的右上角,選擇 [刪除受管權限]

  5. 出現確認對話方塊時,選擇 [刪除] 以刪除受管理的權限。

AWS CLI
刪除客戶受管權限
  1. 使用--permission-type CUSTOMER_MANAGED參數呼叫清單權限以僅包含客戶管理的權限,以尋找您要刪除之受管理權限的 ARN。

    $ aws ram-cmp list-permissions --permission-type CUSTOMER_MANAGED { "permissions": [ { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680035597.346, "lastUpdatedTime": 1680035597.346 } ] }
  2. 擁有要刪除之受管理權限的 ARN 之後,請將其作為參數提供以刪除權限

    $ aws ram delete-permission \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP { "returnValue": true, "permissionStatus": "DELETING" }