このトピックでは、カスタムアクセス制御ポリシーの例を示します。
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****"
}
}
}
]
}
上記のポリシーでは、指定された VPC として acs:vpc:cn-shenzhen:*:vpc/vpc-wz95ya85js0avrkabc**** が使用されています。 この値は、ビジネス要件に基づいて置き換えることができます。
ドメイン名の購入を禁止するポリシー
ドキュメント:
{
"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:UpdateResourceShare",
"resourcesharing:AssociateResourceShare"
],
"Resource": "*",
"Condition": {
"StringNotEquals": {
"resourcesharing:RequestedResourceType": ["VSwitch","Image","Snapshot"]
}
}
}
]
}
上記のポリシーでは、vSwitch
、イメージ
、およびスナップショット
のみの共有が許可されています。