このトピックでは、カスタムアクセス制御ポリシーの例を示します。
RAMユーザー、RAMユーザーグループ、およびRAMロールの変更および削除を禁止するポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"ram:Attach*",
"ram:Detach*",
"ram:BindMFADevice",
"ram:CreateAccessKey",
"ram:CreateLoginProfile",
"ram:CreatePolicyVersion",
"ram:DeleteAccessKey",
"ram:DeleteGroup",
"ram:DeleteLoginProfile",
"ram:DeletePolicy",
"ram:DeletePolicyVersion",
"ram:DeleteRole",
"ram:DeleteUser",
"ram:DisableVirtualMFA",
"ram:AddUserToGroup",
"ram:RemoveUserFromGroup",
"ram:SetDefaultPolicyVersion",
"ram:UnbindMFADevice",
"ram:UpdateAccessKey",
"ram:UpdateGroup",
"ram:UpdateLoginProfile",
"ram:UpdateRole",
"ram:UpdateUser"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN":"acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
],
"Version": "1"
}
上記のポリシーは、RAMユーザー、RAMユーザーグループ、およびRAMロールの変更と削除、およびそれらの権限の変更を禁止しています。
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
ロールResourceDirectoryAccountAccessRoleとその権限の変更を禁止するために使用されるポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ram:UpdateRole",
"ram:DeleteRole",
"ram:AttachPolicyToRole",
"ram:DetachPolicyFromRole"
],
"Resource": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
]
}
特定のRAMユーザーの変更と削除を禁止するためのポリシー
ドキュメント:
{
"Version": "1",
"Statement": [{
"Action": [
"ram:AttachPolicyToUser",
"ram:DetachPolicyFromUser",
"ram:AddUserToGroup",
"ram:RemoveUserFromGroup",
"ram:UpdateUser",
"ram:DeleteUser",
"ram:CreateLoginProfile",
"ram:UpdateLoginProfile",
"ram:DeleteLoginProfile",
"ram:CreateAccessKey",
"ram:DeleteAccessKey",
"ram:UpdateAccessKey",
"ram:BindMFADevice",
"ram:UnbindMFADevice",
"ram:DisableVirtualMFA"
],
"Resource": [
"acs:ram:*:*:user/Alice"
],
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}]
}
上記のポリシーは、指定されたRAMユーザーAliceの変更と削除、およびAliceの権限の変更を禁止しています。 Aliceが属するAlibaba Cloudアカウント (acs:ram:*:18299873****:user/Alice
など) を指定できます。
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
既存のRAMユーザーに対してAlibaba Cloud管理コンソールへのログインが有効になることを禁止するために使用されるポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"ram:CreateLoginProfile",
"ram:UpdateLoginProfile"
],
"Resource": [
"*"
],
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
],
"Version": "1"
}
上記のポリシーは、既存のRAMユーザーに対してAlibaba Cloud管理コンソールへのログインを有効にすることを禁止しています。 Alibaba Cloud管理コンソールへのログインは、新しいRAMユーザーに対して引き続き有効にできます。
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
MFAがRAMまたはRAMロールに対して完了していない場合、RAMユーザーまたはRAMロールを使用して一部のリソースを削除することを禁止するために使用されるポリシー
ドキュメント:
{
"Statement": [
{
"Action": "ecs:DeleteInstance",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"Bool": {
"acs:MFAPresent": "false"
}
}
}
],
"Version": "1"
}
上記のポリシーは、RAMまたはRAMロールの多要素認証 (MFA) が完了していない場合、RAMユーザーまたはRAMロールを使用してElastic Compute Service (ECS) インスタンスを削除することを禁止しています。 他のリソースを削除する場合は、Actionの値をリソースのアクションに変更します。
ユーザーベースSSO設定の変更を禁止するポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"ram:SetSamlSsoSettings"
],
"Resource": [
"*"
],
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
],
"Version": "1"
}
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
ロールベースSSO設定の変更を禁止するためのポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"ram:CreateSAMLProvider",
"ram:DeleteSAMLProvider",
"ram:UpdateSAMLProvider"
],
"Resource": [
"*"
],
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
],
"Version": "1"
}
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
ActionTrailの配信機能の無効化を禁止し、ActionTrailのイベント配信先の変更を禁止するポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"actiontrail:UpdateTrail",
"actiontrail:DeleteTrail",
"actiontrail:StopLogging"
],
"Resource": [
"*"
],
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
],
"Version": "1"
}
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
一部のネットワークサービスへのアクセスを禁止するポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"vpc:*HaVip*",
"vpc:*RouteTable*",
"vpc:*VRouter*",
"vpc:*RouteEntry*",
"vpc:*VSwitch*",
"vpc:*Vpc*",
"vpc:*Cen*",
"vpc:*NetworkAcl*"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
},
{
"Action": [
"vpc:*VpnGateway*",
"vpc:*VpnConnection*",
"vpc:*CustomerGateway*",
"vpc:*SslVpnServer*",
"vpc:*SslVpnClientCert*",
"vpc:*VpnRoute*",
"vpc:*VpnPbrRoute*"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
],
"Version": "1"
}
上記のポリシーは、Virtual Private Cloud (VPC) およびVPN Gatewayへのアクセスを禁止しています。 他のネットワークサービスへのアクセスを禁止する場合は、[アクション] の値をこれらのネットワークサービスのアクションに変更します。
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
インターネットにアクセスできるネットワークリソース (EIPおよびNATゲートウェイ) の作成を禁止するポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Action": [
"vpc:AllocateEipAddress",
"vpc:AllocateEipAddressPro",
"vpc:AllocateEipSegmentAddress",
"vpc:CreateNatGateway"
],
"Resource": [
"*"
],
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
]
}
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
オンプレミスリソースに接続されているネットワークサービスへのアクセスを禁止するために使用されるポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"vpc:*PhysicalConnection*",
"vpc:*VirtualBorderRouter*",
"cen:*",
"vpc:*VpnGateway*",
"vpc:*VpnConnection*",
"vpc:*CustomerGateway*",
"vpc:*SslVpnServer*",
"vpc:*SslVpnClientCert*",
"vpc:*VpnRoute*",
"vpc:*VpnPbrRoute*",
"smartag:*"
],
"Resource": "*",
"Effect": "Deny"
}
],
"Version": "1"
}
上記のポリシーは、オンプレミスのリソースに接続されているネットワークサービスへのアクセスを禁止します。 ネットワークサービスには、Express Connect、Cloud Enterprise network、VPN Gateway、Smart Access Gateway が含まれます。
費用および費用サービスによって提供される一部の機能の使用を禁止するために使用されるポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"bss:DescribeOrderList",
"bss:DescribeOrderDetail",
"bss:PayOrder",
"bss:CancelOrder"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
],
"Version": "1"
}
上記のポリシーでは、費用と費用サービスが提供する注文機能の使用を禁止しています。 他の機能の使用を禁止する場合は、アクションの値をこれらの機能のアクションに変更します。
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
CloudMonitor関連の設定の変更を禁止するために使用されるポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Action": [
"cms:Put*",
"cms:Update*",
"cms:Create*",
"cms:Modify*",
"cms:Disable*",
"cms:Enable*",
"cms:Delete*",
"cms:Send*",
"cms:Subscribe*",
"cms:Unsubscribe*",
"cms:Remove*",
"cms:CreateAction",
"cms:Pause*",
"cms:Stop*",
"cms:Start*",
"cms:BatchCreate*",
"cms:ProfileSet",
"cms:ApplyMonitoringTemplate"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"acs:PrincipalARN": "acs:ram:*:*:role/resourcedirectoryaccountaccessrole"
}
}
}
]
}
このポリシーでは、リソースディレクトリ内のメンバーにアクセスするために使用される既定のロール ResourceDirectoryAccountAccessRole のみを使用して、上記の操作を実行できます。 この条件を削除して、すべての RAM ユーザーと RAM ロールでこれらの操作を実行できないようにできます。 また、PrincipalARN の値を変更することで、操作の実行に使用できる RAM ユーザーまたは RAM ロールを指定することも可能です。
リザーブドインスタンスの購入を禁止するためのポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:PurchaseReservedInstancesOffering"
],
"Resource": "*",
"Effect": "Deny"
}
]
}
不特定のVPCでのECSインスタンスの作成を禁止するために使用されるポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:CreateInstance",
"ecs:RunInstances"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"StringNotLike": {
"vpc:VPC": "acs:vpc:cn-shenzhen:*:vpc/vpc-wz95ya85js0avrkabc****"
}
}
}
]
}
上記のポリシーでは、acs:vpc:cn-shenzhen:*:vpc/vpc-wz95ya85js0avrkabc ****
が指定されたVPCとして使用されます。 この値は、ビジネス要件に基づいて置き換えることができます。
ドメイン名の購入を禁止するポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Action": [
"domain:CreateOrderActivate"
],
"Resource": "*",
"Effect": "Deny"
}
]
}
チケットシステムへのアクセスを禁止するポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Action": [
"support:*",
"workorder:*"
],
"Resource": "*",
"Effect": "Deny"
}
]
}
特定のリージョンのECSへのアクセスを禁止するために使用されるポリシー
ドキュメント:
{
"Version": "1",
"Statement": [{
"Effect": "Deny",
"Action": [
"ecs:*"
],
"Resource": "acs:ecs:us-east-1:*:*"
}]
}
上記のポリシーは、米国 (バージニア) リージョンのECSへのアクセスを禁止しています。
リソースディレクトリ外でのリソース共有を禁止するポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"resourcesharing:CreateResourceShare",
"resourcesharing:UpdateResourceShare"
],
"Resource": "*",
"Condition": {
"Bool": {
"resourcesharing:RequestedAllowExternalTargets": "true"
}
}
}
]
}
上記のポリシーは、現在のリソースディレクトリ外のアカウントにリソースを共有するリソース共有の作成を禁止しています。
予期しないアカウントとのリソース共有を禁止するポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"resourcesharing:AssociateResourceShare",
"resourcesharing:CreateResourceShare"
],
"Resource": "*",
"Condition": {
"StringNotLike": {
"resourcesharing:Target": [
"rd-3G****/r-Wm****/*",
"rd-3G****/r-Wm****",
"192796193830****"
]
}
}
}
]
}
上記のポリシーでは、アカウント192796193830 ****
とフォルダー内のすべてのメンバーrd-3G ****/r-Wm ****
でのみリソース共有が許可されています。 ビジネス要件に基づいて、resourcesharing:Targetパラメーターの値を変更できます。
リソースディレクトリ外のアカウントからのリソース共有招待の受け入れを禁止するために使用されるポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": "resourcesharing:AcceptResourceShareInvitation",
"Resource": "*"
}
]
}
上記のポリシーは、現在のリソースディレクトリ外のアカウントからのリソース共有招待の受け入れを禁止しています。 プリンシパルとリソース所有者が同じリソースディレクトリに属している場合、リソース共有の招待は開始されません。 したがって、このポリシーは、同じリソースディレクトリ内のリソース共有には影響しません。
特定のタイプのリソースのみの共有を許可するために使用されるポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"resourcesharing:CreateResourceShare",
"resourcesharing:AssociateResourceShare"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"resourcesharing:RequestedResourceType": ["VSwitch","Image","Snapshot"]
}
}
}
]
}
上記のポリシーでは、vSwitch
、イメージ
、およびスナップショット
のみの共有が許可されています。 リソースタイプコードの詳細については、「リソース共有で動作するサービス」のリソースタイプ列をご参照ください。
特定のリソースのみの共有を許可するポリシー
ドキュメント:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"resourcesharing:CreateResourceShare",
"resourcesharing:AssociateResourceShare"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"resourcesharing:ResourceArn": [
"acs:vpc:cn-shanghai:131993166204****:vswitch/vsw-7xv4sfwo86u2etl64****",
"acs:ecs:cn-shanghai:131993166204****:snapshot/s-7xviog7aq4tenbqj****"
]
}
}
}
]
}
上記のポリシーでは、Alibaba Cloudアカウント131993166204 ****
内のvSwitch vsw-7xv4sfwo86u2etl64 ****
とスナップショットs-7xviog7aq4tenbqj ****
のみを共有できます。 リソースのAlibaba Cloudリソース名 (ARN) の詳細については、「リソース共有と連携するサービス」のリソースARN列をご参照ください。
IPAMプールのみに基づくVPC作成を許可するために使用されるポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"vpc:CreateVpc",
"vpc:AssociateVpcCidrBlock"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"Null": {
"vpc:Ipv4IpamPoolId": "true"
}
}
}
],
"Version": "1"
}
上記のポリシーでは、IPアドレスマネージャ (IPAM) プールのみに基づいてVPCを作成できます。
特定のIPAMプールのみに基づいてVPCの作成を許可するために使用されるポリシー
ドキュメント:
{
"Statement": [
{
"Action": [
"vpc:CreateVpc",
"vpc:AssociateVpcCidrBlock"
],
"Resource": "*",
"Effect": "Deny",
"Condition": {
"ForAllValues:StringNotLikeIfExists": {
"vpc:Ipv4IpamPoolId": "ipam-pool-bp1dt0ttxkrzpq5nr****"
}
}
}
],
"Version": "1"
}
上記のポリシーでは、IPAMプールのipam-pool-bp1dt0ttxkrzpq5nr ****
のみに基づいてVPCを作成できます。