本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
附加和分离备份策略
您可以对整个组织以及组织单位 (OUs) 和个人帐户使用备份策略。请记住以下几点:
-
当您将备份策略附加到组织根目录时,该策略将应用于该根目录的所有成员OUs和账户。
-
当您将备份策略附加到 O U 时,该策略将应用于属于该 OU 或其任何子级的账户OUs。这些账户还受附加到组织根的所有策略的约束。
-
当您将备份策略附加到某个账户时,该策略仅应用于该账户。该账户还受附加到组织根目录和该账户所属OUs的任何政策的约束。
该账户从根和父OUs账户继承的任何备份策略以及直接关联到该账户的任何策略的聚合是有效的策略。有关如何将策略合并为有效策略的信息,请参阅 了解管理策略继承。
附加备份策略
登录到组织的管理账户后,您可以将备份策略附加到组织根、OU 或直接附加到账户。
您可以导航到要附加策略的根、OU 或账户,为其附加备份策略。
通过导航到根、OU 或账户来附加备份策略
-
登录 AWS Organizations 控制台。您必须以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)在组织的管理账户中登录。
-
在AWS 账户页面上,导航到要将策略附加到的根、OU 或账户的相应名称并选择其名称。您可能需要展开OUs(选择
)才能找到所需的 OU 或帐户。
-
在 Policies (策略) 选项卡上的 Backup policies (备份策略) 中,选择 Attach (附加)。
-
找到所需的策略,然后选择 Attach policy (附加策略)。
Policies (策略) 选项卡上的附加的备份策略列表会更新,以包含新添加的内容。策略更改会立即生效。
通过导航到策略来附加备份策略
-
登录 AWS Organizations 控制台。您必须以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)在组织的管理账户中登录。
-
在 Backup policies (备份策略) 页面上,选择要附加的策略的名称。
-
在 Targets (目标) 选项卡上,选择 Attach (附加)。
-
选择要附加策略的根、OU 或账户旁边的单选按钮。您可能需要展开OUs(选择
)才能找到所需的 OU 或帐户。
-
选择附加策略。
Targets (目标) 选项卡上的附加的备份策略列表会更新,以包含新添加的内容。策略更改会立即生效。
将备份策略附加到组织根目录、OU 或账户
以下代码示例演示如何使用 AttachPolicy
。
- .NET
-
- AWS SDK for .NET
-
using System;
using System.Threading.Tasks;
using Amazon.Organizations;
using Amazon.Organizations.Model;
/// <summary>
/// Shows how to attach an AWS Organizations policy to an organization,
/// an organizational unit, or an account.
/// </summary>
public class AttachPolicy
{
/// <summary>
/// Initializes the Organizations client object and then calls the
/// AttachPolicyAsync method to attach the policy to the root
/// organization.
/// </summary>
public static async Task Main()
{
IAmazonOrganizations client = new AmazonOrganizationsClient();
var policyId = "p-00000000";
var targetId = "r-0000";
var request = new AttachPolicyRequest
{
PolicyId = policyId,
TargetId = targetId,
};
var response = await client.AttachPolicyAsync(request);
if (response.HttpStatusCode == System.Net.HttpStatusCode.OK)
{
Console.WriteLine($"Successfully attached Policy ID {policyId} to Target ID: {targetId}.");
}
else
{
Console.WriteLine("Was not successful in attaching the policy.");
}
}
}
- CLI
-
- 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
- Python
-
- SDK适用于 Python (Boto3)
-
def attach_policy(policy_id, target_id, orgs_client):
"""
Attaches a policy to a target. The target is an organization root, account, or
organizational unit.
:param policy_id: The ID of the policy to attach.
:param target_id: The ID of the resources to attach the policy to.
:param orgs_client: The Boto3 Organizations client.
"""
try:
orgs_client.attach_policy(PolicyId=policy_id, TargetId=target_id)
logger.info("Attached policy %s to target %s.", policy_id, target_id)
except ClientError:
logger.exception(
"Couldn't attach policy %s to target %s.", policy_id, target_id
)
raise
政策变更立即生效
分离备份策略
当您登录到组织的管理账户时,您可以从备份策略所附加到的组织根、OU 或账户分离策略。从某个实体分离备份策略后,该策略将不再应用于以前受现在已与之分离的实体影响的任何账户。要分离策略,请完成以下步骤。
要从组织根、OU 或账户分离备份策略,您必须具有运行以下操作的权限:
您可以导航到要分离策略的根、OU 或账户,为其分离备份策略。
通过导航到已附加策略的根、OU 或账户来分离备份策略
-
登录 AWS Organizations 控制台。您必须以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)在组织的管理账户中登录。
-
在AWS 账户页面导航到要分离策略的根、OU 或账户。您可能需要展开OUs(选择
)才能找到所需的 OU 或帐户。选择根、OU 或账户的名称。
-
在 Policies (策略) 选项卡上,选择要分离的备份策略旁边的单选按钮,然后选择 Detach (分离)。
-
在确认对话框中,选择 Detach policy (分离策略)。
附加的备份策略的列表将更新。策略更改会立即生效。
通过导航到策略来分离备份策略
-
登录 AWS Organizations 控制台。您必须以IAM用户身份登录、代入IAM角色或以 root 用户身份登录(不推荐)在组织的管理账户中登录。
-
在 Backup policies (备份策略) 页面上,选择要从根、OU 或账户分离的策略的名称。
-
在 Targets (目标) 选项卡上,选择要分离策略的根、OU 或账户旁边的单选按钮。您可能需要展开OUs(选择
)才能找到所需的 OU 或帐户。
-
选择分离。
-
在确认对话框中,选择 Detach (分离)。
附加的备份策略的列表将更新。策略更改会立即生效。
将备份策略与组织根目录、OU 或账户分离
以下代码示例演示如何使用 DetachPolicy
。
- .NET
-
- AWS SDK for .NET
-
using System;
using System.Threading.Tasks;
using Amazon.Organizations;
using Amazon.Organizations.Model;
/// <summary>
/// Shows how to detach a policy from an AWS Organizations organization,
/// organizational unit, or account.
/// </summary>
public class DetachPolicy
{
/// <summary>
/// Initializes the Organizations client object and uses it to call
/// DetachPolicyAsync to detach the policy.
/// </summary>
public static async Task Main()
{
// Create the client object using the default account.
IAmazonOrganizations client = new AmazonOrganizationsClient();
var policyId = "p-00000000";
var targetId = "r-0000";
var request = new DetachPolicyRequest
{
PolicyId = policyId,
TargetId = targetId,
};
var response = await client.DetachPolicyAsync(request);
if (response.HttpStatusCode == System.Net.HttpStatusCode.OK)
{
Console.WriteLine($"Successfully detached policy with Policy Id: {policyId}.");
}
else
{
Console.WriteLine("Could not detach the policy.");
}
}
}
- CLI
-
- AWS CLI
-
从根、OU 或账户分离策略
以下示例演示了如何从 OU 分离策略:
aws organizations detach-policy --target-id ou-examplerootid111-exampleouid111
--policy-id p-examplepolicyid111
- Python
-
- SDK适用于 Python (Boto3)
-
def detach_policy(policy_id, target_id, orgs_client):
"""
Detaches a policy from a target.
:param policy_id: The ID of the policy to detach.
:param target_id: The ID of the resource where the policy is currently attached.
:param orgs_client: The Boto3 Organizations client.
"""
try:
orgs_client.detach_policy(PolicyId=policy_id, TargetId=target_id)
logger.info("Detached policy %s from target %s.", policy_id, target_id)
except ClientError:
logger.exception(
"Couldn't detach policy %s from target %s.", policy_id, target_id
)
raise
策略更改会立即生效。