アプリケーションとデータベースのアクセス許可

概要

Sitecore Installation Framework と Azure Toolkit で使用されるアプリケーションとデータベースのユーザー アクセス許可を確認する方法。

Sitecore Installation Framework (SIF) と Sitecore Azure Toolkit (SAT) により、ロールのインストール時にアプリケーションとデータベースのユーザー アクセス許可が自動的に設定されます。

特定のアプリケーションに設定されているアクセス許可を確認するには:

  1. ダウンロード ポータルから XP スケーリング パッケージをダウンロードします。

  2. .zip のルートで、設定ファイル .zip を見つけます (たとえば、XP1 Configuration files 9.1.0 rev. 001564.zip)。

  3. 目的のロールの JSON ファイルを開きます。たとえば、sitecore-XP1-cd.json ファイルでは、Content Delivery ロールのアクセス許可が定義されます。xConnect Search Indexer などのワーカー ロールのアクセス許可は、親アプリケーションにバンドルされています。

    • xconnect-xp1-collectionsearch.json: xConnect Search Indexer のアクセス許可の場合

    • xconnect-xp1-CortexProcessing.json: Sitecore Cortex™ Processing Engine のアクセス許可の場合

    • xconnect-xp1-MarketingAutomation.json: Marketing Automation Engine のアクセス許可の場合

  4. SetPermissions を検索して、アプリケーション プールのユーザー権限のリストを表示します。次の例は、Content Delivery アプリケーション プール ユーザーに設定されたアクセス許可を示しています。

          "SetPermissions": {
                "Description": "Sets permissions for the app pool user.",
                "Type": "FilePermissions",
                "Params": {
                    "Path" : "[variable('Site.PhysicalPath')]",
                    "Rights": [
                        {
                            "User": "[concat('IIS AppPool\\', parameter('SiteName'))]",
                            "FileSystemRights": "FullControl",
                            "InheritanceFlags": [ "ContainerInherit", "ObjectInherit"]
                        }
                    ]
                }
            },

    ワーカー ロールについては、SetServicePermissions を検索して、サービスのユーザー権限のリストを表示します。次の例は、xConnect Search Indexer サービス ユーザーに設定されたアクセス許可を示しています。

            "SetServicePermissions": {
                "Description": "Set permissions for the service.",
                "Type": "FilePermissions",
                "Params": {
                    "Path" : "[joinpath(variable('Services.IndexWorker.InstallPath'), 'App_Data', 'Logs')]",
                    "Rights": [
                        {
                            "User": "NT AUTHORITY\\LocalService",
                            "FileSystemRights": ["FullControl"],
                            "InheritanceFlags": [ "ContainerInherit", "ObjectInherit"]
                        }
                    ]
                }
            },

    ヒント

    SetAppPoolCertStorePermissions (SetServicesCertStorePermissionsワーカー ロールの場合) を検索して、クライアント証明書へのアプリケーション ユーザー アクセス権を確認します。

特定のデータベースに設定されているアクセス許可を確認するには:

  1. ダウンロード ポータルから、関心のあるデータベースを参照するロールの Web Deploy パッケージ (WDP) をダウンロードします。たとえば、Content Delivery ロールは Core database を参照します。WDP は、特定のロールをインストールするために必要なすべてのアセットを含む .zip ファイルです (たとえば、Sitecore 9.1.0 rev. 001564 (OnPrem)_cd.scwdp.zip は、Content Delivery ロールの WDP です)。

  2. .zip のルートで、目的のデータベースの名前を持つ .sql スクリプトを開きます。たとえば、CreateUser.Core.sql には、Core database ユーザーのすべてのアクセス許可が含まれています。

    Use [PlaceholderForDB]
    Go
    
    alter database [PlaceholderForDB] 
    set containment = partial
    go
    
    CREATE USER [PlaceHolderForUser] WITH PASSWORD = 'PlaceHolderForPassword';
    GO
    
    EXEC sp_addrolemember 'db_datareader', [PlaceHolderForUser];
    EXEC sp_addrolemember 'db_datawriter', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Membership_BasicAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Membership_FullAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Membership_ReportingAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Profile_BasicAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Profile_FullAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Profile_ReportingAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Roles_BasicAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Roles_FullAccess', [PlaceHolderForUser];
    EXEC sp_addrolemember 'aspnet_Roles_ReportingAccess', [PlaceHolderForUser];
    GO
    
    GRANT EXECUTE TO [PlaceHolderForUser];
    GO