amazonka-kendra-2.0: Amazon KendraFrontendService SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.Kendra.CreateAccessControlConfiguration

Description

Creates an access configuration for your documents. This includes user and group access information for your documents. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

You can use this to re-configure your existing document level access control without indexing all of your documents again. For example, your index contains top-secret company documents that only certain employees or users should access. One of these users leaves the company or switches to a team that should be blocked from accessing top-secret documents. The user still has access to top-secret documents because the user had access when your documents were previously indexed. You can create a specific access control configuration for the user with deny access. You can later update the access control configuration to allow access if the user returns to the company and re-joins the 'top-secret' team. You can re-configure access control for your documents as circumstances change.

To apply your access control configuration to certain documents, you call the BatchPutDocument API with the AccessControlConfigurationId included in the Document object. If you use an S3 bucket as a data source, you update the .metadata.json with the AccessControlConfigurationId and synchronize your data source. Amazon Kendra currently only supports access control configuration for S3 data sources and documents indexed using the BatchPutDocument API.

Synopsis

Creating a Request

data CreateAccessControlConfiguration Source #

See: newCreateAccessControlConfiguration smart constructor.

Constructors

CreateAccessControlConfiguration' 

Fields

  • accessControlList :: Maybe [Principal]

    Information on principals (users and/or groups) and which documents they should have access to. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

  • clientToken :: Maybe Text

    A token that you provide to identify the request to create an access control configuration. Multiple calls to the CreateAccessControlConfiguration API with the same client token will create only one access control configuration.

  • description :: Maybe Text

    A description for the access control configuration.

  • hierarchicalAccessControlList :: Maybe (NonEmpty HierarchicalPrincipal)

    The list of principal lists that define the hierarchy for which documents users should have access to.

  • indexId :: Text

    The identifier of the index to create an access control configuration for your documents.

  • name :: Text

    A name for the access control configuration.

Instances

Instances details
ToJSON CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

ToHeaders CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

ToPath CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

ToQuery CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

AWSRequest CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Generic CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Associated Types

type Rep CreateAccessControlConfiguration :: Type -> Type #

Read CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Show CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

NFData CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Eq CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Hashable CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

type AWSResponse CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

type Rep CreateAccessControlConfiguration Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

type Rep CreateAccessControlConfiguration = D1 ('MetaData "CreateAccessControlConfiguration" "Amazonka.Kendra.CreateAccessControlConfiguration" "amazonka-kendra-2.0-IHloXAWlYIS8YTp1gXe6J" 'False) (C1 ('MetaCons "CreateAccessControlConfiguration'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "accessControlList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Principal])) :*: (S1 ('MetaSel ('Just "clientToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "hierarchicalAccessControlList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty HierarchicalPrincipal))) :*: (S1 ('MetaSel ('Just "indexId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))))

newCreateAccessControlConfiguration Source #

Create a value of CreateAccessControlConfiguration with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

CreateAccessControlConfiguration, createAccessControlConfiguration_accessControlList - Information on principals (users and/or groups) and which documents they should have access to. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

$sel:clientToken:CreateAccessControlConfiguration', createAccessControlConfiguration_clientToken - A token that you provide to identify the request to create an access control configuration. Multiple calls to the CreateAccessControlConfiguration API with the same client token will create only one access control configuration.

$sel:description:CreateAccessControlConfiguration', createAccessControlConfiguration_description - A description for the access control configuration.

CreateAccessControlConfiguration, createAccessControlConfiguration_hierarchicalAccessControlList - The list of principal lists that define the hierarchy for which documents users should have access to.

$sel:indexId:CreateAccessControlConfiguration', createAccessControlConfiguration_indexId - The identifier of the index to create an access control configuration for your documents.

CreateAccessControlConfiguration, createAccessControlConfiguration_name - A name for the access control configuration.

Request Lenses

createAccessControlConfiguration_accessControlList :: Lens' CreateAccessControlConfiguration (Maybe [Principal]) Source #

Information on principals (users and/or groups) and which documents they should have access to. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

createAccessControlConfiguration_clientToken :: Lens' CreateAccessControlConfiguration (Maybe Text) Source #

A token that you provide to identify the request to create an access control configuration. Multiple calls to the CreateAccessControlConfiguration API with the same client token will create only one access control configuration.

createAccessControlConfiguration_hierarchicalAccessControlList :: Lens' CreateAccessControlConfiguration (Maybe (NonEmpty HierarchicalPrincipal)) Source #

The list of principal lists that define the hierarchy for which documents users should have access to.

createAccessControlConfiguration_indexId :: Lens' CreateAccessControlConfiguration Text Source #

The identifier of the index to create an access control configuration for your documents.

Destructuring the Response

data CreateAccessControlConfigurationResponse Source #

Constructors

CreateAccessControlConfigurationResponse' 

Fields

  • httpStatus :: Int

    The response's http status code.

  • id :: Text

    The identifier of the access control configuration for your documents in an index.

Instances

Instances details
Generic CreateAccessControlConfigurationResponse Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Read CreateAccessControlConfigurationResponse Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Show CreateAccessControlConfigurationResponse Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

NFData CreateAccessControlConfigurationResponse Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

Eq CreateAccessControlConfigurationResponse Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

type Rep CreateAccessControlConfigurationResponse Source # 
Instance details

Defined in Amazonka.Kendra.CreateAccessControlConfiguration

type Rep CreateAccessControlConfigurationResponse = D1 ('MetaData "CreateAccessControlConfigurationResponse" "Amazonka.Kendra.CreateAccessControlConfiguration" "amazonka-kendra-2.0-IHloXAWlYIS8YTp1gXe6J" 'False) (C1 ('MetaCons "CreateAccessControlConfigurationResponse'" 'PrefixI 'True) (S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

newCreateAccessControlConfigurationResponse Source #

Create a value of CreateAccessControlConfigurationResponse with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:httpStatus:CreateAccessControlConfigurationResponse', createAccessControlConfigurationResponse_httpStatus - The response's http status code.

CreateAccessControlConfigurationResponse, createAccessControlConfigurationResponse_id - The identifier of the access control configuration for your documents in an index.

Response Lenses

createAccessControlConfigurationResponse_id :: Lens' CreateAccessControlConfigurationResponse Text Source #

The identifier of the access control configuration for your documents in an index.