処理の実行
上位組織(組織ルート)IDを取得します。
コマンド:
ORGANIZATIONS_ROOT_ID=$( \
  aws organizations list-roots \
    --query 'Roots[?Name == `Root`].Id' \
    --output text \
) \
  && echo ${ORGANIZATIONS_ROOT_ID}
 
 
結果(例):
変数の設定:
ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID_PARENT="${ORGANIZATIONS_ROOT_ID}" \
  && echo ${ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID_PARENT}
 
 
結果(例):
組織ユニットIDを取得します。
コマンド:
ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID=$( \
  aws organizations list-organizational-units-for-parent \
    --parent-id ${ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID_PARENT} \
    --query "OrganizationalUnits[?Name == \`${ORGANIZATIONS_ORGANIZATIONAL_UNIT_NAME}\`].Id" \
    --output text \
) \
  && echo ${ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID}
 
 
結果(例):
ポリシーIDを取得します。
コマンド:
ORGANIZATIONS_POLICY_ID=$( \
  aws organizations list-policies \
    --filter ${ORGANIZATIONS_POLICY_TYPE_NAME} \
    --query Policies[?Name==\`${ORGANIZATIONS_POLICY_NAME}\`].Id \
    --output text \
) \
  && echo ${ORGANIZATIONS_POLICY_ID}
 
 
結果(例):
Organizations組織ユニットにポリシーをアタッチします。
変数の確認:
cat << END
  # ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID:"ou-xxxx-xxxxxxxx"
    ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID="${ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID}"
  # ORGANIZATIONS_POLICY_ID:"p-xxxxxxxx"
    ORGANIZATIONS_POLICY_ID="${ORGANIZATIONS_POLICY_ID}"
END
コマンド:
aws organizations attach-policy \
  --target-id ${ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID} \
  --policy-id ${ORGANIZATIONS_POLICY_ID}
 
 
結果(例):
完了確認
「Organizations組織ルート直下のOrganizations組織ユニット"oregon-japan-ou"にOrganizationsポリシー"DenyAllOutsideRequestedRegions-policy"がアタッチされている。」ことを確認します。
コマンド:
aws organizations list-policies-for-target \
  --target-id ${ORGANIZATIONS_ORGANIZATIONAL_UNIT_ID} \
  --filter ${ORGANIZATIONS_POLICY_TYPE_NAME} \
  --query "Policies[?Name == \`${ORGANIZATIONS_POLICY_NAME}\`].Name" \
  --output text
 
 
結果(例):
DenyAllOutsideRequestedRegions-policy