赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 安全合规
  5. 使用RAM进行访问控制
  6. 使用Project Policy管理日志服务资源访问权限

使用Project Policy管理日志服务资源访问权限

  • 使用RAM进行访问控制
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

Project Policy是日志服务推出的针对Project的授权策略,您可以通过Project Policy授权其他用户访问您指定的日志服务资源。

使用前须知

  • 通过策略语法的方式配置Project Policy前,您需要先了解Action、Resource以及Condition分类信息。更多信息,请参见资源列表、动作列表和鉴权规则。

  • 配置Project Policy时,如果授权用户选择了匿名账号(*),且不包含Condition的情况下,则Project Policy仅对Project Owner以外的所有用户生效。如果授权用户选择了匿名账号(*),且包含Condition的情况下,则Project Policy会对包含Project Owner在内的所有用户生效。

  • 您可以添加多条Project Policy,但所有Project Policy的大小不允许超过16 KB。

使用示例

  • 示例一:仅允许指定VPC ID的用户访问某个Project资源。

    下述权限策略表示仅允许来自VPC ID为t4nlw426y44rd3iq4****的请求访问名为example-project的Project 。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Deny",
                "Action": [
                    "log:*"
                ],
                "Principal": [
                    "*"
                ],
                "Resource": "acs:log:*:*:project/example-project/*",
                "Condition": {
                    "StringNotEquals": {
                        "acs:SourceVpc": [
                            "vpc-t4nlw426y44rd3iq4****"
                        ]
                    }
                }
            }
        ]
    }
  • 示例二:拒绝通过公网写入日志到Project。

    下述权限策略表示拒绝使用公网写入日志到名为exampleproject的Project。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Deny",
                "Action": [
                    "log:PostLogStoreLogs"
                ],
                "Principal": [
                    "*"
                ],
                "Resource": "acs:log:*:*:project/exampleproject/*",
                "Condition": {
                    "StringNotEquals": {
                        "acs:SourceVpc": [
                            "vpc-*"
                        ]
                    }
                }
            }
        ]
    }
  • 示例三:限制访问来源IP地址。

    下述权限策略表示只能通过192.168.0.0/16和172.16.215.218这两个IP地址访问名为exampleproject的Project。

    {
        "Version":"1",
        "Statement":[
            {
                "Effect":"Deny",
                "Action":[
                    "*"
                ],
                "Principal":[
                    "*"
                ],
                "Resource":"acs:log:*:*:project/exampleproject/*",
                "Condition":{
                    "NotIpAddress":{
                        "acs:SourceIp":[
                            "192.168.0.0/16",
                            "172.16.215.218"
                        ]
                    }
                }
            }
        ]
    }

使用Java SDK操作Project Policy

  • 使用Java SDK创建、删除、获取创建的Project Policy。示例如下:

    public class ProjectPolicyDemo {
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret
        static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        static String endPoint = "your-endpoint";
        static String projectName = "your-project";
        // Policy内容。
        static String policyText = "{\"Version\":\"1\",\"Statement\":[{\"Action\":[\"log:Post*\"],\"Resource\":\"acs:log:*:*:project/" + projectName + "/*\",\"Effect\":\"Deny\"}]}";
        static Client client = new Client(endPoint, accessKeyId, accessKey);
    
        public static void main(String[] args) throws LogException {
            client.CreateProject(projectName, "");
            client.setProjectPolicy(projectName, policyText);
            client.getProjectPolicy(projectName);
            Assert.assertEquals(policyText, client.getProjectPolicy(projectName).getPolicyText());
            client.deleteProjectPolicy(projectName);
            Assert.assertEquals("", client.getProjectPolicy(projectName).getPolicyText());
            client.DeleteProject(projectName);
        }
    }
  • 限制公网访问。示例如下:

    public class ProjectPolicyDemo {
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret
        static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        static String endPoint = "your-endpoint";
        static String projectName = "your-project";
        static Client client = new Client(endPoint, accessKeyId, accessKey);
    
        public static void main(String[] args) throws LogException {
            client.CreateProject(projectName, "");
            try {
                client.GetProject(projectName);
            } catch (LogException e) {
                Assert.fail("should not fail : " + e.GetErrorCode());
            }
            String policyText = "{  \"Version\": \"1\",\n" +
                    "   \"Statement\": [{" +
                    "   \"Action\": [\"log:*\"]," +
                    "   \"Resource\": \"*\",\n" +
                    "   \"Condition\": {\"StringNotLike\": {\"acs:SourceVpc\":[\"vpc-*\"]}}," +
                    "   \"Effect\": \"Deny\"}] }";
            client.setProjectPolicy(projectName, policyText);
            try {
                client.GetProject(projectName);
                Assert.fail("should fail");
            } catch (LogException e) {
                Assert.assertEquals("Unauthorized", e.getErrorCode());
            }
        }
    }

相关文章

简介 2025-04-22 10:30

本文介绍RAM的基本概念和相关操作,包括身份管理、资源访问控制、授权RAM用户访问日志服务、授权服务角色读取日志和授权用户角色操作日志服务。 基本概念

身份管理 2025-04-22 10:30

为确保您的阿里云账号及云资源使用安全,如非必要都应避免直接使用阿里云账号(即主账号)来访问日志服务的资源。推荐的做法是使用RAM身份(即RAM用户和RAM角色)来访问日志服务。 RAM用户 RAM用户需要由阿里云账号(即主账号)或拥有管理员

配置权限助手 2025-04-22 10:30

日志服务提供权限助手功能,简化日志服务相关的RAM权限策略配置。本文介绍如何在日志服务控制台上配置权限助手。 操作步骤

RAM自定义授权示例 2025-04-22 10:30

本文介绍常见的自定义授权策略示例。

创建RAM用户及授权 2025-04-22 10:30

创建RAM用户后,需要为RAM用户授权才能访问日志服务。本文介绍如何创建RAM用户及授权。 背景信息 在实际的应用场景中,您可能需要将日志服务交由其他运维人员来管理维护,那么您可登录阿里云账号(主账

设置资源组以限制RAM用户查看指定Project 2025-04-22 10:30

本文介绍如何通过设置资源组限制RAM用户查看指定的Project。 背景信息 在SLS控制台中,Project列表是通过调用OpenAPI ListProject接口展示的。如果用户拥有ListProject权限,默认会显示账户内所有Project。如果您希望仅授权特定的Project给RAM用户,

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号