<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Docs on Speedle</title>
    <link>https://speedle.io/categories/docs/</link>
    <description>Recent content in Docs on Speedle</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 18 Jan 2019 21:19:44 +0800</lastBuildDate>
    
	<atom:link href="https://speedle.io/categories/docs/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Policy Management</title>
      <link>https://speedle.io/docs/pms/policy-mgmt/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/pms/policy-mgmt/</guid>
      <description>What is a Speedle policy? A Speedle policy is a set of criteria that specify whether a user is granted access to a particular protected resource or assignment to a particular role. You manage Speedle policies using the Speedle Policy Management Service(PMS).
Understanding the Speedle Policy Module Note: The Speedle syntax used in this document is defined in SPDL - Security Policy Definition Language.
Policy store The policy store maintains all policy artifacts and can be persisted to an etcd store or a JSON file.</description>
    </item>
    
    <item>
      <title>Usecases</title>
      <link>https://speedle.io/docs/usecases/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/usecases/</guid>
      <description>Application specific policies Alex Chan is a developer who is implementing a simple application with golang. His application requires Authorization and he doesn’t want to re-invent the wheel. Alex can use an open source choice like Speedle for Authorization.
Centalized policy enforcement and management Jin Chen is a security manager of multinational company. His team monitor dozens of internal systems. Different systems use different authorization mechanisms, different policy languages. They are eager to find a solution to manage all these systems efficiently.</description>
    </item>
    
    <item>
      <title>Global Policy</title>
      <link>https://speedle.io/docs/pms/global-policy/</link>
      <pubDate>Fri, 18 Jan 2019 21:19:44 +0800</pubDate>
      
      <guid>https://speedle.io/docs/pms/global-policy/</guid>
      <description>How global policies simplify policy management In Speedle, role policies and policies are defined and evaluated within a scope, which is called a &amp;lsquo;service&amp;rsquo;. For example, when creating a policy, you need to specify the service in which to create the policy. When calling the Authorization Decision Service API, you need to specify a service name so that the policies and role policies are evaluated within the scope of that service.</description>
    </item>
    
    <item>
      <title>Policy Diagnosis</title>
      <link>https://speedle.io/docs/pms/diagnosis/</link>
      <pubDate>Fri, 18 Jan 2019 15:46:59 +0800</pubDate>
      
      <guid>https://speedle.io/docs/pms/diagnosis/</guid>
      <description>What&amp;rsquo;s policy diagnosis Policy diagnosis is one of the Speedle&amp;rsquo;s advanced features, which is used to diagnose the evaluation process of authorization. When the evaluation result isn&amp;rsquo;t expected or a user isn&amp;rsquo;t allowed to operate on a resource, then this feature is useful to find out the reason, i.e., what&amp;rsquo;s the policy which denies the operation on the resource.
How to use policy diagnosis The usage of policy diagnosis request is almost identical to the usage of authorization decision request.</description>
    </item>
    
    <item>
      <title>Authorization Decisions</title>
      <link>https://speedle.io/docs/decisions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/decisions/</guid>
      <description>What is an authorization decision?  An authorization decision determines whether a subject performing an action on a resource is allowed.
 An authorization decision is the result of real-time evaluation based on policies and attributes.
  Ways to get authorization decisions Authorization decisions can be performed by the Authorization Decision Service or an by an embedded evaluator:
 Authorization Decision Service (ADS)  REST API Grpc API  Embedded Evaluator  Golang API   APIs and Samples The ADS decision APIs make authorization decisions based on policies that describe the actions, permissions, and roles granted to a subject.</description>
    </item>
    
    <item>
      <title>Policy Discovery</title>
      <link>https://speedle.io/docs/pms/discover/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/pms/discover/</guid>
      <description>What can discover mode do? * Help you discover existing authorization requests The is-allowed API endpoint and the discover API endpoint use the same request and response format. When you replace is-allowed with discover in the URL of the API, each authorization request that is returned shows WHO carries out WHAT action on WHICH resource. Discover mode does not evaluate the authorization decision; it simply records the authorization decision requests, along with the actions and the resources protected, and returns &amp;ldquo;is-allowed=true&amp;rdquo;.</description>
    </item>
    
    <item>
      <title>SPDL - Security Policy Definition Language</title>
      <link>https://speedle.io/docs/spdl/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/spdl/</guid>
      <description>Syntax Keywords The reserved keywords in SPDL are as follows. You cannot use any of these keywords as user name, group name, action, resource, attribute name, and so on.
 role user group entity grant deny if in on from  The keywords are all case-insensitive, which means that you cannot use one of &amp;ldquo;role&amp;rdquo;, &amp;ldquo;ROLE&amp;rdquo;, &amp;ldquo;Role&amp;rdquo;, &amp;ldquo;rOLe&amp;rdquo;, etc as user name, group name, action, resource, attribute name, and so on.</description>
    </item>
    
    <item>
      <title>Speedle Policy</title>
      <link>https://speedle.io/docs/pms/</link>
      <pubDate>Fri, 18 Jan 2019 21:19:44 +0800</pubDate>
      
      <guid>https://speedle.io/docs/pms/</guid>
      <description> Policy Management Global Policy Policy Discovery Policy Diagnosis  </description>
    </item>
    
    <item>
      <title>Identity Domain</title>
      <link>https://speedle.io/docs/idd/</link>
      <pubDate>Thu, 17 Jan 2019 13:20:07 +0800</pubDate>
      
      <guid>https://speedle.io/docs/idd/</guid>
      <description>What is an identity domain? An identity domain is a logical namespace for users and groups, typically representing a discrete set of users and groups in the physical data store. Each identity domain manages users and groups independently. User and group names must be unique in an identity domain.
How Speedle handles multiple identity domains In an integrated environment, identities may come from multiple identity domains. Consider, for example, the following policy where a user with the identifier user1 is authorized to perform a rent action on the resource book.</description>
    </item>
    
    <item>
      <title>Token asserter</title>
      <link>https://speedle.io/docs/assertor/</link>
      <pubDate>Mon, 21 Jan 2019 09:28:30 +0800</pubDate>
      
      <guid>https://speedle.io/docs/assertor/</guid>
      <description>Benefits of the token asserter An evaluation request can contain an identity token issued by any identity provider as an incoming user identity, instead of specifying the user identities (user identifier and those groups user belongs to) explicitly. When you integrate Speedle into your service, your service does not need to validate and parse identity tokens. Speedle can do it for you.
The Speedle evaluation engine checks whether the incoming request contains an identity token.</description>
    </item>
    
    <item>
      <title>API</title>
      <link>https://speedle.io/docs/api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/api/</guid>
      <description>REST APIs Policy Management Service API  Authorization Decision Service API  Token Assertion API     GRPC APIs Policy Management Service API  Authorization Decision Service API     Golang APIs Policy Management Service API  Authorization Decision Service API     Policy Management Authorization Decision Token Assertion</description>
    </item>
    
    <item>
      <title>Deployment</title>
      <link>https://speedle.io/docs/deployment/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/deployment/</guid>
      <description>Deploy Speedle in embedded mode Speedle works as a Go library. To deploy Speedle in embedded mode, simply pull Speedle from the repository and import it in golang code. The Policy Management Service (PMS) golang API is called to do policy management, and the Authorization Decision Service (ADS) golang API is called to do runtime authorization checks.
Deploy Speedle as a service You can deploy Speedle as a service on Kubernetes in these modes:</description>
    </item>
    
    <item>
      <title>Logging Framework</title>
      <link>https://speedle.io/docs/logging/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/logging/</guid>
      <description>Overview The following two open source projects are used to process log messages,
1. https://github.com/sirupsen/logrus 2. https://github.com/natefinch/lumberjack Logrus is a structured logger for Go (golang), and completely API compatible with the golang standard library logger. Note that logrus doesn&amp;rsquo;t support log rotation, and it is exactly the reason why we introduce the second project lumberjack, which provides a rolling logger. Logrus communicates with lumberjack using the io.Writer interface, please refer to the following diagram,</description>
    </item>
    
    <item>
      <title>Pluggable Storage</title>
      <link>https://speedle.io/docs/store/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/store/</guid>
      <description>Overview Speedle now supports two kinds of data store, OOTB: file store and etcd store. However, you can implement your own data store (e.g. with mongodb, etc)
 Please note the data store needs to support the watch function.  This document walks through step-by-step instructions to implement a data store.
Write store code to implement the PolicyStoreManager interface Create a &amp;ldquo;mystore&amp;rdquo; directory under store directory and navigate to it.</description>
    </item>
    
    <item>
      <title>Security</title>
      <link>https://speedle.io/docs/security/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/security/</guid>
      <description>Overview API Endpoint Security / Authentication and Authorization Authentication and authorization for client requests (other than TLS mutual auth) are not supported by Speedle.
If you want to protect Speedle API endpoints, you can use any existing/stock solutions to secure these APIs (e.g. an API Gateway like Ambassador with tokens etc).
Message security / TLS TLS is a cryptographic protocol that provides communications security, it offers many different ways of exchanging keys for authentication, encrypting data, and guaranteeing message integrity.</description>
    </item>
    
    <item>
      <title>Speedle Documents</title>
      <link>https://speedle.io/docs/</link>
      <pubDate>Thu, 17 Jan 2019 13:20:07 +0800</pubDate>
      
      <guid>https://speedle.io/docs/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Versions</title>
      <link>https://speedle.io/docs/versions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/versions/</guid>
      <description> Version 0.2.0 (planning) &amp;hellip;
Version 0.1.0 release notes: This is the first open source version. All basic functions are available in this version, including
 Policy Management Service Authorization Runtime Service Command line tool Integration samples  </description>
    </item>
    
    <item>
      <title>Custom Function</title>
      <link>https://speedle.io/docs/custom-function/</link>
      <pubDate>Mon, 21 Jan 2019 10:43:02 +0800</pubDate>
      
      <guid>https://speedle.io/docs/custom-function/</guid>
      <description>Why use custom functions? In Speedle, policies and role policies may include conditions. You can create conditions using expressions. or use the built-in functions that are provided with Speedle. If the condition is very complicated, it may be too difficult to create using expressions and built-in functions. In that case, you can use a custom function that you define, which extends the ability of the authorization engine. Custom functions supplement the built-in functions that Speedle provides, increasing the flexibility for defining conditions.</description>
    </item>
    
    <item>
      <title>Authorization Runtime/Decision API</title>
      <link>https://speedle.io/docs/api/decision_api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/api/decision_api/</guid>
      <description>              (function() { var url = &#34;\/swagger\/policy-check.yaml&#34;; const ui = SwaggerUIBundle({ url: url, dom_id: &#39;#swagger-ui&#39;, deepLinking: true, presets: [ SwaggerUIBundle.presets.apis ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], validatorUrl: null, layout: &#34;BaseLayout&#34; }) window.ui = ui })();  </description>
    </item>
    
    <item>
      <title>Integrations</title>
      <link>https://speedle.io/integrations/</link>
      <pubDate>Mon, 10 Apr 2017 16:41:54 +0100</pubDate>
      
      <guid>https://speedle.io/integrations/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Policy Management API</title>
      <link>https://speedle.io/docs/api/management_api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/api/management_api/</guid>
      <description>              (function() { var url = &#34;\/swagger\/policy-manage.yaml&#34;; const ui = SwaggerUIBundle({ url: url, dom_id: &#39;#swagger-ui&#39;, deepLinking: true, presets: [ SwaggerUIBundle.presets.apis ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], validatorUrl: null, layout: &#34;BaseLayout&#34; }) window.ui = ui })();  </description>
    </item>
    
    <item>
      <title>Token Assertion Plugin API</title>
      <link>https://speedle.io/docs/api/asserter_api/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://speedle.io/docs/api/asserter_api/</guid>
      <description>              (function() { var url = &#34;\/swagger\/asserter.yaml&#34;; const ui = SwaggerUIBundle({ url: url, dom_id: &#39;#swagger-ui&#39;, deepLinking: true, presets: [ SwaggerUIBundle.presets.apis ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], validatorUrl: null, layout: &#34;BaseLayout&#34; }) window.ui = ui })();  </description>
    </item>
    
  </channel>
</rss>