Organizations 範例使用 AWS CLI - AWS Command Line Interface

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

Organizations 範例使用 AWS CLI

下列程式碼範例說明如何使用 AWS Command Line Interface 搭配 Organization 來執行動作及實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用accept-handshake

AWS CLI

接受來自其他帳戶的交握

比爾是一個組織的所有者,此前曾邀請 Juan 的帳戶加入他的組織。以下示例顯示 Juan 的帳戶接受握手並因此同意邀請。

aws organizations accept-handshake --handshake-id h-examplehandshakeid111

輸出顯示以下內容:

{ "Handshake": { "Action": "INVITE", "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", "RequestedTimestamp": 1481656459.257, "ExpirationTimestamp": 1482952459.257, "Id": "h-examplehandshakeid111", "Parties": [ { "Id": "o-exampleorgid", "Type": "ORGANIZATION" }, { "Id": "juan@example.com", "Type": "EMAIL" } ], "Resources": [ { "Resources": [ { "Type": "MASTER_EMAIL", "Value": "bill@amazon.com" }, { "Type": "MASTER_NAME", "Value": "Org Master Account" }, { "Type": "ORGANIZATION_FEATURE_SET", "Value": "ALL" } ], "Type": "ORGANIZATION", "Value": "o-exampleorgid" }, { "Type": "EMAIL", "Value": "juan@example.com" } ], "State": "ACCEPTED" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考AcceptHandshake中的。

下列程式碼範例會示範如何使用attach-policy

AWS CLI

將策略附加到根、OU 或帳號

範例 1

下列範例顯示如何將服務控制原則 (SCP) 附加至 OU:

aws organizations attach-policy --policy-id p-examplepolicyid111 --target-id ou-examplerootid111-exampleouid111

範例 2

下列範例顯示如何將服務控制原則直接附加至帳戶:

aws organizations attach-policy --policy-id p-examplepolicyid111 --target-id 333333333333
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考AttachPolicy中的。

下列程式碼範例會示範如何使用cancel-handshake

AWS CLI

取消從其他帳戶傳送的握手

比爾之前發出邀請蘇珊的帳戶加入他的組織。他改變了主意,決定在蘇珊接受邀請之前取消邀請。以下例子顯示條例草案的取消:

aws organizations cancel-handshake --handshake-id h-examplehandshakeid111

輸出包含一個握手物件,顯示狀態為現在CANCELED

{ "Handshake": { "Id": "h-examplehandshakeid111", "State":"CANCELED", "Action": "INVITE", "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", "Parties": [ { "Id": "o-exampleorgid", "Type": "ORGANIZATION" }, { "Id": "susan@example.com", "Type": "EMAIL" } ], "Resources": [ { "Type": "ORGANIZATION", "Value": "o-exampleorgid", "Resources": [ { "Type": "MASTER_EMAIL", "Value": "bill@example.com" }, { "Type": "MASTER_NAME", "Value": "Master Account" }, { "Type": "ORGANIZATION_FEATURE_SET", "Value": "CONSOLIDATED_BILLING" } ] }, { "Type": "EMAIL", "Value": "anika@example.com" }, { "Type": "NOTES", "Value": "This is a request for Susan's account to join Bob's organization." } ], "RequestedTimestamp": 1.47008383521E9, "ExpirationTimestamp": 1.47137983521E9 } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CancelHandshake中的。

下列程式碼範例會示範如何使用create-account

AWS CLI

若要建立自動成為組織一部分的成員帳戶

下列範例顯示如何在組織中建立成員帳戶。成員帳戶設定為「生產帳戶」名稱和電子郵件地址為 susan@example.com。Organizations 會使用預設名稱自動建立 IAM 角色, OrganizationAccountAccessRole 因為未指定 RoleName 參數。此外,由於未指定 IamUserAccessToBilling 參數,允許 IAM 使用者或具有足夠權限存取帳戶帳單資料的角色的設定會設為預設值 ALLOW。Organizations 會自動傳送「歡迎使用 AWS」電子郵件給 Susan:

aws organizations create-account --email susan@example.com --account-name "Production Account"

輸出包括一個請求對象,該對象顯示狀態為現在IN_PROGRESS

{ "CreateAccountStatus": { "State": "IN_PROGRESS", "Id": "car-examplecreateaccountrequestid111" } }

您可以稍後透過將 Id 回應值提供給 describe-create-account-status 命令作為 create-account-request-id 參數的值,來查詢要求的目前狀態。

如需詳細資訊,請參閱《組織使用者指南》中的在您的組織中建立 AWS 帳戶。AWS

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateAccount中的。

下列程式碼範例會示範如何使用create-organization

AWS CLI

範例 1:建立新組織

比爾希望使用帳戶 1111111111 的憑據創建一個組織。下列範例顯示該帳戶成為新組織中的主帳戶。因為他沒有指定功能集,所以新組織預設為所有已啟用的功能,而且服務控制原則會在根目錄上啟用。

aws organizations create-organization

輸出包含有關新組織詳細資訊的組織物件:

{ "Organization": { "AvailablePolicyTypes": [ { "Status": "ENABLED", "Type": "SERVICE_CONTROL_POLICY" } ], "MasterAccountId": "111111111111", "MasterAccountArn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", "MasterAccountEmail": "bill@example.com", "FeatureSet": "ALL", "Id": "o-exampleorgid", "Arn": "arn:aws:organizations::111111111111:organization/o-exampleorgid" } }

範例 2:建立僅啟用合併帳單功能的新組織

下列範例會建立僅支援合併帳單功能的組織:

aws organizations create-organization --feature-set CONSOLIDATED_BILLING

輸出包含有關新組織詳細資訊的組織物件:

{ "Organization": { "Arn": "arn:aws:organizations::111111111111:organization/o-exampleorgid", "AvailablePolicyTypes": [], "Id": "o-exampleorgid", "MasterAccountArn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", "MasterAccountEmail": "bill@example.com", "MasterAccountId": "111111111111", "FeatureSet": "CONSOLIDATED_BILLING" } }

如需詳細資訊,請參閱《組織使用指南》中的〈建立組 Organ AWS izations〉

下列程式碼範例會示範如何使用create-organizational-unit

AWS CLI

在根 OU 或父系 OU 中建立 OU

下列範例顯示如何建立名為帳戶組織單位的 OU:

aws organizations create-organizational-unit --parent-id r-examplerootid111 --name AccountingOU

輸出包含組織單位物件,其中包含有關新 OU 的詳細資訊:

{ "OrganizationalUnit": { "Id": "ou-examplerootid111-exampleouid111", "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", "Name": "AccountingOU" } }

下列程式碼範例會示範如何使用create-policy

AWS CLI

範例 1:使用 JSON 政策的文字來源檔案建立原則

下列範例說明如何建立名AllowAllS3Actions為的服務控制原則 (SCP)。原則內容取自本機電腦上名為的檔案policy.json

aws organizations create-policy --content file://policy.json --name AllowAllS3Actions, --type SERVICE_CONTROL_POLICY --description "Allows delegation of all S3 actions"

輸出包含原則物件,其中包含有關新原則的詳細資訊:

{ "Policy": { "Content": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"s3:*\"],\"Resource\":[\"*\"]}]}", "PolicySummary": { "Arn": "arn:aws:organizations::o-exampleorgid:policy/service_control_policy/p-examplepolicyid111", "Description": "Allows delegation of all S3 actions", "Name": "AllowAllS3Actions", "Type":"SERVICE_CONTROL_POLICY" } } }

範例 2:建立以 JSON 政策做為參數的原則

下列範例示範如何建立相同的 SCP,這次是將原則內容做為 JSON 字串內嵌在參數中。該字符串必須在雙引號之前用反斜杠轉義,以確保它們被視為參數中的文字,該參數本身被雙引號包圍:

aws organizations create-policy --content "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"s3:*\"],\"Resource\":[\"*\"]}]}" --name AllowAllS3Actions --type SERVICE_CONTROL_POLICY --description "Allows delegation of all S3 actions"

如需有關在組織中建立及使用原則的詳細資訊,請參閱《組織使用指南》中的AWS 〈管理組織原則〉

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreatePolicy中的。

下列程式碼範例會示範如何使用decline-handshake

AWS CLI

拒絕從其他帳號傳送的握手

以下示例顯示,作為帳戶 222222222222 的所有者的管理員蘇珊拒絕加入 Bill 組織的邀請。該 DeclineHandshake 操作返回一個握手對象,顯示該狀態現在已拒絕:

aws organizations decline-handshake --handshake-id h-examplehandshakeid111

輸出包含顯示下列新狀態的握手物件DECLINED

{ "Handshake": { "Id": "h-examplehandshakeid111", "State": "DECLINED", "Resources": [ { "Type": "ORGANIZATION", "Value": "o-exampleorgid", "Resources": [ { "Type": "MASTER_EMAIL", "Value": "bill@example.com" }, { "Type": "MASTER_NAME", "Value": "Master Account" } ] }, { "Type": "EMAIL", "Value": "susan@example.com" }, { "Type": "NOTES", "Value": "This is an invitation to Susan's account to join the Bill's organization." } ], "Parties": [ { "Type": "EMAIL", "Id": "susan@example.com" }, { "Type": "ORGANIZATION", "Id": "o-exampleorgid" } ], "Action": "INVITE", "RequestedTimestamp": 1470684478.687, "ExpirationTimestamp": 1471980478.687, "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeclineHandshake中的。

下列程式碼範例會示範如何使用delete-organization

AWS CLI

若要刪除組織

下列範例顯示如何刪除組織。若要執行此作業,您必須是組織中主帳戶的管理員。此範例假設您先前已從組織中移除所有成員帳戶、OU 和策略:

aws organizations delete-organization

下列程式碼範例會示範如何使用delete-organizational-unit

AWS CLI

若要刪除 OU

下列範例顯示如何刪除 OU。此範例假設您先前已從 OU 移除所有帳戶和其他 OU:

aws organizations delete-organizational-unit --organizational-unit-id ou-examplerootid111-exampleouid111

下列程式碼範例會示範如何使用delete-policy

AWS CLI

若要刪除策略

下列範例顯示如何從組織刪除策略。此範例假設您先前已將原則從所有實體中斷連結:

aws organizations delete-policy --policy-id p-examplepolicyid111
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeletePolicy中的。

下列程式碼範例會示範如何使用describe-account

AWS CLI

若要取得帳戶的詳細資訊

下列範例說明如何要求帳戶的詳細資料:

aws organizations describe-account --account-id 555555555555

輸出會顯示帳戶物件,其中包含有關帳戶的詳細資訊:

{ "Account": { "Id": "555555555555", "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/555555555555", "Name": "Beta account", "Email": "anika@example.com", "JoinedMethod": "INVITED", "JoinedTimeStamp": 1481756563.134, "Status": "ACTIVE" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribeAccount中的。

下列程式碼範例會示範如何使用describe-create-account-status

AWS CLI

獲取有關創建帳戶請求的最新狀態

下列範例顯示如何針對先前要求在組織中建立帳號的要求,請求最新狀態。指定的--request ID 來自原始調用創建帳戶的響應。帳號建立請求會依狀態欄位顯示,Organizations 已順利完成帳號建立。

命令:

aws organizations describe-create-account-status --create-account-request-id car-examplecreateaccountrequestid111

輸出:

{ "CreateAccountStatus": { "State": "SUCCEEDED", "AccountId": "555555555555", "AccountName": "Beta account", "RequestedTimestamp": 1470684478.687, "CompletedTimestamp": 1470684532.472, "Id": "car-examplecreateaccountrequestid111" } }

下列程式碼範例會示範如何使用describe-handshake

AWS CLI

取得握手的相關資訊

下列範例說明如何要求握手的詳細資訊。握手 ID 來自原始呼叫InviteAccountToOrganization,或從呼叫ListHandshakesForAccountListHandshakesForOrganization

aws organizations describe-handshake --handshake-id h-examplehandshakeid111

輸出包含一個握手物件,其中包含所要求握手的所有詳細資訊:

{ "Handshake": { "Id": "h-examplehandshakeid111", "State": "OPEN", "Resources": [ { "Type": "ORGANIZATION", "Value": "o-exampleorgid", "Resources": [ { "Type": "MASTER_EMAIL", "Value": "bill@example.com" }, { "Type": "MASTER_NAME", "Value": "Master Account" } ] }, { "Type": "EMAIL", "Value": "anika@example.com" } ], "Parties": [ { "Type": "ORGANIZATION", "Id": "o-exampleorgid" }, { "Type": "EMAIL", "Id": "anika@example.com" } ], "Action": "INVITE", "RequestedTimestamp": 1470158698.046, "ExpirationTimestamp": 1471454698.046, "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111" } }

下列程式碼範例會示範如何使用describe-organization

AWS CLI

若要取得目前組織的相關資訊

下列範例說明如何要求組織的詳細資訊:

aws organizations describe-organization

輸出包含含有關組織詳細資訊的組織物件:

{ "Organization": { "MasterAccountArn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", "MasterAccountEmail": "bill@example.com", "MasterAccountId": "111111111111", "Id": "o-exampleorgid", "FeatureSet": "ALL", "Arn": "arn:aws:organizations::111111111111:organization/o-exampleorgid", "AvailablePolicyTypes": [ { "Status": "ENABLED", "Type": "SERVICE_CONTROL_POLICY" } ] } }

下列程式碼範例會示範如何使用describe-organizational-unit

AWS CLI

取得 OU 的相關資訊

下列describe-organizational-unit範例要求 OU 的詳細資訊。

aws organizations describe-organizational-unit \ --organizational-unit-id ou-examplerootid111-exampleouid111

輸出:

{ "OrganizationalUnit": { "Name": "Accounting Group", "Arn": "arn:aws:organizations::123456789012:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", "Id": "ou-examplerootid111-exampleouid111" } }

下列程式碼範例會示範如何使用describe-policy

AWS CLI

若要取得原則的相關資訊

下列範例顯示如何要求原則的相關資訊:

aws organizations describe-policy --policy-id p-examplepolicyid111

輸出包含原則物件,其中包含有關策略的詳細資訊:

{ "Policy": { "Content": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": \"*\",\n \"Resource\": \"*\"\n }\n ]\n}", "PolicySummary": { "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", "Type": "SERVICE_CONTROL_POLICY", "Id": "p-examplepolicyid111", "AwsManaged": false, "Name": "AllowAllS3Actions", "Description": "Enables admins to delegate S3 permissions" } } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DescribePolicy中的。

下列程式碼範例會示範如何使用detach-policy

AWS CLI

從根、OU 或帳號中斷連結策略

下列範例顯示如何從 OU 中斷連結原則:

aws organizations detach-policy --target-id ou-examplerootid111-exampleouid111 --policy-id p-examplepolicyid111
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DetachPolicy中的。

下列程式碼範例會示範如何使用disable-policy-type

AWS CLI

若要停用根目錄中的原則類型

下列範例顯示如何停用根目錄中的服務控制原則 (SCP) 原則類型:

aws organizations disable-policy-type --root-id r-examplerootid111 --policy-type SERVICE_CONTROL_POLICY

輸出顯示 PolicyTypes 響應元素不再包含服務 _ 控制策略:

{ "Root": { "PolicyTypes": [], "Name": "Root", "Id": "r-examplerootid111", "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111" } }

下列程式碼範例會示範如何使用enable-all-features

AWS CLI

若要啟用組織中的所有功能

此範例顯示管理員要求組織中所有受邀帳戶核准組織中已啟用的所有功能。 AWS Organizations 會傳送電子郵件至每個受邀成員帳戶中註冊的電子郵件地址,要求擁有者接受傳送的握手來核准所有功能的變更。在所有受邀的成員帳戶接受交握之後,組織管理員可以完成對所有功能的變更,而具有適當權限的使用者可以建立原則並將其套用至根、OU 和帳戶:

aws organizations enable-all-features

輸出為傳送至所有受邀成員帳戶以供核准的握手物件:

{ "Handshake": { "Action": "ENABLE_ALL_FEATURES", "Arn":"arn:aws:organizations::111111111111:handshake/o-exampleorgid/enable_all_features/h-examplehandshakeid111", "ExpirationTimestamp":1.483127868609E9, "Id":"h-examplehandshakeid111", "Parties": [ { "id":"o-exampleorgid", "type":"ORGANIZATION" } ], "requestedTimestamp":1.481831868609E9, "resources": [ { "type":"ORGANIZATION", "value":"o-exampleorgid" } ], "state":"REQUESTED" } }

下列程式碼範例會示範如何使用enable-policy-type

AWS CLI

在根目錄中啟用原則類型的使用

下列範例顯示如何在根目錄中啟用服務控制原則 (SCP) 原則類型:

aws organizations enable-policy-type --root-id r-examplerootid111 --policy-type SERVICE_CONTROL_POLICY

輸出會顯示具有 PolicTypes 回應元素的根物件,顯示 SCP 現在已啟用:

{ "Root": { "PolicyTypes": [ { "Status":"ENABLED", "Type":"SERVICE_CONTROL_POLICY" } ], "Id": "r-examplerootid111", "Name": "Root", "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考EnablePolicyType中的。

下列程式碼範例會示範如何使用invite-account-to-organization

AWS CLI

邀請帳戶加入組織

下列範例顯示 bill@example.com 所擁有的主帳戶,邀請 juan@example.com 擁有的帳戶加入組織:

aws organizations invite-account-to-organization --target '{"Type": "EMAIL", "Id": "juan@example.com"}' --notes "This is a request for Juan's account to join Bill's organization."

輸出包含一個握手結構,顯示傳送至受邀帳戶的內容:

{ "Handshake": { "Action": "INVITE", "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", "ExpirationTimestamp": 1482952459.257, "Id": "h-examplehandshakeid111", "Parties": [ { "Id": "o-exampleorgid", "Type": "ORGANIZATION" }, { "Id": "juan@example.com", "Type": "EMAIL" } ], "RequestedTimestamp": 1481656459.257, "Resources": [ { "Resources": [ { "Type": "MASTER_EMAIL", "Value": "bill@amazon.com" }, { "Type": "MASTER_NAME", "Value": "Org Master Account" }, { "Type": "ORGANIZATION_FEATURE_SET", "Value": "FULL" } ], "Type": "ORGANIZATION", "Value": "o-exampleorgid" }, { "Type": "EMAIL", "Value": "juan@example.com" } ], "State": "OPEN" } }

下列程式碼範例會示範如何使用leave-organization

AWS CLI

若要將組織作為成員帳戶退出

下列範例顯示要求離開目前所屬組織之成員帳戶的管理員:

aws organizations leave-organization

下列程式碼範例會示範如何使用list-accounts-for-parent

AWS CLI

擷取指定父系根或 OU 中所有帳戶的清單

下列範例顯示如何要求 OU 中的帳戶清單:

aws organizations list-accounts-for-parent --parent-id ou-examplerootid111-exampleouid111

輸出包含帳戶摘要物件的清單。

{ "Accounts": [ { "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/333333333333", "JoinedMethod": "INVITED", "JoinedTimestamp": 1481835795.536, "Id": "333333333333", "Name": "Development Account", "Email": "juan@example.com", "Status": "ACTIVE" }, { "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/444444444444", "JoinedMethod": "INVITED", "JoinedTimestamp": 1481835812.143, "Id": "444444444444", "Name": "Test Account", "Email": "anika@example.com", "Status": "ACTIVE" } ] }

下列程式碼範例會示範如何使用list-accounts

AWS CLI

若要擷取組織中所有帳戶的清單

下列範例說明如何要求組織中的帳號清單:

aws organizations list-accounts

輸出包含帳戶摘要物件的清單。

{ "Accounts": [ { "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", "JoinedMethod": "INVITED", "JoinedTimestamp": 1481830215.45, "Id": "111111111111", "Name": "Master Account", "Email": "bill@example.com", "Status": "ACTIVE" }, { "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/222222222222", "JoinedMethod": "INVITED", "JoinedTimestamp": 1481835741.044, "Id": "222222222222", "Name": "Production Account", "Email": "alice@example.com", "Status": "ACTIVE" }, { "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/333333333333", "JoinedMethod": "INVITED", "JoinedTimestamp": 1481835795.536, "Id": "333333333333", "Name": "Development Account", "Email": "juan@example.com", "Status": "ACTIVE" }, { "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/444444444444", "JoinedMethod": "INVITED", "JoinedTimestamp": 1481835812.143, "Id": "444444444444", "Name": "Test Account", "Email": "anika@example.com", "Status": "ACTIVE" } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListAccounts中的。

下列程式碼範例會示範如何使用list-children

AWS CLI

若要擷取父 OU 或根目錄的子項帳戶和 OU

下列範例說明如何列出包含該帳戶 44444444 的根目錄或 OU:

aws organizations list-children --child-type ORGANIZATIONAL_UNIT --parent-id ou-examplerootid111-exampleouid111

輸出會顯示父系所包含的兩個子 OU:

{ "Children": [ { "Id": "ou-examplerootid111-exampleouid111", "Type":"ORGANIZATIONAL_UNIT" }, { "Id":"ou-examplerootid111-exampleouid222", "Type":"ORGANIZATIONAL_UNIT" } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListChildren中的。

下列程式碼範例會示範如何使用list-create-account-status

AWS CLI

範例 1:擷取在目前組織中提出的帳號建立請求清單

下列範例顯示如何要求已成功完成之組織的帳號建立請求清單:

aws organizations list-create-account-status --states SUCCEEDED

輸出包括一個對象數組,其中包含有關每個請求的信息。

{ "CreateAccountStatuses": [ { "AccountId": "444444444444", "AccountName": "Developer Test Account", "CompletedTimeStamp": 1481835812.143, "Id": "car-examplecreateaccountrequestid111", "RequestedTimeStamp": 1481829432.531, "State": "SUCCEEDED" } ] }

範例 2:擷取在目前組織中提出的進行中帳號建立請求清單

下列範例會取得組織的進行中帳號建立請求清單:

aws organizations list-create-account-status --states IN_PROGRESS

輸出包括一個對象數組,其中包含有關每個請求的信息。

{ "CreateAccountStatuses": [ { "State": "IN_PROGRESS", "Id": "car-examplecreateaccountrequestid111", "RequestedTimeStamp": 1481829432.531, "AccountName": "Production Account" } ] }

下列程式碼範例會示範如何使用list-handshakes-for-account

AWS CLI

檢索發送到帳戶的握手列表

下列範例顯示如何取得與用來呼叫作業之認證帳戶相關聯的所有握手清單:

aws organizations list-handshakes-for-account

輸出包括握手結構清單,其中包含每個握手的相關資訊,包括其目前狀態:

{ "Handshake": { "Action": "INVITE", "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", "ExpirationTimestamp": 1482952459.257, "Id": "h-examplehandshakeid111", "Parties": [ { "Id": "o-exampleorgid", "Type": "ORGANIZATION" }, { "Id": "juan@example.com", "Type": "EMAIL" } ], "RequestedTimestamp": 1481656459.257, "Resources": [ { "Resources": [ { "Type": "MASTER_EMAIL", "Value": "bill@amazon.com" }, { "Type": "MASTER_NAME", "Value": "Org Master Account" }, { "Type": "ORGANIZATION_FEATURE_SET", "Value": "FULL" } ], "Type": "ORGANIZATION", "Value": "o-exampleorgid" }, { "Type": "EMAIL", "Value": "juan@example.com" } ], "State": "OPEN" } }

下列程式碼範例會示範如何使用list-handshakes-for-organization

AWS CLI

若要擷取與組織相關聯的握手清單

下列範例顯示如何取得與目前組織相關聯的握手清單:

aws organizations list-handshakes-for-organization

輸出顯示兩個握手。第一個是邀請 Juan 的帳戶,並顯示開放狀態。第二個是對 Anika 帳戶的邀請,並顯示「已接受」狀態:

{ "Handshakes": [ { "Action": "INVITE", "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", "ExpirationTimestamp": 1482952459.257, "Id": "h-examplehandshakeid111", "Parties": [ { "Id": "o-exampleorgid", "Type": "ORGANIZATION" }, { "Id": "juan@example.com", "Type": "EMAIL" } ], "RequestedTimestamp": 1481656459.257, "Resources": [ { "Resources": [ { "Type": "MASTER_EMAIL", "Value": "bill@amazon.com" }, { "Type": "MASTER_NAME", "Value": "Org Master Account" }, { "Type": "ORGANIZATION_FEATURE_SET", "Value": "FULL" } ], "Type": "ORGANIZATION", "Value": "o-exampleorgid" }, { "Type": "EMAIL", "Value": "juan@example.com" }, { "Type":"NOTES", "Value":"This is an invitation to Juan's account to join Bill's organization." } ], "State": "OPEN" }, { "Action": "INVITE", "State":"ACCEPTED", "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", "ExpirationTimestamp": 1.471797437427E9, "Id": "h-examplehandshakeid222", "Parties": [ { "Id": "o-exampleorgid", "Type": "ORGANIZATION" }, { "Id": "anika@example.com", "Type": "EMAIL" } ], "RequestedTimestamp": 1.469205437427E9, "Resources": [ { "Resources": [ { "Type":"MASTER_EMAIL", "Value":"bill@example.com" }, { "Type":"MASTER_NAME", "Value":"Master Account" } ], "Type":"ORGANIZATION", "Value":"o-exampleorgid" }, { "Type":"EMAIL", "Value":"anika@example.com" }, { "Type":"NOTES", "Value":"This is an invitation to Anika's account to join Bill's organization." } ] } ] }

下列程式碼範例會示範如何使用list-organizational-units-for-parent

AWS CLI

若要擷取父 OU 或根目錄中的 OU 清單

下列範例說明如何取得指定根目錄中 OU 的清單:

aws organizations list-organizational-units-for-parent --parent-id r-examplerootid111

輸出顯示指定的根包含兩個 OU,並顯示每個 OU 的詳細資訊:

{ "OrganizationalUnits": [ { "Name": "AccountingDepartment", "Arn": "arn:aws:organizations::o-exampleorgid:ou/r-examplerootid111/ou-examplerootid111-exampleouid111" }, { "Name": "ProductionDepartment", "Arn": "arn:aws:organizations::o-exampleorgid:ou/r-examplerootid111/ou-examplerootid111-exampleouid222" } ] }

下列程式碼範例會示範如何使用list-parents

AWS CLI

若要列出帳戶或子系 OU 的父 OU 或根目錄

下列範例說明如何列出包含該帳戶 44444444 的根 OU 或父系 OU:

aws organizations list-parents --child-id 444444444444

輸出顯示指定的帳戶位於具有指定 ID 的 OU 中:

{ "Parents": [ { "Id": "ou-examplerootid111-exampleouid111", "Type": "ORGANIZATIONAL_UNIT" } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListParents中的。

下列程式碼範例會示範如何使用list-policies-for-target

AWS CLI

擷取直接附加到帳戶的 SCP 清單

下列範例顯示如何取得直接附加至帳戶的所有服務控制原則 (SCP) 清單 (如 Filter 參數所指定):

aws organizations list-policies-for-target --filter SERVICE_CONTROL_POLICY --target-id 444444444444

輸出包括原則結構清單,其中包含有關策略的摘要資訊。此清單不包括因為從 OU 階層中的位置繼承而套用至帳戶的原則:

{ "Policies": [ { "Type": "SERVICE_CONTROL_POLICY", "Name": "AllowAllEC2Actions", "AwsManaged", false, "Id": "p-examplepolicyid222", "Arn": "arn:aws:organizations::o-exampleorgid:policy/service_control_policy/p-examplepolicyid222", "Description": "Enables account admins to delegate permissions for any EC2 actions to users and roles in their accounts." } ] }

下列程式碼範例會示範如何使用list-policies

AWS CLI

若要擷取特定類型組織中所有策略的清單

下列範例會示範如何取得 SCP 清單,如 filter 參數所指定:

aws organizations list-policies --filter SERVICE_CONTROL_POLICY

輸出包括包含摘要資訊的策略清單:

{ "Policies": [ { "Type": "SERVICE_CONTROL_POLICY", "Name": "AllowAllS3Actions", "AwsManaged": false, "Id": "p-examplepolicyid111", "Arn": "arn:aws:organizations::111111111111:policy/service_control_policy/p-examplepolicyid111", "Description": "Enables account admins to delegate permissions for any S3 actions to users and roles in their accounts." }, { "Type": "SERVICE_CONTROL_POLICY", "Name": "AllowAllEC2Actions", "AwsManaged": false, "Id": "p-examplepolicyid222", "Arn": "arn:aws:organizations::111111111111:policy/service_control_policy/p-examplepolicyid222", "Description": "Enables account admins to delegate permissions for any EC2 actions to users and roles in their accounts." }, { "AwsManaged": true, "Description": "Allows access to every operation", "Type": "SERVICE_CONTROL_POLICY", "Id": "p-FullAWSAccess", "Arn": "arn:aws:organizations::aws:policy/service_control_policy/p-FullAWSAccess", "Name": "FullAWSAccess" } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListPolicies中的。

下列程式碼範例會示範如何使用list-roots

AWS CLI

若要擷取組織中的根清單

此範例說明如何取得組織的根清單:

aws organizations list-roots

輸出包含具有摘要資訊的根結構清單:

{ "Roots": [ { "Name": "Root", "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111", "Id": "r-examplerootid111", "PolicyTypes": [ { "Status":"ENABLED", "Type":"SERVICE_CONTROL_POLICY" } ] } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListRoots中的。

下列程式碼範例會示範如何使用list-targets-for-policy

AWS CLI

若要擷取原則附加至的根、OU 和帳戶的清單

下列範例顯示如何取得指定原則所附加之根、OU 和帳戶的清單:

aws organizations list-targets-for-policy --policy-id p-FullAWSAccess

輸出包含附件物件的清單,其中包含有關策略所附加至的根、OU 和帳號的摘要資訊:

{ "Targets": [ { "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111", "Name": "Root", "TargetId":"r-examplerootid111", "Type":"ROOT" }, { "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/333333333333;", "Name": "Developer Test Account", "TargetId": "333333333333", "Type": "ACCOUNT" }, { "Arn":"arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", "Name":"Accounting", "TargetId":"ou-examplerootid111-exampleouid111", "Type":"ORGANIZATIONAL_UNIT" } ] }

下列程式碼範例會示範如何使用move-account

AWS CLI

若要在根或 OU 之間移動帳戶

下列範例說明如何將組織中的主帳戶從根目錄移至 OU:

aws organizations move-account --account-id 333333333333 --source-parent-id r-examplerootid111 --destination-parent-id ou-examplerootid111-exampleouid111
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考MoveAccount中的。

下列程式碼範例會示範如何使用remove-account-from-organization

AWS CLI

若要從組織中移除作為主帳戶的帳號

下列範例顯示如何從組織移除帳號:

aws organizations remove-account-from-organization --account-id 333333333333

下列程式碼範例會示範如何使用update-organizational-unit

AWS CLI

若要重新命名 OU

此範例顯示如何重新命名 OU:在此範例中,OU 已重新命名為「AccountingOU」:

aws organizations update-organizational-unit --organizational-unit-id ou-examplerootid111-exampleouid111 --name AccountingOU

輸出會顯示新名稱:

{ "OrganizationalUnit": { "Id": "ou-examplerootid111-exampleouid111" "Name": "AccountingOU", "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111"" } }

下列程式碼範例會示範如何使用update-policy

AWS CLI

範例 1:若要重新命名策略

下列update-policy範例會重新命名原則並提供新描述。

aws organizations update-policy \ --policy-id p-examplepolicyid111 \ --name Renamed-Policy \ --description "This description replaces the original."

輸出會顯示新的名稱和描述。

{ "Policy": { "Content": "{\n \"Version\":\"2012-10-17\",\n \"Statement\":{\n \"Effect\":\"Allow\",\n \"Action\":\"ec2:*\",\n \"Resource\":\"*\"\n }\n}\n", "PolicySummary": { "Id": "p-examplepolicyid111", "AwsManaged": false, "Arn":"arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", "Description": "This description replaces the original.", "Name": "Renamed-Policy", "Type": "SERVICE_CONTROL_POLICY" } } }

範例 2:若要取代原則的 JSON 文字內容

下列範例說明如何將前一個範例中 SCP 的 JSON 文字取代為允許 S3 而非 EC2 的新 JSON 政策文字字串:

aws organizations update-policy \ --policy-id p-examplepolicyid111 \ --content "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}"

輸出顯示新內容:

{ "Policy": { "Content": "{ \"Version\": \"2012-10-17\", \"Statement\": { \"Effect\": \"Allow\", \"Action\": \"s3:*\", \"Resource\": \"*\" } }", "PolicySummary": { "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", "AwsManaged": false; "Description": "This description replaces the original.", "Id": "p-examplepolicyid111", "Name": "Renamed-Policy", "Type": "SERVICE_CONTROL_POLICY" } } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdatePolicy中的。