[ aws . lakeformation ]
batch-grant-permissions
Описание
Операция пакетного предоставления разрешений принципалу.
См. также: Документация API AWS
Синтаксис
batch-grant-permissions
[--catalog-id <value>]
--entries <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--catalog-id (строка)
--entries (список)
Список до 20 записей разрешений на ресурсы, которые будут предоставлены принципалу в рамках пакетной операции.
(структура)
Разрешение на ресурс, предоставляемое принципалу в рамках пакетной операции.
Id -> (строка)
Principal -> (структура)
Принципал, которому будут предоставлены разрешения.
DataLakePrincipalIdentifier -> (строка)
Resource -> (структура)
Ресурс, которому будет предоставлено разрешение принципалу.
Catalog -> (структура)
Идентификатор каталога данных. По умолчанию — идентификатор учетной записи. Каталог данных — это постоянное хранилище метаданных. Он содержит определения баз данных, определения таблиц и другую управляющую информацию для управления вашей средой Lake Formation.
Id -> (строка)
Database -> (структура)
База данных для ресурса. Уникальна для каталога данных. База данных — это набор связанных определений таблиц, организованных в логическую группу. Вы можете предоставлять и отзывать разрешения на базу данных для принципала.
CatalogId -> (строка)
Name -> (строка)
Table -> (структура)
Таблица для ресурса. Таблица — это определение метаданных, представляющее ваши данные. Вы можете предоставлять и отзывать права на таблицу для принципала.
CatalogId -> (строка)
DatabaseName -> (строка)
Name -> (строка)
TableWildcard -> (структура)
Объект подстановочного знака, представляющий все таблицы в базе данных.
Требуется хотя бы одно из TableResource$Name или TableResource$TableWildcard.
TableWithColumns -> (структура)
Таблица со столбцами для ресурса. Принципал с разрешениями на этот ресурс может выбирать метаданные из столбцов таблицы в каталоге данных и лежащие в основе данные в Amazon S3.
CatalogId -> (строка)
DatabaseName -> (строка)
Name -> (строка)
ColumnNames -> (список)
Список имён столбцов таблицы. Требуется хотя бы одно из ColumnNames или ColumnWildcard.
(строка)
ColumnWildcard -> (структура)
Подстановочный знак, заданный объектом ColumnWildcard. Требуется хотя бы одно из ColumnNames или ColumnWildcard.
ExcludedColumnNames -> (список)
Исключает имена столбцов. Любой столбец с таким именем будет исключён.
(строка)
DataLocation -> (структура)
Расположение пути Amazon S3, где предоставляются или отзываются разрешения.
CatalogId -> (строка)
ResourceArn -> (строка)
DataCellsFilter -> (структура)
Фильтр данных.
TableCatalogId -> (строка)
DatabaseName -> (строка)
TableName -> (строка)
Name -> (строка)
LFTag -> (структура)
Ключи и значения LF-тегов, прикреплённых к ресурсу.
CatalogId -> (строка)
TagKey -> (строка)
TagValues -> (список)
Список возможных значений, которые может принимать атрибут.
(строка)
LFTagPolicy -> (структура)
Список условий LF-тегов или сохранённых выражений LF-тегов, определяющих политику LF-тегов ресурса.
CatalogId -> (строка)
ResourceType -> (строка)
Expression -> (список)
Список условий LF-тегов или сохранённых выражений, которые применяются к политике LF-тегов ресурса.
(структура)
Структура, которая позволяет администратору предоставлять пользователям разрешения при определённых условиях. Например, предоставить роли доступ ко всем столбцам, не имеющим LF-тега «PII», в таблицах, имеющих LF-тег «Prod».
TagKey -> (строка)
TagValues -> (список)
Список возможных значений, которые может принимать атрибут.
Максимальное количество значений, которые могут быть определены для LF-тега, равно 1000. Один вызов API поддерживает 50 значений. Для добавления дополнительных значений можно использовать несколько вызовов API.
(строка)
ExpressionName -> (строка)
ExpressionName.LFTagExpression -> (структура)
Ресурс выражения LF-тега. Логическое выражение, составленное из одного или нескольких пар «ключ:значение» LF-тега.
CatalogId -> (строка)
Name -> (строка)
Permissions -> (список)
Разрешения, которые будут предоставлены.
(строка)
Condition -> (структура)
Условие Lake Formation, которое применяется к разрешениям и подпискам, содержащим выражение.
Expression -> (строка)
PermissionsWithGrantOption -> (список)
Указывает, предоставляется ли опция передачи разрешений.
(строка)
Синтаксис JSON:
[
{
"Id": "string",
"Principal": {
"DataLakePrincipalIdentifier": "string"
},
"Resource": {
"Catalog": {
"Id": "string"
},
"Database": {
"CatalogId": "string",
"Name": "string"
},
"Table": {
"CatalogId": "string",
"DatabaseName": "string",
"Name": "string",
"TableWildcard": {
}
},
"TableWithColumns": {
"CatalogId": "string",
"DatabaseName": "string",
"Name": "string",
"ColumnNames": ["string", ...],
"ColumnWildcard": {
"ExcludedColumnNames": ["string", ...]
}
},
"DataLocation": {
"CatalogId": "string",
"ResourceArn": "string"
},
"DataCellsFilter": {
"TableCatalogId": "string",
"DatabaseName": "string",
"TableName": "string",
"Name": "string"
},
"LFTag": {
"CatalogId": "string",
"TagKey": "string",
"TagValues": ["string", ...]
},
"LFTagPolicy": {
"CatalogId": "string",
"ResourceType": "DATABASE"|"TABLE",
"Expression": [
{
"TagKey": "string",
"TagValues": ["string", ...]
}
...
],
"ExpressionName": "string"
},
"LFTagExpression": {
"CatalogId": "string",
"Name": "string"
}
},
"Permissions": ["ALL"|"SELECT"|"ALTER"|"DROP"|"DELETE"|"INSERT"|"DESCRIBE"|"CREATE_DATABASE"|"CREATE_TABLE"|"DATA_LOCATION_ACCESS"|"CREATE_LF_TAG"|"ASSOCIATE"|"GRANT_WITH_LF_TAG_EXPRESSION"|"CREATE_LF_TAG_EXPRESSION"|"CREATE_CATALOG"|"SUPER_USER", ...],
"Condition": {
"Expression": "string"
},
"PermissionsWithGrantOption": ["ALL"|"SELECT"|"ALTER"|"DROP"|"DELETE"|"INSERT"|"DESCRIBE"|"CREATE_DATABASE"|"CREATE_TABLE"|"DATA_LOCATION_ACCESS"|"CREATE_LF_TAG"|"ASSOCIATE"|"GRANT_WITH_LF_TAG_EXPRESSION"|"CREATE_LF_TAG_EXPRESSION"|"CREATE_CATALOG"|"SUPER_USER", ...]
}
...
]
--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной строки JSON. Строка JSON следует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного JSON, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит скелет JSON в стандартный вывод без отправки запроса к API. Если предоставлено значение без значения или значение input, выводит пример входного JSON, который может быть использован в качестве аргумента для --cli-input-json. Аналогично, если предоставлено значение yaml-input, оно выведет пример входного YAML, который может быть использован с --cli-input-yaml. Если предоставлено значение output, оно проверит входные данные команд и вернёт пример выходного JSON для данной команды. Сгенерированный скелет JSON не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном скелете JSON.
Общие параметры
--debug (boolean)
Включить отладовую регистрацию.
--endpoint-url (string)
Переопределить значение по умолчанию URL команды заданным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI сделает только один вызов для первой страницы результатов.
--output (string)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определённый профиль из файла ключей.
--region (string)
Регион для использования. Переопределяет настройки из конфигурации/окружения.
--version (string)
Отобразить версию этого инструмента.
--color (string)
Включить/выключить вывод в цвете.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Ключи не будут загружены, если этот аргумент предоставлен.
--ca-bundle (string)
Файл с сертификатом CA для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/окружения.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (int)
Максимальное время соединения сокета в секундах. Если значение равно 0, соединение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (string)
Стиль форматирования для бинарных блоков. По умолчанию используется формат base64. Формат base64 ожидает, что бинарные блоки будут предоставлены в виде закодированной строки base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, и бинарные значения должны передаваться буквально. При предоставлении содержимого из файла, отображающего бинарный блок fileb:// всегда будет обрабатываться как бинарный и использовать содержимое файла напрямую независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для конфигурируемого cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить пейджер CLI для вывода.
--cli-auto-prompt (boolean)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическую запрос параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо иметь установленный и настроенный AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования в стиле Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. использование кавычек со строками в Руководстве пользователя AWS CLI.
Для массового предоставления разрешений на ресурсы принципалам
В следующем batch-grant-permissions примере демонстрируется массовое предоставление доступа к определённым ресурсам принципалам.
aws lakeformation batch-grant-permissions \
--cli-input-json file://input.json
Содержимое input.json:
{
"CatalogId": "123456789111",
"Entries": [{
"Id": "1",
"Principal": {
"DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer"
},
"Resource": {
"Table": {
"CatalogId": "123456789111",
"DatabaseName": "tpc",
"Name": "dl_tpc_promotion"
}
},
"Permissions": [
"ALL"
],
"PermissionsWithGrantOption": [
"ALL"
]
},
{
"Id": "2",
"Principal": {
"DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer"
},
"Resource": {
"Table": {
"CatalogId": "123456789111",
"DatabaseName": "tpc",
"Name": "dl_tpc_customer"
}
},
"Permissions": [
"ALL"
],
"PermissionsWithGrantOption": [
"ALL"
]
},
{
"Id": "3",
"Principal": {
"DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-business-analyst"
},
"Resource": {
"Table": {
"CatalogId": "123456789111",
"DatabaseName": "tpc",
"Name": "dl_tpc_promotion"
}
},
"Permissions": [
"ALL"
],
"PermissionsWithGrantOption": [
"ALL"
]
},
{
"Id": "4",
"Principal": {
"DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer"
},
"Resource": {
"DataCellsFilter": {
"TableCatalogId": "123456789111",
"DatabaseName": "tpc",
"TableName": "dl_tpc_item",
"Name": "developer_item"
}
},
"Permissions": [
"SELECT"
],
"PermissionsWithGrantOption": []
}
]
}
Вывод:
{
"Failures": []
}
Для получения более подробной информации см. раздел «Предоставление и отзыв разрешений на ресурсы каталога данных» в Руководстве разработчика AWS Lake Formation.
Выходные данные
Ошибки -> (список)
Список ошибок при предоставлении разрешений на ресурсы.
(структура)
Список ошибок при выполнении операции пакетного предоставления или пакетного отзыва разрешений.
RequestEntry -> (структура)
Идентификатор записи запроса пакета.
Id -> (строка)
Principal -> (структура)
Субъект, которому необходимо предоставить разрешение.
DataLakePrincipalIdentifier -> (строка)
Resource -> (структура)
Ресурс, которому необходимо предоставить разрешение субъекту.
Catalog -> (структура)
Идентификатор каталога данных. По умолчанию — идентификатор учетной записи. Каталог данных — это постоянное хранилище метаданных. Он содержит определения баз данных, таблиц и другую управляющую информацию для управления вашей средой Lake Formation.
Id -> (строка)
Database -> (структура)
База данных для ресурса. Уникальна для каталога данных. База данных — это набор связанных определений таблиц, организованных в логическую группу. Вы можете предоставлять и отзывать разрешения на базу данных для субъекта.
CatalogId -> (строка)
Name -> (строка)
Table -> (структура)
Таблица для ресурса. Таблица — это определение метаданных, представляющее ваши данные. Вы можете предоставлять и отзывать права на таблицу для субъекта.
CatalogId -> (строка)
DatabaseName -> (строка)
Name -> (строка)
TableWildcard -> (структура)
Объект-подстановка, представляющий все таблицы в базе данных.
Требуется хотя бы один из TableResource$Name или TableResource$TableWildcard.
TableWithColumns -> (структура)
Таблица с колонками для ресурса. Субъект с правами на этот ресурс может выбирать метаданные из колонок таблицы в каталоге данных и подлежащие данные в Amazon S3.
CatalogId -> (строка)
DatabaseName -> (строка)
Name -> (строка)
ColumnNames -> (список)
Список имён колонок таблицы. Требуется хотя бы один из ColumnNames или ColumnWildcard.
(строка)
ColumnWildcard -> (структура)
Подстановка, заданная объектом ColumnWildcard. Требуется хотя бы один из ColumnNames или ColumnWildcard.
ExcludedColumnNames -> (список)
Исключает имена колонок. Любая колонка с таким именем будет исключена.
(строка)
DataLocation -> (структура)
Расположение пути Amazon S3, где предоставляются или отзываются разрешения.
CatalogId -> (строка)
ResourceArn -> (строка)
DataCellsFilter -> (структура)
Фильтр ячеек данных.
TableCatalogId -> (строка)
DatabaseName -> (строка)
TableName -> (строка)
Name -> (строка)
LFTag -> (структура)
Ключ и значения тегов LF, прикреплённые к ресурсу.
CatalogId -> (строка)
TagKey -> (строка)
TagValues -> (список)
Список возможных значений, которые может принимать атрибут.
(строка)
LFTagPolicy -> (структура)
Список условий тегов LF или сохранённых выражений тегов LF, определяющих политику тегов LF ресурса.
CatalogId -> (строка)
ResourceType -> (строка)
Expression -> (список)
Список условий тегов LF или сохранённого выражения, применяемые к политике тегов LF ресурса.
(структура)
Структура, позволяющая администратору предоставлять права пользователям при определенных условиях. Например, предоставление ролью доступа ко всем колонкам, не имеющим тега LF «PII», в таблицах, имеющих тег LF «Prod».
TagKey -> (строка)
TagValues -> (список)
Список возможных значений, которые может принимать атрибут.
Максимальное количество значений, которые можно определить для тега LF, равно 1000. Один вызов API поддерживает 50 значений. Для добавления большего количества значений можно использовать несколько вызовов API.
(строка)
ExpressionName -> (строка)
ExpressionName.LFTagExpression -> (структура)
Ресурс выражения тега LF. Логическое выражение, составленное из одного или нескольких пар ключ:значение тега LF.
CatalogId -> (строка)
Name -> (строка)
Permissions -> (список)
Разрешения, которые необходимо предоставить.
(строка)
Condition -> (структура)
Условие Lake Formation, которое применяется к разрешениям и опциям, содержащим выражение.
Expression -> (строка)
PermissionsWithGrantOption -> (список)
Указывает, предоставлена ли возможность передачи разрешений.
(строка)
Error -> (структура)
Сообщение об ошибке, относящееся к ошибке записи.
ErrorCode -> (строка)
ErrorMessage -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.