Ошибка защиты файла с помощью MIP SDK в приложении службы / демона

может кто-нибудь помочь мне со следующей проблемой?

Сценарий. У меня есть служба Windows, работающая на виртуальной машине Azure. Сервис получает файлы, изменяет их каким-либо образом (предположим, что он добавляет настраиваемые свойства в файлы Word) и использует MIP SDK для их защиты с помощью идентификатора шаблона.

Проблема. IFileHandler.SetProtection(string)+CommitAsync(...) завершается ошибкой за следующим исключением:

Произошла одна или несколько ошибок. ServiceDiscoveryHelper :: GetServiceDetails - Невозможно вычислить домен: лицензионные домены, удостоверение и базовый URL-адрес конечной точки облака пусты, correlationId: [9add32ba-0cb7-4d31-b9d8-0000b7c694a4]

Другая информация

Фрагмент основного кода

MIP.Initialize(MipComponent.File);

var appInfo = new ApplicationInfo{
    ApplicationId = ConfigurationManager.AppSettings["AppPrincipalId"],
    ApplicationName = "App name",
    ApplicationVersion = "1.0.0",
};

var authDelegate = new AuthDelegateImplementation(appInfo);
var fileProfileSettings = new FileProfileSettings("mip_data", false,
    authDelegate, new ConsentDelegateImplementation(), appInfo, LogLevel.Trace);

var fileProfile = MIP.LoadFileProfileAsync(fileProfileSettings).Result;
var engineSettings = new FileEngineSettings("engine-id", "", "en-US"){
    Identity = new Identity($"{appInfo.ApplicationId}@<TENANT-NAME>"){
        DelegatedEmail = "<OWNER>@<TENANT-NAME>",
    },
};
var fileEngine = fileProfile.AddEngineAsync(engineSettings).Result;
var fileHandler = fileEngine.CreateFileHandlerAsync("c:\\sample.docx", "0", true).Result;
fileHandler.SetProtection(new ProtectionDescriptor("<TEMPLATE-ID>"));
var success = fileHandler.CommitAsync("c:\\encrypted.docx").Result;

AuthDelegateImplementation

public string AcquireToken(Identity identity, string authority, string resource)
    var authContext = new AuthenticationContext(authority + "/" + "<TENANT_ID>");
    var clientCredential = new ClientCredential("<CLENT_ID>", "<CLIENT_SECRET>");
    var res = await authContext.AcquireTokenAsync(resource, clientCredential);
    return res.AccessToken;
}

ConsentDelegateImplementation

public class ConsentDelegateImplementation : IConsentDelegate {
    public Consent GetUserConsent(string url) {
        return Consent.Accept;
    }
}

person Oleksii    schedule 18.07.2019    source источник


Ответы (1)


Похоже, что после тестирования локального постоянного состояния MIP (см. Свойство FileProfileSettings.Path, когда UseInMemoryStorage имеет значение flase) было повреждено. После удаления папки "mip_data" проблема исчезла.

person Oleksii    schedule 22.07.2019
comment
У меня возникает эта проблема при установке метки для файла PDF. Удаление папки не помогло. Все еще интересно, что это может быть - person Garima; 29.07.2019
comment
Можем ли мы использовать собственный адрес электронной почты в качестве содержимого водяного знака вместо сайта protection.office.com? - person Srini K; 31.07.2020